35 TimeLoop(std::vector<Output>&& outputs,
36 std::vector<std::unique_ptr<ProcessData>>&& per_process_data,
37 std::unique_ptr<NumLib::StaggeredCoupling>&& staggered_coupling,
62 std::size_t
const timesteps);
76 const NumLib::Time& t,
const double dt,
const std::size_t timestep_id);
89 const NumLib::Time& t,
const double dt,
const std::size_t timestep_id);
109 const double prev_dt,
NumLib::Time& t, std::size_t& accepted_steps,
110 std::size_t& rejected_steps,
111 std::vector<TimeStepConstraintCallback>
const& time_step_constraints);
113 template <
typename OutputClassMember>
116 OutputClassMember output_class_member)
const;
120 std::vector<double>&& fixed_times)
const;
122 const double dt)
const;
NumLib::NonlinearSolverStatus solveUncoupledEquationSystems(const NumLib::Time &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,...
NumLib::Time currentTime() const
void outputLastTimeStep() const
void preOutputInitialConditions(NumLib::Time const &t, const double dt) const
NumLib::TimeIncrement _dt
NumLib::Time _current_time
std::function< double(NumLib::Time const &, double)> TimeStepConstraintCallback
std::pair< NumLib::TimeIncrement, bool > computeTimeStepping(const double prev_dt, NumLib::Time &t, std::size_t &accepted_steps, std::size_t &rejected_steps, std::vector< TimeStepConstraintCallback > const &time_step_constraints)
TimeLoop(std::vector< Output > &&outputs, std::vector< std::unique_ptr< ProcessData > > &&per_process_data, std::unique_ptr< NumLib::StaggeredCoupling > &&staggered_coupling, const NumLib::Time &start_time, const NumLib::Time &end_time)
std::vector< std::unique_ptr< ProcessData > > _per_process_data
void outputSolutions(unsigned timestep, const double t, OutputClassMember output_class_member) const
std::vector< Output > _outputs
std::size_t _accepted_steps
bool successful_time_step
std::vector< GlobalVector * > _process_solutions
std::unique_ptr< NumLib::StaggeredCoupling > _staggered_coupling
void initialize()
initialize output, convergence criterion, etc.
int _repeating_times_of_rejected_step
std::size_t _rejected_steps
bool calculateNextTimeStep()
const NumLib::Time _end_time
bool preTsNonlinearSolvePostTs(NumLib::Time const &t, double const dt, std::size_t const timesteps)
NumLib::Time endTime() const
NumLib::NonlinearSolverStatus solveCoupledEquationSystemsByStaggeredScheme(const NumLib::Time &t, const double dt, const std::size_t timestep_id)
Member to solver coupled systems of equations by the staggered scheme.
std::vector< TimeStepConstraintCallback > generateOutputTimeStepConstraints(std::vector< double > &&fixed_times) const
const NumLib::Time _start_time
std::vector< GlobalVector * > _process_solutions_prev
Status of the non-linear solver.