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 
18 namespace BaseLib
19 {
20 class ConfigTree;
21 }
22 
23 namespace MeshLib
24 {
25 class Mesh;
26 }
27 
28 namespace NumLib
29 {
30 class NonlinearSolverBase;
31 }
32 
33 namespace ProcessLib
34 {
35 class TimeLoop;
36 class Process;
37 }
38 
39 namespace ProcessLib
40 {
42 std::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>> const& meshes);
48 
49 } // 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 >> const &meshes)
Builds a TimeLoop from the given configuration.