OGS
anonymous_namespace{TimeLoop.cpp} Namespace Reference

Functions

void updateDeactivatedSubdomains (std::vector< std::unique_ptr< ProcessLib::ProcessData > > const &per_process_data, double const t)
bool isOutputStep (std::vector< ProcessLib::Output > const &outputs, const int timestep, const NumLib::Time &t, const NumLib::Time &end_time)
void preOutputForAllProcesses (int const timestep, NumLib::Time const &t, double const dt, const NumLib::Time &end_time, std::vector< std::unique_ptr< ProcessLib::ProcessData > > const &per_process_data, std::vector< GlobalVector * > const &process_solutions, std::vector< GlobalVector * > const &process_solutions_prev, std::vector< ProcessLib::Output > const &outputs)

Function Documentation

◆ isOutputStep()

bool anonymous_namespace{TimeLoop.cpp}::isOutputStep ( std::vector< ProcessLib::Output > const & outputs,
const int timestep,
const NumLib::Time & t,
const NumLib::Time & end_time )

Definition at line 34 of file TimeLoop.cpp.

37{
38 if (end_time == t)
39 {
40 // the last timestep is an output step
41 return true;
42 }
43
44 return ranges::any_of(outputs, [timestep, t](auto const& output)
45 { return output.isOutputStep(timestep, t); });
46}

Referenced by preOutputForAllProcesses().

◆ preOutputForAllProcesses()

void anonymous_namespace{TimeLoop.cpp}::preOutputForAllProcesses ( int const timestep,
NumLib::Time const & t,
double const dt,
const NumLib::Time & end_time,
std::vector< std::unique_ptr< ProcessLib::ProcessData > > const & per_process_data,
std::vector< GlobalVector * > const & process_solutions,
std::vector< GlobalVector * > const & process_solutions_prev,
std::vector< ProcessLib::Output > const & outputs )

Definition at line 48 of file TimeLoop.cpp.

56{
57 if (!isOutputStep(outputs, timestep, t, end_time))
58 {
59 return;
60 }
61
62 for (auto& process_data : per_process_data)
63 {
64 auto const process_id = process_data->process_id;
65 auto& pcs = process_data->process;
66
67 pcs.preOutput(t(), dt, process_solutions, process_solutions_prev,
68 process_id);
69 }
70}
bool isOutputStep(std::vector< ProcessLib::Output > const &outputs, const int timestep, const NumLib::Time &t, const NumLib::Time &end_time)
Definition TimeLoop.cpp:34

References isOutputStep().

◆ updateDeactivatedSubdomains()

void anonymous_namespace{TimeLoop.cpp}::updateDeactivatedSubdomains ( std::vector< std::unique_ptr< ProcessLib::ProcessData > > const & per_process_data,
double const t )

Definition at line 22 of file TimeLoop.cpp.

26{
27 for (auto& process_data : per_process_data)
28 {
29 process_data->process.updateDeactivatedSubdomains(
30 t, process_data->process_id);
31 }
32}