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.
advance_in_time_high_cycle_fatigue_process.h
Go to the documentation of this file.
1 // KRATOS ___ _ _ _ _ _ __ _
2 // / __\___ _ __ ___| |_(_) |_ _ _| |_(_)_ _____ / / __ ___ _____ /_\ _ __ _ __
3 // / / / _ \| '_ \/ __| __| | __| | | | __| \ \ / / _ \/ / / _` \ \ /\ / / __| //_\\| '_ \| '_ |
4 // / /__| (_) | | | \__ \ |_| | |_| |_| | |_| |\ V / __/ /__| (_| |\ V V /\__ \/ _ \ |_) | |_) |
5 // \____/\___/|_| |_|___/\__|_|\__|\__,_|\__|_| \_/ \___\____/\__,_| \_/\_/ |___/\_/ \_/ .__/| .__/
6 // |_| |_|
7 //
8 // License: BSD License
9 // Kratos default license: kratos/license.txt
10 //
11 // Main authors: Sergio Jimenez Reyes
12 //
13 
14 #pragma once
15 
16 #include "processes/process.h"
17 #include "includes/model_part.h"
18 
19 namespace Kratos
20 {
23 
27 
31 
35 
39 
46 class KRATOS_API(CONSTITUTIVE_LAWS_APPLICATION)AdvanceInTimeHighCycleFatigueProcess : public Process
47 {
50 
54 
55 protected:
56 
57 
58 public:
59  static constexpr double tolerance = std::numeric_limits<double>::epsilon();
60 
63 
69  AdvanceInTimeHighCycleFatigueProcess(ModelPart& rModelPart, Parameters ThisParameters);
70 
71  // Destructor
73 
74  void Execute() override;
75 
80  void CyclePeriodPerIntegrationPoint(bool& rCycleFound);
81 
87  void StableConditionForAdvancingStrategy(bool& rAdvancingStrategy, bool DamageIndicator);
88 
93  void TimeIncrement(double& rIncrement);
94 
99  void TimeAndCyclesUpdate(const double Increment);
100 
101 protected:
102  // Member Variables
103  ModelPart& mrModelPart; // The model part to compute
105 
106 }; // Class AdvanceInTimeHighCycleFatigueProcess
107 
108 } // namespace Kratos
This class determines the advance in time to be performed for a regular cyclic load for the high cycl...
Definition: advance_in_time_high_cycle_fatigue_process.h:47
Parameters mThisParameters
Definition: advance_in_time_high_cycle_fatigue_process.h:104
KRATOS_CLASS_POINTER_DEFINITION(AdvanceInTimeHighCycleFatigueProcess)
Pointer definition of ApplyMultipointConstraintsProcess.
ModelPart & mrModelPart
Definition: advance_in_time_high_cycle_fatigue_process.h:103
~AdvanceInTimeHighCycleFatigueProcess() override=default
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
The base class for all processes in Kratos.
Definition: process.h:49
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21