KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
time_step_executor.h
Go to the documentation of this file.
1 // KRATOS___
2 // // ) )
3 // // ___ ___
4 // // ____ //___) ) // ) )
5 // // / / // // / /
6 // ((____/ / ((____ ((___/ / MECHANICS
7 //
8 // License: geo_mechanics_application/license.txt
9 //
10 // Main authors: Wijtze Pieter Kikstra
11 // Anne van de Graaf
12 //
13 
14 #pragma once
15 
16 #include "processes/process.h"
17 #include "strategy_wrapper.hpp"
18 #include "time_step_end_state.hpp"
19 
20 #include <functional>
21 #include <memory>
22 
23 namespace Kratos
24 {
25 
27 {
28 public:
29  using ProcessRef = std::reference_wrapper<Process>;
30  using ProcessRefVec = std::vector<ProcessRef>;
31 
32  void SetSolverStrategy(std::shared_ptr<StrategyWrapper> SolverStrategy);
33  void SetProcessObservables(const std::vector<std::weak_ptr<Process>>& rProcessObservables);
34  TimeStepEndState Run(double Time);
35 
36 private:
37  std::shared_ptr<StrategyWrapper> mStrategyWrapper;
38  std::vector<std::weak_ptr<Process>> mProcessObservables;
39 };
40 
41 } // namespace Kratos
Definition: time_step_executor.h:27
void SetProcessObservables(const std::vector< std::weak_ptr< Process >> &rProcessObservables)
Definition: time_step_executor.cpp:24
void SetSolverStrategy(std::shared_ptr< StrategyWrapper > SolverStrategy)
Definition: time_step_executor.cpp:19
TimeStepEndState Run(double Time)
Definition: time_step_executor.cpp:29
std::vector< ProcessRef > ProcessRefVec
Definition: time_step_executor.h:30
std::reference_wrapper< Process > ProcessRef
Definition: time_step_executor.h:29
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: time_step_end_state.hpp:23