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.
prescribed_time_incrementor.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 "time_incrementor.h"
17 
18 #include <vector>
19 
20 namespace Kratos
21 {
22 
24 {
25 public:
26  explicit PrescribedTimeIncrementor(const std::vector<double>& increments);
27 
28  [[nodiscard]] bool WantNextStep(const TimeStepEndState& rPreviousState) const override;
29  [[nodiscard]] bool WantRetryStep(std::size_t CycleNumber, const TimeStepEndState& rPreviousState) const override;
30  [[nodiscard]] double GetIncrement() const override;
31  void PostTimeStepExecution(const TimeStepEndState& rResultantState) override;
32 
33 private:
34  std::vector<double> mIncrements;
35  std::vector<double>::const_iterator mPos;
36 };
37 
38 } // namespace Kratos
Definition: prescribed_time_incrementor.h:24
bool WantRetryStep(std::size_t CycleNumber, const TimeStepEndState &rPreviousState) const override
Definition: prescribed_time_incrementor.cpp:38
bool WantNextStep(const TimeStepEndState &rPreviousState) const override
Definition: prescribed_time_incrementor.cpp:31
PrescribedTimeIncrementor(const std::vector< double > &increments)
Definition: prescribed_time_incrementor.cpp:23
void PostTimeStepExecution(const TimeStepEndState &rResultantState) override
Definition: prescribed_time_incrementor.cpp:50
double GetIncrement() const override
Definition: prescribed_time_incrementor.cpp:43
Definition: time_incrementor.h:24
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: time_step_end_state.hpp:23