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_loop_executor_interface.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: Richard Faasse
11 // Anne van de Graaf
12 // Wijtze Pieter Kikstra
13 //
14 
15 #pragma once
16 
17 #include <functional>
18 #include <memory>
19 #include <vector>
20 
21 #include "strategy_wrapper.hpp"
22 #include "time_incrementor.h"
23 #include "time_step_end_state.hpp"
24 
25 namespace Kratos
26 {
27 
28 class Process;
29 
31 {
32 public:
33  virtual ~TimeLoopExecutorInterface() = default;
34  virtual void SetCancelDelegate(const std::function<bool()>& rCancelDelegate) = 0;
35  virtual void SetProgressDelegate(const std::function<void(double)>& rProgressDelegate) = 0;
36  virtual void SetProcessObservables(const std::vector<std::weak_ptr<Process>>& rProcessObservables) = 0;
37  virtual void SetTimeIncrementor(std::unique_ptr<TimeIncrementor> pTimeIncrementor) = 0;
38  virtual void SetSolverStrategyWrapper(std::shared_ptr<StrategyWrapper> pStrategyWrapper) = 0;
39  virtual std::vector<TimeStepEndState> Run(const TimeStepEndState& EndState) = 0;
40 };
41 
42 } // namespace Kratos
Definition: time_loop_executor_interface.h:31
virtual void SetProgressDelegate(const std::function< void(double)> &rProgressDelegate)=0
virtual void SetSolverStrategyWrapper(std::shared_ptr< StrategyWrapper > pStrategyWrapper)=0
virtual std::vector< TimeStepEndState > Run(const TimeStepEndState &EndState)=0
virtual void SetCancelDelegate(const std::function< bool()> &rCancelDelegate)=0
virtual void SetProcessObservables(const std::vector< std::weak_ptr< Process >> &rProcessObservables)=0
virtual ~TimeLoopExecutorInterface()=default
virtual void SetTimeIncrementor(std::unique_ptr< TimeIncrementor > pTimeIncrementor)=0
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: time_step_end_state.hpp:23