OGS
ProcessData.h
Go to the documentation of this file.
1 
11 #pragma once
12 
15 #include "NumLib/ODESolver/Types.h"
17 
19 #include "Process.h"
20 
21 namespace ProcessLib
22 {
24 {
25  ProcessData(std::unique_ptr<NumLib::TimeStepAlgorithm>&& timestepper_,
26  NumLib::NonlinearSolverTag const nonlinear_solver_tag_,
27  NumLib::NonlinearSolverBase& nonlinear_solver_,
28  std::unique_ptr<NumLib::ConvergenceCriterion>&& conv_crit_,
29  std::unique_ptr<NumLib::TimeDiscretization>&& time_disc_,
30  int const process_id_,
31  Process& process_)
32  : timestepper(std::move(timestepper_)),
33  nonlinear_solver_tag(nonlinear_solver_tag_),
34  nonlinear_solver(nonlinear_solver_),
35  nonlinear_solver_status{true, 0},
36  conv_crit(std::move(conv_crit_)),
37  time_disc(std::move(time_disc_)),
38  process_id(process_id_),
39  process(process_)
40  {
41  }
42 
44  : timestepper(std::move(pd.timestepper)),
48  conv_crit(std::move(pd.conv_crit)),
49  time_disc(std::move(pd.time_disc)),
50  tdisc_ode_sys(std::move(pd.tdisc_ode_sys)),
52  process(pd.process)
53  {
54  }
55 
56  std::unique_ptr<NumLib::TimeStepAlgorithm> timestepper;
57 
63  std::unique_ptr<NumLib::ConvergenceCriterion> conv_crit;
64 
65  std::unique_ptr<NumLib::TimeDiscretization> time_disc;
67  std::unique_ptr<NumLib::EquationSystem> tdisc_ode_sys;
68 
69  int const process_id;
70 
72 };
73 } // namespace ProcessLib
NonlinearSolverTag
Tag used to specify which nonlinear solver will be used.
Definition: Types.h:20
Status of the non-linear solver.
std::unique_ptr< NumLib::TimeDiscretization > time_disc
Definition: ProcessData.h:65
ProcessData(std::unique_ptr< NumLib::TimeStepAlgorithm > &&timestepper_, 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::TimeStepAlgorithm > timestepper
Definition: ProcessData.h:56
ProcessData(ProcessData &&pd)
Definition: ProcessData.h:43
std::unique_ptr< NumLib::ConvergenceCriterion > conv_crit
Definition: ProcessData.h:63
NumLib::NonlinearSolverStatus nonlinear_solver_status
Definition: ProcessData.h:62
NumLib::NonlinearSolverBase & nonlinear_solver
Definition: ProcessData.h:61
std::unique_ptr< NumLib::EquationSystem > tdisc_ode_sys
type-erased time-discretized ODE system
Definition: ProcessData.h:67
NumLib::NonlinearSolverTag const nonlinear_solver_tag
Definition: ProcessData.h:60