12#ifndef ARCANE_CORE_ITIMELOOPMNG_H
13#define ARCANE_CORE_ITIMELOOPMNG_H
29enum class eTimeLoopEventType
80 virtual void build() = 0;
209 virtual void setBackwardMng(
IBackwardMng* backward_mng) = 0;
Declarations of Arcane's general types.
Interface managing backward strategies.
Interface of a module entry point.
Interface of a mesh partitioner.
Interface of an observable.
Interface of the subdomain manager.
Interface for the time loop manager.
virtual EntryPointCollection loopEntryPoints()=0
Returns the list of 'ComputeLoop' type entry points in the time loop.
virtual Integer nbLoop() const =0
Number of compute loops performed.
virtual void timeLoopsName(StringCollection &names) const =0
Returns in names the list of time loop names.
virtual void timeLoops(TimeLoopCollection &time_loops) const =0
Returns in time_loops the list of time loops.
virtual ITimeLoop * createTimeLoop(const String &name)=0
Creates a time loop named name.
virtual int doComputeLoop(Integer max_loop=0)=0
Executes the compute loop.
virtual void execBuildEntryPoints()=0
Executes the build entry points.
virtual IEntryPoint * currentEntryPoint()=0
Returns the entry point currently being executed or 0 if there is none.
virtual EntryPointCollection usedTimeLoopEntryPoints()=0
List of all entry points for the current time loop.
virtual void goBackward()=0
Performs a backward step.
virtual eTimeLoopStopReason stopReason() const =0
Reason for stopping the code.
virtual void setVerificationActive(bool is_active)=0
Positions the state of the verification mode.
virtual void doVerification(const String &name)=0
Performs a verification.
virtual ITimeLoop * usedTimeLoop() const =0
Returns the time loop used.
virtual IEntryPoint * nextEntryPoint()=0
Returns the next entry point to execute or 0 if there is none.
virtual void execOnMeshRefinementEntryPoints()=0
Executes the entry points after refinement.
virtual bool isDoingBackward()=0
True if currently in a backward step.
virtual void execInitEntryPoints(bool is_continue)=0
Executes the initialization entry points.
virtual void stopComputeLoop(bool is_final_time, bool has_error=false)=0
Indicates that the compute loop must stop.
virtual void setStopReason(eTimeLoopStopReason reason)=0
Positions the reason for stopping the code.
virtual void registerTimeLoop(ITimeLoop *time_loop)=0
Registration and selection of the time loop.
virtual void setBackwardSavePeriod(Integer n)=0
Positions the period between two saves for backward step. If this value is null, backward step is dis...
virtual Real cpuTimeUsed() const =0
Returns the CPU time used in seconds.
virtual IObservable * observable(eTimeLoopEventType type)=0
Observable on the instance.
virtual void setUsedTimeLoop(const String &name)=0
Positions the time loop to be executed. Selects the time loop named name as the one to be executed....
virtual ~ITimeLoopMng()
Frees resources.
virtual void registerActionMeshPartition(IMeshPartitionerBase *mesh_partitioner)=0
Schedules a mesh partitioning using the partition tool mesh_partitioner.
virtual int doOneIteration()=0
Starts the execution of a compute loop iteration.
virtual void doExecNextEntryPoint(bool &is_last)=0
virtual void execOnMeshChangedEntryPoints()=0
Executes the entry points after load balancing.
virtual bool finalTimeReached() const =0
Returns true if the final time has been reached.
virtual void execExitEntryPoints()=0
Executes the exit entry points.
virtual ISubDomain * subDomain() const =0
< Returns the sub-domain manager
Interface of a time loop.
Unicode character string.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
eTimeLoopStopReason
Reason for stopping the code.
@ MaxIterationReached
Stop because maximum number of iterations specified was reached.
@ NoStop
Indicates that the code is not yet in stop mode.
@ FinalTimeReached
Stop because final time was reached.
@ NoReason
No specific reason.
@ Error
Stop due to an error.
Int32 Integer
Type representing an integer.
Collection< String > StringCollection
Collection of strings.
Collection< ITimeLoop * > TimeLoopCollection
Collection of time loops.
double Real
Type representing a real number.
Collection< IEntryPoint * > EntryPointCollection
Collection of entry points.