MoReFEM
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Private Attributes
MoReFEM::TimeManager< EvolutionPolicyT > Class Template Reference

Class in charge of managing the elapsing of time within the simulation. More...

#include <TimeManager.hpp>

Inheritance diagram for MoReFEM::TimeManager< EvolutionPolicyT >:
Collaboration diagram for MoReFEM::TimeManager< EvolutionPolicyT >:

Public Types

using self = TimeManager<EvolutionPolicyT>
 Convenient alias.
 
using unique_ptr = std::unique_ptr<TimeManager>
 Alias to unique_ptr.
 
using evolution_policy_parent = EvolutionPolicyT
 Alias to the template argument used to define how happens time evolution.
 

Public Member Functions

const FilesystemNS::FileGetTimeIterationFile () const noexcept
 Path to the time iteration file in which the files written are recorded with their time index.
 
Canonical methods for class
template<::MoReFEM::Concept::ModelSettingsType ModelSettingsT, ::MoReFEM::Concept::InputDataType InputDataT>
 TimeManager (const Wrappers::Mpi &mpi, const ModelSettingsT &model_settings, const InputDataT &input_data, program_type the_program_type, std::optional< std::reference_wrapper< const FilesystemNS::Directory > > result_directory)
 Constructor.
 
 TimeManager ()=default
 Defaut constructor, to use only in tests!
 
 ~TimeManager ()=default
 Destructor.
 
 TimeManager (const self &rhs)=delete
 The copy constructor.
 
 TimeManager (self &&rhs)=delete
 The move constructor.
 
selfoperator= (const self &rhs)=delete
 The (copy) operator=.
 
selfoperator= (self &&rhs)=delete
 The (move) operator=.
 

Static Public Attributes

static constexpr bool ConceptIsTimeManager = true
 Helper variable to define the MoReFEM::Advanced::Concept::InputDataNS concept.
 

Private Attributes

FilesystemNS::File time_iteration_file_
 Path to the time iteration file in which the files written are recorded with their time index.
 

Detailed Description

template<Concept::TimeManagerTimeStepPolicy EvolutionPolicyT>
class MoReFEM::TimeManager< EvolutionPolicyT >

Class in charge of managing the elapsing of time within the simulation.

[internal] Must not be confused with TimeKeep() which is a chronometer to evaluate efficiency of the code.

Restart mode may be enabled only if EvolutionPolicyT declares a method with interface SetRestartForEvolutionPolicy(const InterpretOutputFilesNS::Data::TimeIteration& restart_time_data);

Constructor & Destructor Documentation

◆ TimeManager() [1/3]

template<Concept::TimeManagerTimeStepPolicy EvolutionPolicyT>
template<::MoReFEM::Concept::ModelSettingsType ModelSettingsT, ::MoReFEM::Concept::InputDataType InputDataT>
MoReFEM::TimeManager< EvolutionPolicyT >::TimeManager ( const Wrappers::Mpi & mpi,
const ModelSettingsT & model_settings,
const InputDataT & input_data,
program_type the_program_type,
std::optional< std::reference_wrapper< const FilesystemNS::Directory > > result_directory )

Constructor.

Parameters
[in]input_dataObject which hold the values of all the input data that were defined in the Lua file (and that is thus modifiable by the end user). Example (in most of the models): the shape function to use for an Unknown in a FEltSpace.
Parameters
[in]model_settingsObject which hold the values of all the input data that should not be modifiable by the end user. Example (in most of the models): NumberingSubset in which an Unknown should be allotted in a FEltSpace.
[in]mpiMpi object which knows the rank of the processor, the total number of processors, etc...
[in]the_program_typeWhether a model, a test, a post-processing program is run.
[in]result_directoryResult directory into which all outputs will be written. May be left undefined (for tests)

◆ TimeManager() [2/3]

template<Concept::TimeManagerTimeStepPolicy EvolutionPolicyT>
MoReFEM::TimeManager< EvolutionPolicyT >::TimeManager ( const self & rhs)
delete

The copy constructor.

Parameters
[in]rhsThe object from which the construction occurs.

◆ TimeManager() [3/3]

template<Concept::TimeManagerTimeStepPolicy EvolutionPolicyT>
MoReFEM::TimeManager< EvolutionPolicyT >::TimeManager ( self && rhs)
delete

The move constructor.

Parameters
[in]rhsThe object from which the construction occurs.

Member Function Documentation

◆ operator=() [1/2]

template<Concept::TimeManagerTimeStepPolicy EvolutionPolicyT>
self & MoReFEM::TimeManager< EvolutionPolicyT >::operator= ( const self & rhs)
delete

The (copy) operator=.

Parameters
[in]rhsThe object from which the affectation occurs.
Returns
Reference to the object (to enable chained affectation).

◆ operator=() [2/2]

template<Concept::TimeManagerTimeStepPolicy EvolutionPolicyT>
self & MoReFEM::TimeManager< EvolutionPolicyT >::operator= ( self && rhs)
delete

The (move) operator=.

Parameters
[in]rhsThe object from which the affectation occurs.
Returns
Reference to the object (to enable chained affectation).

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