64 std::string
const& output_directory);
74 std::vector<std::unique_ptr<ProcessLib::Process>>
const&
getProcesses()
96 void parseMedia(std::optional<BaseLib::ConfigTree>
const& media_config);
103 std::string
const& output_directory,
104 std::unique_ptr<ChemistryLib::ChemicalSolverInterface>&&
105 chemical_solver_interface);
109 const std::string& output_directory);
115 void parseCurves(std::optional<BaseLib::ConfigTree>
const& config);
117 std::unique_ptr<ChemistryLib::ChemicalSolverInterface>
119 std::optional<BaseLib::ConfigTree>
const& config,
120 const std::string& output_directory);
123 std::vector<std::unique_ptr<ProcessLib::Process>>
_processes;
127 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
_parameters;
131 std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>>
_media;
138 std::map<std::string, std::unique_ptr<NumLib::NonlinearSolverBase>>
140 std::map<std::string,
141 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
Definition of the PiecewiseLinearInterpolation class.
std::vector< int > splitMaterialIdString(std::string const &material_id_string)
Time loop capable of time-integrating several processes at once.
std::map< std::string, std::unique_ptr< GlobalLinearSolver > > _linear_solvers
std::optional< ParameterLib::CoordinateSystem > _local_coordinate_system
ProcessLib::TimeLoop & getTimeLoop()
std::map< std::string, std::unique_ptr< NumLib::NonlinearSolverBase > > _nonlinear_solvers
void parseProcesses(BaseLib::ConfigTree const &processes_config, std::string const &project_directory, std::string const &output_directory, std::unique_ptr< ChemistryLib::ChemicalSolverInterface > &&chemical_solver_interface)
std::unique_ptr< ChemistryLib::ChemicalSolverInterface > parseChemicalSolverInterface(std::optional< BaseLib::ConfigTree > const &config, const std::string &output_directory)
void parseMedia(std::optional< BaseLib::ConfigTree > const &media_config)
Parses media configuration and saves them in an object.
void parseLinearSolvers(BaseLib::ConfigTree const &config)
std::vector< std::unique_ptr< ParameterLib::ParameterBase > > _parameters
Buffer for each parameter config passed to the process.
std::vector< std::unique_ptr< ProcessLib::Process > > _processes
std::vector< std::unique_ptr< ProcessLib::Process > > const & getProcesses() const
Provides read access to the process container.
void parseNonlinearSolvers(BaseLib::ConfigTree const &config)
std::vector< ProcessLib::ProcessVariable > _process_variables
void parseProcessVariables(BaseLib::ConfigTree const &process_variables_config)
std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > _curves
void parseCurves(std::optional< BaseLib::ConfigTree > const &config)
std::vector< std::unique_ptr< MeshLib::Mesh > > _mesh_vec
void parseTimeLoop(BaseLib::ConfigTree const &config, const std::string &output_directory)
Parses the time loop configuration.
std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > _media
ProjectData(ProjectData &)=delete
std::vector< std::string > parseParameters(BaseLib::ConfigTree const ¶meters_config)
std::unique_ptr< ProcessLib::TimeLoop > _time_loop
The time loop used to solve this project's processes.