OGS
CreateTimeLoop.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <map>
14#include <memory>
15#include <string>
16#include <vector>
17
18namespace BaseLib
19{
20class ConfigTree;
21}
22
23namespace MeshLib
24{
25class Mesh;
26}
27
28namespace NumLib
29{
30class NonlinearSolverBase;
31}
32
33namespace ProcessLib
34{
35class TimeLoop;
36class Process;
37} // namespace ProcessLib
38
39namespace ProcessLib
40{
42std::unique_ptr<TimeLoop> createTimeLoop(
43 BaseLib::ConfigTree const& config, std::string const& output_directory,
44 std::vector<std::unique_ptr<Process>> const& processes,
45 std::map<std::string, std::unique_ptr<NumLib::NonlinearSolverBase>> const&
46 nonlinear_solvers,
47 std::vector<std::unique_ptr<MeshLib::Mesh>>& meshes,
48 bool const compensate_non_equilibrium_initial_residuum);
49
50} // namespace ProcessLib
std::unique_ptr< TimeLoop > createTimeLoop(BaseLib::ConfigTree const &config, std::string const &output_directory, const std::vector< std::unique_ptr< Process > > &processes, const std::map< std::string, std::unique_ptr< NumLib::NonlinearSolverBase > > &nonlinear_solvers, std::vector< std::unique_ptr< MeshLib::Mesh > > &meshes, bool const compensate_non_equilibrium_initial_residuum)
Builds a TimeLoop from the given configuration.