Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ArcanePostProcessingModule Class Reference

Output module for post-processing. More...

Inheritance diagram for Arcane::ArcanePostProcessingModule:
Collaboration diagram for Arcane::ArcanePostProcessingModule:

Public Member Functions

 ArcanePostProcessingModule (const ModuleBuildInfo &mbi)
VersionInfo versionInfo () const override
 Module version.
void exportData () override
 Checks and writes the values for post-processing.
void exportDataStart () override
 Entry point at the beginning of an iteration.
void postProcessingStartInit () override
void postProcessingInit () override
void postProcessingExit () override
 Post-processing information at the end of the calculation loop.
Public Member Functions inherited from ArcaneArcanePostProcessingObject
 ArcaneArcanePostProcessingObject (const Arcane::ModuleBuildInfo &mb)
CaseOptionsArcanePostProcessingoptions () const
 Options du jeu de données du module.
Public Member Functions inherited from Arcane::BasicModule
 ~BasicModule () override
 Destructor.
Public Member Functions inherited from Arcane::AbstractModule
 AbstractModule (const ModuleBuildInfo &)
 Constructor from a ModuleBuildInfo.
virtual ~AbstractModule ()
 Destructor.
String name () const override
 Module name.
ISessionsession () const override
 Session associated with the module.
ISubDomainsubDomain () const override
 Sub-domain associated with the module.
IMeshdefaultMesh () const override
 Default mesh for this module.
MeshHandle defaultMeshHandle () const override
 Default mesh for this module.
IParallelMngparallelMng () const override
 Message passing parallelism manager.
IAcceleratorMngacceleratorMng () const override
 Accelerator manager.
ITraceMngtraceMng () const override
 Trace manager.
void setUsed (bool v) override
 Sets the module usage flag.
bool used () const override
 Returns the module usage status.
void setDisabled (bool v) override
 Sets the module activation flag.
bool disabled () const override
 Returns the module activation status.
bool isGarbageCollected () const override
 Indicates if the module uses a Garbage collection system.
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IModule
virtual ~IModule ()
 Destructor.
Public Member Functions inherited from Arcane::MeshAccessor
 MeshAccessor (ISubDomain *sd)
 MeshAccessor (IMesh *mesh)
 MeshAccessor (const MeshHandle &mesh_handle)
Integer nbCell () const
 Returns the number of cells in the mesh.
Integer nbFace () const
 Returns the number of faces in the mesh.
Integer nbEdge () const
 Returns the number of edges in the mesh.
Integer nbNode () const
 Returns the number of nodes in the mesh.
VariableNodeReal3nodesCoordinates () const
 Returns the coordinates of the mesh nodes.
NodeGroup allNodes () const
 Returns the group containing all nodes.
EdgeGroup allEdges () const
 Returns the group containing all edges.
FaceGroup allFaces () const
 Returns the group containing all faces.
CellGroup allCells () const
 Returns the group containing all cells.
FaceGroup outerFaces () const
 Returns the group containing all boundary faces.
NodeGroup ownNodes () const
 Returns the group containing all nodes specific to this domain.
CellGroup ownCells () const
 Returns the group containing all cells specific to this domain.
FaceGroup ownFaces () const
 Group containing all faces specific to this domain.
EdgeGroup ownEdges () const
 Group containing all edges specific to this domain.
IMeshmesh () const
const MeshHandlemeshHandle () const
Public Member Functions inherited from Arcane::CommonVariables
 CommonVariables (IModule *c)
 Constructs the references of the common variables for the module c.
 CommonVariables (IVariableMng *variable_mng)
 Constructs the references of the common variables for the manager variable_mng.
 CommonVariables (ISubDomain *sd)
 Constructs the references of the common variables for the subdomain sd.
virtual ~CommonVariables ()
 Releases resources.
Int32 globalIteration () const
 Current iteration number.
Real globalTime () const
 Current time.
Real globalOldTime () const
 Previous current time.
Real globalFinalTime () const
 Final time of the simulation.
Real globalDeltaT () const
 Current Delta T.
Real globalCPUTime () const
 CPU time used (in seconds).
Real globalOldCPUTime () const
 Previous CPU time used (in seconds).
Real globalElapsedTime () const
 Clock time (elapsed) used (in seconds).
Real globalOldElapsedTime () const
 Previous clock time (elapsed) used (in seconds).

Private Member Functions

void _readConfig ()
void _saveAtTime (Real)
void _checkCreateOutputDir ()
void _markCurrentIterationPostProcessing ()
 Marks variables as post-processed during this iteration.
void _resetCurrentIterationPostProcessing ()
 Removes tags from variables post-processed during this iteration.
void _checkExternalPlugin ()

Private Attributes

OutputChecker m_output_checker
OutputChecker m_history_output_checker
VariableArrayReal m_times
 Time points of saves.
bool m_is_output_active = true
bool m_is_output_at_current_iteration = false
 Indicates if outputs are performed during this iteration.
Directory m_output_directory
 Output directory.
bool m_output_dir_created = false
 true if directory created.
VariableList m_variables
 List of variables to export.
ItemGroupList m_groups
 List of groups to export.
Timerm_post_processor_timer = nullptr
 Timer for time spent writing.
bool m_is_plugin_initialized = false

Additional Inherited Members

Static Public Member Functions inherited from ArcaneArcanePostProcessingObject
static void fillServiceInfo (Arcane::ServiceInfo *si)
Static Public Member Functions inherited from Arcane::AbstractModule
static void staticInitialize (ISubDomain *sd)
 Initialization of the module for the sub-domain sd.
Public Attributes inherited from Arcane::CommonVariables
VariableScalarInt32 m_global_iteration
 Current iteration.
VariableScalarReal m_global_time
 Current time.
VariableScalarReal m_global_deltat
 Global Delta T.
VariableScalarReal m_global_old_time
 Time previous to the current time.
VariableScalarReal m_global_old_deltat
 Delta T at the time previous to the global time.
VariableScalarReal m_global_final_time
 Final time of the case.
VariableScalarReal m_global_old_cpu_time
 Previous CPU time used (in seconds).
VariableScalarReal m_global_cpu_time
 CPU time used (in seconds).
VariableScalarReal m_global_old_elapsed_time
 Previous clock time used (in seconds).
VariableScalarReal m_global_elapsed_time
 Clock time used (in seconds).
Protected Member Functions inherited from Arcane::BasicModule
 BasicModule (const ModuleBuildInfo &)
 Constructor from a ModuleBuildInfo.
Protected Member Functions inherited from Arcane::AbstractModule
void _setVersionInfo (const VersionInfo &vi)
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const
Protected Attributes inherited from ArcaneArcanePostProcessingObject
Arcane::VariableScalarInteger m_next_iteration
 Variables du module.
Arcane::VariableScalarReal m_next_global_time
Arcane::VariableScalarInteger m_curves_next_iteration
Arcane::VariableScalarReal m_curves_next_global_time
Arcane::VariableScalarInteger m_history_next_iteration

Detailed Description

Output module for post-processing.

When this module is connected, it manages the outputs for post-processing.

If no variable is specified, no output is performed. The #m_do_output field is then false.

Definition at line 61 of file ArcanePostProcessingModule.cc.

Constructor & Destructor Documentation

◆ ArcanePostProcessingModule()

Arcane::ArcanePostProcessingModule::ArcanePostProcessingModule ( const ModuleBuildInfo & mbi)
explicit

Definition at line 116 of file ArcanePostProcessingModule.cc.

◆ ~ArcanePostProcessingModule()

Arcane::ArcanePostProcessingModule::~ArcanePostProcessingModule ( )
override

Definition at line 133 of file ArcanePostProcessingModule.cc.

Member Function Documentation

◆ _checkCreateOutputDir()

void Arcane::ArcanePostProcessingModule::_checkCreateOutputDir ( )
private

Definition at line 216 of file ArcanePostProcessingModule.cc.

◆ _checkExternalPlugin()

void Arcane::ArcanePostProcessingModule::_checkExternalPlugin ( )
private

Definition at line 433 of file ArcanePostProcessingModule.cc.

◆ _markCurrentIterationPostProcessing()

void Arcane::ArcanePostProcessingModule::_markCurrentIterationPostProcessing ( )
private

Marks variables as post-processed during this iteration.

Definition at line 420 of file ArcanePostProcessingModule.cc.

References Arcane::IVariable::addTag(), m_is_output_at_current_iteration, m_variables, and Arcane::IVariable::TAG_POST_PROCESSING_AT_THIS_ITERATION.

Referenced by exportDataStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _readConfig()

◆ _resetCurrentIterationPostProcessing()

void Arcane::ArcanePostProcessingModule::_resetCurrentIterationPostProcessing ( )
private

Removes tags from variables post-processed during this iteration.

Definition at line 404 of file ArcanePostProcessingModule.cc.

References m_is_output_at_current_iteration, m_variables, Arcane::IVariable::removeTag(), and Arcane::IVariable::TAG_POST_PROCESSING_AT_THIS_ITERATION.

Here is the call graph for this function:

◆ _saveAtTime()

void Arcane::ArcanePostProcessingModule::_saveAtTime ( Real saved_time)
private

Definition at line 362 of file ArcanePostProcessingModule.cc.

◆ exportData()

void Arcane::ArcanePostProcessingModule::exportData ( )
overridevirtual

Checks and writes the values for post-processing.

Implements ArcaneArcanePostProcessingObject.

Definition at line 317 of file ArcanePostProcessingModule.cc.

References Arcane::ISubDomain::commonVariables(), Arcane::CommonVariables::globalTime(), m_is_output_at_current_iteration, and Arcane::AbstractModule::subDomain().

Here is the call graph for this function:

◆ exportDataStart()

void Arcane::ArcanePostProcessingModule::exportDataStart ( )
overridevirtual

◆ postProcessingExit()

void Arcane::ArcanePostProcessingModule::postProcessingExit ( )
overridevirtual

Post-processing information at the end of the calculation loop.

Performs an output for post-processing if we are at the final time. This output is only done at the final time and guarantees that the file will be the same regardless of the number of protections performed.

Implements ArcaneArcanePostProcessingObject.

Definition at line 286 of file ArcanePostProcessingModule.cc.

References Arcane::IPostProcessorWriter::close(), Arcane::ISubDomain::commonVariables(), Arcane::CommonVariables::globalTime(), Arcane::TraceAccessor::info(), m_post_processor_timer, ArcaneArcanePostProcessingObject::options(), and Arcane::AbstractModule::subDomain().

Here is the call graph for this function:

◆ postProcessingInit()

void Arcane::ArcanePostProcessingModule::postProcessingInit ( )
overridevirtual

Implements ArcaneArcanePostProcessingObject.

Definition at line 229 of file ArcanePostProcessingModule.cc.

◆ postProcessingStartInit()

void Arcane::ArcanePostProcessingModule::postProcessingStartInit ( )
overridevirtual

Implements ArcaneArcanePostProcessingObject.

Definition at line 265 of file ArcanePostProcessingModule.cc.

◆ versionInfo()

VersionInfo Arcane::ArcanePostProcessingModule::versionInfo ( ) const
inlineoverridevirtual

Module version.

Reimplemented from Arcane::AbstractModule.

Definition at line 71 of file ArcanePostProcessingModule.cc.

Member Data Documentation

◆ m_groups

ItemGroupList Arcane::ArcanePostProcessingModule::m_groups
private

List of groups to export.

Definition at line 93 of file ArcanePostProcessingModule.cc.

Referenced by _readConfig().

◆ m_history_output_checker

OutputChecker Arcane::ArcanePostProcessingModule::m_history_output_checker
private

Definition at line 85 of file ArcanePostProcessingModule.cc.

◆ m_is_output_active

bool Arcane::ArcanePostProcessingModule::m_is_output_active = true
private

true if outputs are active

Definition at line 87 of file ArcanePostProcessingModule.cc.

Referenced by _readConfig(), and exportDataStart().

◆ m_is_output_at_current_iteration

bool Arcane::ArcanePostProcessingModule::m_is_output_at_current_iteration = false
private

Indicates if outputs are performed during this iteration.

Definition at line 89 of file ArcanePostProcessingModule.cc.

Referenced by _markCurrentIterationPostProcessing(), _resetCurrentIterationPostProcessing(), exportData(), and exportDataStart().

◆ m_is_plugin_initialized

bool Arcane::ArcanePostProcessingModule::m_is_plugin_initialized = false
private

Definition at line 95 of file ArcanePostProcessingModule.cc.

◆ m_output_checker

OutputChecker Arcane::ArcanePostProcessingModule::m_output_checker
private

Definition at line 84 of file ArcanePostProcessingModule.cc.

◆ m_output_dir_created

bool Arcane::ArcanePostProcessingModule::m_output_dir_created = false
private

true if directory created.

Definition at line 91 of file ArcanePostProcessingModule.cc.

◆ m_output_directory

Directory Arcane::ArcanePostProcessingModule::m_output_directory
private

Output directory.

Definition at line 90 of file ArcanePostProcessingModule.cc.

◆ m_post_processor_timer

Timer* Arcane::ArcanePostProcessingModule::m_post_processor_timer = nullptr
private

Timer for time spent writing.

Definition at line 94 of file ArcanePostProcessingModule.cc.

Referenced by postProcessingExit().

◆ m_times

VariableArrayReal Arcane::ArcanePostProcessingModule::m_times
private

Time points of saves.

Definition at line 86 of file ArcanePostProcessingModule.cc.

◆ m_variables

VariableList Arcane::ArcanePostProcessingModule::m_variables
private

The documentation for this class was generated from the following file: