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.
strategy_wrapper.hpp
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 <cstddef>
17 
18 #include "time_step_end_state.hpp"
19 
20 namespace Kratos
21 {
23 {
24 public:
25  virtual ~StrategyWrapper() = default;
26 
27  [[nodiscard]] virtual std::size_t GetNumberOfIterations() const = 0;
28  [[nodiscard]] virtual double GetEndTime() const = 0;
29  virtual void SetEndTime(double EndTime) = 0;
30  [[nodiscard]] virtual double GetTimeIncrement() const = 0;
31  virtual void SetTimeIncrement(double TimeIncrement) = 0;
32  [[nodiscard]] virtual std::size_t GetStepNumber() const = 0;
33  virtual void IncrementStepNumber() = 0;
34  virtual void CloneTimeStep() = 0;
38  virtual void OutputProcess() = 0;
39 
40  virtual void Initialize() = 0;
41  virtual void InitializeOutput() = 0;
42  virtual void InitializeSolutionStep() = 0;
43  virtual void Predict() = 0;
45  virtual void FinalizeSolutionStep() = 0;
46  virtual void FinalizeOutput() = 0;
47 };
48 } // namespace Kratos
Definition: strategy_wrapper.hpp:23
virtual std::size_t GetNumberOfIterations() const =0
virtual void CloneTimeStep()=0
virtual void OutputProcess()=0
virtual void SaveTotalDisplacementFieldAtStartOfTimeLoop()=0
virtual void RestorePositionsAndDOFVectorToStartOfStep()=0
virtual void IncrementStepNumber()=0
virtual void InitializeSolutionStep()=0
virtual double GetTimeIncrement() const =0
virtual void SetEndTime(double EndTime)=0
virtual double GetEndTime() const =0
virtual void FinalizeOutput()=0
virtual void FinalizeSolutionStep()=0
virtual std::size_t GetStepNumber() const =0
virtual void Initialize()=0
virtual void InitializeOutput()=0
virtual void AccumulateTotalDisplacementField()=0
virtual void SetTimeIncrement(double TimeIncrement)=0
virtual TimeStepEndState::ConvergenceState SolveSolutionStep()=0
virtual void Predict()=0
virtual ~StrategyWrapper()=default
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
ConvergenceState
Definition: time_step_end_state.hpp:24