OGS
CreateTimeLoop.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <map>
7#include <memory>
8#include <string>
9#include <vector>
10
11namespace BaseLib
12{
13class ConfigTree;
14}
15
16namespace MeshLib
17{
18class Mesh;
19}
20
21namespace NumLib
22{
24}
25
26namespace ProcessLib
27{
28class TimeLoop;
29class Process;
30} // namespace ProcessLib
31
32namespace ProcessLib
33{
35std::unique_ptr<TimeLoop> createTimeLoop(
36 BaseLib::ConfigTree const& config, std::string const& output_directory,
37 std::vector<std::unique_ptr<Process>> const& processes,
38 std::map<std::string, std::unique_ptr<NumLib::NonlinearSolverBase>> const&
39 nonlinear_solvers,
40 std::vector<std::unique_ptr<MeshLib::Mesh>>& meshes,
41 bool const compensate_non_equilibrium_initial_residuum);
42
43} // namespace ProcessLib
Time loop capable of time-integrating several processes at once.
Definition TimeLoop.h:33
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.