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.
linear_associative_plastic_flow_rule.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosSolidMechanicsApplication $
3 // Created by: $Author: JMCarbonell $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: July 2013 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_ASSOCIATIVE_PLASTIC_FLOW_RULE_H_INCLUDED)
11 #define KRATOS_ASSOCIATIVE_PLASTIC_FLOW_RULE_H_INCLUDED
12 
13 // System includes
14 
15 // External includes
16 
17 // Project includes
19 
20 namespace Kratos
21 {
24 
27 
31 
35 
39 
43 
45 
47  class KRATOS_API(SOLID_MECHANICS_APPLICATION) LinearAssociativePlasticFlowRule
49  {
50  public:
53 
56 
60 
63 
66 
69 
72 
75 
76 
80 
85  FlowRule::Pointer Clone() const override;
86 
90 
91  //void CalculateScalingFactors(const RadialReturnVariables& rReturnMappingVariables, PlasticFactors& rScalingFactors );
92 
96 
97 
101 
102 
106 
107  // /// Turn back information as a string.
108  // virtual std::string Info() const;
109 
110  // /// Print information about this object.
111  // virtual void PrintInfo(std::ostream& rOStream) const;
112 
113  // /// Print object's data.
114  // virtual void PrintData(std::ostream& rOStream) const;
115 
116 
120 
121 
123 
124  protected:
127 
128 
132 
133 
137 
138 
142 
143  bool CalculateConsistencyCondition( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables, YieldCriterion::Parameters& rCriterionParameters ) override;
144 
145 
149 
150 
154 
155 
159 
160 
162 
163  private:
166 
167 
171 
172 
176 
177 
181 
182 
186 
187 
191  friend class Serializer;
192 
193  // A private default constructor necessary for serialization
194 
195  void save(Serializer& rSerializer) const override;
196 
197  void load(Serializer& rSerializer) override;
198 
202 
203 
207 
209 
210  }; // Class LinearAssociativePlasticFlowRule
211 
213 
216 
217 
221 
222 
223  // /// input stream function
224  // inline std::istream& operator >> (std::istream& rIStream,
225  // LinearAssociativePlasticFlowRule& rThis);
226 
227  // /// output stream function
228  // inline std::ostream& operator << (std::ostream& rOStream,
229  // const LinearAssociativePlasticFlowRule& rThis)
230  // {
231  // rThis.PrintInfo(rOStream);
232  // rOStream << std::endl;
233  // rThis.PrintData(rOStream);
234 
235  // return rOStream;
236  // }
238 
240 
241 
242 
246 
247 
249 
250 
251 } // namespace Kratos.
252 
253 #endif // KRATOS_ASSOCIATIVE_PLASTIC_FLOW_RULE_H_INCLUDED defined
254 
255 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
YieldCriterion::Pointer YieldCriterionPointer
Definition: flow_rule.hpp:56
Short class definition.
Definition: linear_associative_plastic_flow_rule.hpp:49
KRATOS_CLASS_POINTER_DEFINITION(LinearAssociativePlasticFlowRule)
Pointer definition of LinearAssociativePlasticFlowRule.
Short class definition.
Definition: non_linear_associative_plastic_flow_rule.hpp:50
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: flow_rule.hpp:175
Definition: flow_rule.hpp:121
Definition: yield_criterion.hpp:54