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.
mc_strain_softening_plastic_flow_rule.hpp
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Bodhinanda Chandra
11 //
12 
13 
14 #if !defined(KRATOS_MC_STRAIN_SOFTENING_PLASTIC_FLOW_RULE_H_INCLUDED )
15 #define KRATOS_MC_STRAIN_SOFTENING_PLASTIC_FLOW_RULE_H_INCLUDED
16 
17 // System includes
18 #include <cmath>
19 
20 // External includes
21 
22 // Project includes
24 
25 
26 namespace Kratos
27 {
30 
33 
37 
38 //};
42 
46 
50 
52 
54 class KRATOS_API(PARTICLE_MECHANICS_APPLICATION) MCStrainSofteningPlasticFlowRule
55  :public MCPlasticFlowRule
56 {
57 
58 
59 
60 public:
63 
66 
70 
73 
76 
79 
82 
83  // CLONE
84  ParticleFlowRule::Pointer Clone() const override;
85 
88 
89  bool UpdateInternalVariables( RadialReturnVariables& rReturnMappingVariables, const Properties& rProp ) override;
90 
94 
95 
99 
100 
104 
105 
109 
110 
114 
118 
119 
121 
122 protected:
123 
127 
128  void UpdateMaterialParameters(const Properties& rProp);
129 
133 
134 
138 
139 
141 
142 private:
145 
146 
150 
151 
155 
156 
160 
161 
165 
166 
170  friend class Serializer;
171 
172  // A private default constructor necessary for serialization
173 
174  void save(Serializer& rSerializer) const override;
175 
176  void load(Serializer& rSerializer) override;
177 
181 
182 
186 
188 
189 }; // Class NonLinearAssociativePlasticFlowRule
190 
192 
195 
196 
200 
201 
203 // inline std::istream& operator >> (std::istream& rIStream,
204 // NonLinearAssociativePlasticFlowRule& rThis);
205 
206 // /// output stream function
207 // inline std::ostream& operator << (std::ostream& rOStream,
208 // const NonLinearAssociativePlasticFlowRule& rThis)
209 // {
210 // rThis.PrintInfo(rOStream);
211 // rOStream << std::endl;
212 // rThis.PrintData(rOStream);
213 
214 // return rOStream;
215 // }
217 
219 
220 
221 
225 
226 
228 
229 
230 } // namespace Kratos.
231 
232 #endif // KRATOS_MC_STRAIN_SOFTENING_PLASTIC_FLOW_RULE_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: mc_plastic_flow_rule.hpp:69
Short class definition.
Definition: mc_strain_softening_plastic_flow_rule.hpp:56
KRATOS_CLASS_POINTER_DEFINITION(MCStrainSofteningPlasticFlowRule)
Pointer definition of NonLinearAssociativePlasticFlowRule.
ParticleYieldCriterion::Pointer YieldCriterionPointer
Definition: particle_flow_rule.hpp:66
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: particle_flow_rule.hpp:130