23 class ConvergenceCriterion;
28 class ChemicalSolverInterface;
39 TimeLoop(std::unique_ptr<Output>&& output,
40 std::vector<std::unique_ptr<ProcessData>>&& per_process_data,
41 const int global_coupling_max_iterations,
42 std::vector<std::unique_ptr<NumLib::ConvergenceCriterion>>&&
43 global_coupling_conv_crit,
44 const double start_time,
const double end_time);
72 const double t,
const double dt,
const std::size_t timestep_id);
85 const double t,
const double dt,
const std::size_t timestep_id);
99 std::size_t& accepted_steps,
100 std::size_t& rejected_steps);
102 template <
typename OutputClass,
typename OutputClassMember>
103 void outputSolutions(
bool const output_initial_condition,
unsigned timestep,
104 const double t, OutputClass& output_object,
105 OutputClassMember output_class_member)
const;
121 std::vector<std::unique_ptr<NumLib::ConvergenceCriterion>>
Time loop capable of time-integrating several processes at once.
void outputSolutions(bool const output_initial_condition, unsigned timestep, const double t, OutputClass &output_object, OutputClassMember output_class_member) const
std::vector< GlobalVector * > _solutions_of_last_cpl_iteration
std::vector< std::size_t > _xdot_vector_ids
NumLib::NonlinearSolverStatus solveUncoupledEquationSystems(const double t, const double dt, const std::size_t timestep_id)
Member to solver non coupled systems of equations, which can be a single system of equations,...
std::vector< std::unique_ptr< ProcessData > > _per_process_data
double computeTimeStepping(const double prev_dt, double &t, std::size_t &accepted_steps, std::size_t &rejected_steps)
std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > _global_coupling_conv_crit
Convergence criteria of processes for the global coupling iterations.
void setCoupledSolutions()
const int _global_coupling_max_iterations
Maximum iterations of the global coupling.
std::vector< GlobalVector * > _process_solutions
std::unique_ptr< Output > _output
void initialize()
initialize output, convergence criterion, etc.
int _repeating_times_of_rejected_step
TimeLoop(std::unique_ptr< Output > &&output, std::vector< std::unique_ptr< ProcessData >> &&per_process_data, const int global_coupling_max_iterations, std::vector< std::unique_ptr< NumLib::ConvergenceCriterion >> &&global_coupling_conv_crit, const double start_time, const double end_time)
std::vector< GlobalVector * > _process_solutions_prev
NumLib::NonlinearSolverStatus solveCoupledEquationSystemsByStaggeredScheme(const double t, const double dt, const std::size_t timestep_id)
Member to solver coupled systems of equations by the staggered scheme.
Status of the non-linear solver.