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.
tresca_explicit_plastic_flow_rule.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosPfemSolidMechanicsApplication $
3 // Created by: $Author: LMonforte $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: July 2015 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_TRESCA_PLASTIC_FLOW_RULE_H_INCLUDED )
11 #define KRATOS_TRESCA_PLASTIC_FLOW_RULE_H_INCLUDED
12 
13 
14 // System includes
15 
16 // External includes
17 
18 // Project includes
20 
21 namespace Kratos
22 {
25 
28 
32 
36 
40 
44 
46 
48  class KRATOS_API(PFEM_SOLID_MECHANICS_APPLICATION) TrescaExplicitFlowRule
49  :public J2ExplicitFlowRule
50  {
51 
52 
53 
54  public:
57 
60 
64 
67 
70 
73 
76 
77  // CLONE
78  FlowRule::Pointer Clone() const override;
79 
81  virtual ~TrescaExplicitFlowRule();
82 
83 
87 
88 
92 
93 
97 
98 
102 
103 
107 
108  // /// Turn back information as a string.
109  // std::string Info() const override;
110 
111  // /// Print information about this object.
112  // void PrintInfo(std::ostream& rOStream) const override;
113 
114  // /// Print object's data.
115  // void PrintData(std::ostream& rOStream) const override;
116 
117 
121 
122 
124 
125  protected:
128 
129 
133 
134 
138 
139 
143 
144 
145 
146  void ComputePlasticHardeningParameter(const Vector& rHenckyStrainVector, const double& rAlpha, double& rH) override;
147 
148 // bool CalculateConsistencyCondition( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables );
149 
150 
151  //void UpdateConfiguration( ExponentialReturnVariables& rReturnMappingVariables, Matrix & rIsoStressMatrix );
152 
153  void CalculatePlasticPotentialDerivatives(const Vector& rStressVector, Vector& rFirstDerivative, Matrix& rSecondDerivative) override;
154 
155 // void CalculateInvariantsAndDerivatives(const Vector& rStressVector, InvariantsStructure& rInv);
156 
160 
161 
165 
166 
170 
171 
173 
174  private:
177 
178 
182 
183 
187 
188 
192 
193 
197 
198 
202  friend class Serializer;
203 
204  // A private default constructor necessary for serialization
205 
206  void save(Serializer& rSerializer) const override;
207 
208  void load(Serializer& rSerializer) override;
209 
213 
214 
218 
220 
221  }; // Class NonLinearAssociativePlasticFlowRule
222 
224 
227 
228 
232 
233 
235  // inline std::istream& operator >> (std::istream& rIStream,
236  // NonLinearAssociativePlasticFlowRule& rThis);
237 
238  // /// output stream function
239  // inline std::ostream& operator << (std::ostream& rOStream,
240  // const NonLinearAssociativePlasticFlowRule& rThis)
241  // {
242  // rThis.PrintInfo(rOStream);
243  // rOStream << std::endl;
244  // rThis.PrintData(rOStream);
245 
246  // return rOStream;
247  // }
249 
251 
252 
253 
257 
258 
260 
261 
262 } // namespace Kratos.
263 
264 #endif // KRATOS_MATSUOKA_NAKAI_PLASTIC_FLOW_RULE_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
YieldCriterion::Pointer YieldCriterionPointer
Definition: flow_rule.hpp:56
Short class definition.
Definition: J2_explicit_plastic_flow_rule.hpp:51
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Short class definition.
Definition: tresca_explicit_plastic_flow_rule.hpp:50
KRATOS_CLASS_POINTER_DEFINITION(TrescaExplicitFlowRule)
Pointer definition of NonLinearAssociativePlasticFlowRule.
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307