OGS
ProcessData.h
Go to the documentation of this file.
1
11#pragma once
12
19#include "Process.h"
20
21namespace ProcessLib
22{
24{
26 NumLib::TimeStep timestep_previous_, NumLib::TimeStep timestep_current_,
27 std::unique_ptr<NumLib::TimeStepAlgorithm>&& timestep_algorithm_,
28 NumLib::NonlinearSolverTag const nonlinear_solver_tag_,
29 NumLib::NonlinearSolverBase& nonlinear_solver_,
30 std::unique_ptr<NumLib::ConvergenceCriterion>&& conv_crit_,
31 std::unique_ptr<NumLib::TimeDiscretization>&& time_disc_,
32 int const process_id_, Process& process_)
33 : timestep_previous(timestep_previous_),
34 timestep_current(timestep_current_),
35 timestep_algorithm(std::move(timestep_algorithm_)),
36 nonlinear_solver_tag(nonlinear_solver_tag_),
37 nonlinear_solver(nonlinear_solver_),
39 conv_crit(std::move(conv_crit_)),
40 time_disc(std::move(time_disc_)),
41 process_id(process_id_),
42 process(process_)
43 {
44 }
45
53 conv_crit(std::move(pd.conv_crit)),
54 time_disc(std::move(pd.time_disc)),
55 tdisc_ode_sys(std::move(pd.tdisc_ode_sys)),
58 {
59 }
60
63 std::unique_ptr<NumLib::TimeStepAlgorithm> timestep_algorithm;
64
70 std::unique_ptr<NumLib::ConvergenceCriterion> conv_crit;
71
72 std::unique_ptr<NumLib::TimeDiscretization> time_disc;
74 std::unique_ptr<NumLib::EquationSystem> tdisc_ode_sys;
75
76 int const process_id;
77
79};
80
81void setEquationSystem(ProcessData const& process_data);
82
83} // namespace ProcessLib
Time step object.
Definition: TimeStep.h:28
NonlinearSolverTag
Tag used to specify which nonlinear solver will be used.
Definition: Types.h:20
void setEquationSystem(ProcessData const &process_data)
Definition: ProcessData.cpp:17
Status of the non-linear solver.
NumLib::TimeStep timestep_current
Definition: ProcessData.h:62
std::unique_ptr< NumLib::TimeDiscretization > time_disc
Definition: ProcessData.h:72
ProcessData(ProcessData &&pd)
Definition: ProcessData.h:46
ProcessData(NumLib::TimeStep timestep_previous_, NumLib::TimeStep timestep_current_, std::unique_ptr< NumLib::TimeStepAlgorithm > &&timestep_algorithm_, NumLib::NonlinearSolverTag const nonlinear_solver_tag_, NumLib::NonlinearSolverBase &nonlinear_solver_, std::unique_ptr< NumLib::ConvergenceCriterion > &&conv_crit_, std::unique_ptr< NumLib::TimeDiscretization > &&time_disc_, int const process_id_, Process &process_)
Definition: ProcessData.h:25
std::unique_ptr< NumLib::ConvergenceCriterion > conv_crit
Definition: ProcessData.h:70
NumLib::NonlinearSolverStatus nonlinear_solver_status
Definition: ProcessData.h:69
NumLib::NonlinearSolverBase & nonlinear_solver
Definition: ProcessData.h:68
NumLib::TimeStep timestep_previous
Definition: ProcessData.h:61
std::unique_ptr< NumLib::TimeStepAlgorithm > timestep_algorithm
Definition: ProcessData.h:63
std::unique_ptr< NumLib::EquationSystem > tdisc_ode_sys
type-erased time-discretized ODE system
Definition: ProcessData.h:74
NumLib::NonlinearSolverTag const nonlinear_solver_tag
Definition: ProcessData.h:67