Manages the initialisation of the solvers, the methods depending to the solvers and the start of the ...
std::vector< MInt > m_solverTimingsTimeStep
MInt m_noGlobalSolverTimers
MInt gridType(const MString solverType)
Return the type of grid for a given solver type.
std::vector< MString > m_solverTimingsNames
MInt m_restartBackupInterval
The number of timesteps before executing a restart-backup.
MBool m_writeAllSolverTimings
Switch timings mode between ALL timings (default) and a reduced/essential timings mode.
std::vector< std::unique_ptr< Solver > > m_solvers
The list of solvers.
void cleanUp()
call cleanup functions in all solvers and couplers before returning from the application
ExecutionRecipe * createRecipe()
This function handels the creation of the execution recipe.
static MBool * readPropertiesGroups()
Reads in the properties groups.
void collectTimingsAndSolverInformation(const MBool finalTimeStep)
Collect the timings of all solvers and domain decomposition information.
MInt m_solverTimingsWriteInterval
Write interval for timings.
Application & operator=(const Application &)=delete
MBool m_ppAfterTS
post-processing in-solve position
std::vector< std::unique_ptr< Coupling > > m_couplers
The list of couplers.
std::vector< MFloat > m_solverTimingsPrevTime
MInt m_solverTimingsSampleInterval
Sampling interval for timings.
Application(Application &&)=delete
MInt m_noPostProcessing
The number of postprocessing solvers.
MInt m_maxIterations
Maximum number of iterations.
MBool m_initialAdaptation
Initial adaptation.
void createCoupler(MInt)
This function handels the creation of new couplers.
std::vector< std::vector< MFloat > > m_solverTimings
MBool m_displayMemoryStatistics
Memory statistics controller.
MInt m_noCouplers
The number of couplers.
MInt getInitialTimeStep(const MBool restartFile, const MPI_Comm comm)
Return the initial global time step.
Application & operator=(Application &&)=delete
void storeTimingsAndSolverInformation(const MBool finalTimeStep)
Store timings for all solvers and domain decomposition information on all domains.
MInt m_noSolvers
The number of solvers.
std::vector< std::pair< MString, MInt > > m_domainInfo
MBool m_writeSolverTimings
Solver/coupler timings for performance evaluations.
void initTimings()
Initialize the collection of solver/coupler timings for performance evaluations.
const MInt m_maxNoSolverTimings
void createSolver(CartesianGrid< nDim > *grid, const MInt solverId, Geometry< nDim > *geometry, MBool *propertiesGroup, MBool &isActive)
This function handels the creation of new solvers.
PostProcessingInterface * createPostProcessing(MInt)
This function handels the creation of the Postprocessing classes.
Application()
Gets initial data from the property file and creates the solvers and methods.
Application(const Application &)=delete
Base recipe provides public interface to Application.
Parent class of all solvers This class is the base for all solvers. I.e. all solver class (e....
std::basic_string< char > MString