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 33 of file TimeLoop.cpp.

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

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 47 of file TimeLoop.cpp.

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

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 21 of file TimeLoop.cpp.

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