OGS
ProcessData.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <string>
14
20#include "Process.h"
21
22namespace ProcessLib
23{
25{
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_, std::string&& process_name_, Process& process_)
33 : 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_name(std::move(process_name_)),
43 process(process_)
44 {
45 }
46
47 ProcessData(ProcessData&& pd) = delete;
48 ProcessData& operator=(ProcessData const& pd) = delete;
50
51 std::unique_ptr<NumLib::TimeStepAlgorithm> timestep_algorithm;
54
60 std::unique_ptr<NumLib::ConvergenceCriterion> conv_crit;
61
62 std::unique_ptr<NumLib::TimeDiscretization> time_disc;
64 std::unique_ptr<NumLib::EquationSystem> tdisc_ode_sys;
65
66 int const process_id;
67 std::string const process_name;
68
70};
71
72void setEquationSystem(ProcessData const& process_data);
73
74} // 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.
ProcessData(ProcessData &&pd)=delete
NumLib::TimeStep timestep_current
Definition: ProcessData.h:53
ProcessData & operator=(ProcessData &&pd)=delete
std::unique_ptr< NumLib::TimeDiscretization > time_disc
Definition: ProcessData.h:62
ProcessData & operator=(ProcessData const &pd)=delete
ProcessData(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_, std::string &&process_name_, Process &process_)
Definition: ProcessData.h:26
std::unique_ptr< NumLib::ConvergenceCriterion > conv_crit
Definition: ProcessData.h:60
NumLib::NonlinearSolverStatus nonlinear_solver_status
Definition: ProcessData.h:59
std::string const process_name
Definition: ProcessData.h:67
NumLib::NonlinearSolverBase & nonlinear_solver
Definition: ProcessData.h:58
NumLib::TimeStep timestep_previous
Definition: ProcessData.h:52
std::unique_ptr< NumLib::TimeStepAlgorithm > timestep_algorithm
Definition: ProcessData.h:51
std::unique_ptr< NumLib::EquationSystem > tdisc_ode_sys
type-erased time-discretized ODE system
Definition: ProcessData.h:64
NumLib::NonlinearSolverTag const nonlinear_solver_tag
Definition: ProcessData.h:57