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.
non_linear_rate_dependent_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 2018 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_NON_LINEAR_RATE_DEPENDENT_PLASTIC_FLOW_RULE_H_INCLUDED )
11 #define KRATOS_NON_LINEAR_RATE_DEPENDENT_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 
50  {
51  public:
54 
57 
61 
64 
67 
70 
73 
76 
77 
81 
86  FlowRule::Pointer Clone() const override;
87 
88 
92 
93 
97 
98 
102 
103 
107 
108  // /// Turn back information as a string.
109  // virtual std::string Info() const;
110 
111  // /// Print information about this object.
112  // virtual void PrintInfo(std::ostream& rOStream) const;
113 
114  // /// Print object's data.
115  // virtual void PrintData(std::ostream& rOStream) const;
116 
117 
121 
122 
124 
125  protected:
128 
129 
133 
134 
138 
139 
143 
144 
145  bool CalculateConsistencyCondition( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables, YieldCriterion::Parameters& rCriterionParameters) override;
146 
147  bool CalculateRateDependentConsistency( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables, YieldCriterion::Parameters& rCriterionParameters);
148 
149  bool CalculateRateIndependentConsistency( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables, YieldCriterion::Parameters& rCriterionParameters );
150 
151  double CalculateLineSearch( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables, YieldCriterion::Parameters& rCriterionParameters );
152 
153  //implex protected methods
154 
155  void CalculateImplexReturnMapping( RadialReturnVariables& rReturnMappingVariables, InternalVariables& rPlasticVariables, YieldCriterion::Parameters& rCriterionParameters, Matrix& rIsoStressMatrix ) override;
156 
157 
161 
162 
166 
167 
171 
172 
174 
175  private:
178 
179 
183 
184 
188 
189 
193 
194 
198 
199 
203  friend class Serializer;
204 
205  // A private default constructor necessary for serialization
206 
207  void save(Serializer& rSerializer) const override;
208 
209  void load(Serializer& rSerializer) override;
210 
214 
215 
219 
221 
222  }; // Class NonLinearRateDependentPlasticFlowRule
223 
225 
228 
229 
233 
234 
236  // inline std::istream& operator >> (std::istream& rIStream,
237  // NonLinearRateDependentPlasticFlowRule& rThis);
238 
239  // /// output stream function
240  // inline std::ostream& operator << (std::ostream& rOStream,
241  // const NonLinearRateDependentPlasticFlowRule& rThis)
242  // {
243  // rThis.PrintInfo(rOStream);
244  // rOStream << std::endl;
245  // rThis.PrintData(rOStream);
246 
247  // return rOStream;
248  // }
250 
252 
253 
254 
258 
259 
261 
262 
263 } // namespace Kratos.
264 
265 #endif // KRATOS_NON_LINEAR_RATE_DEPENDENT_PLASTIC_FLOW_RULE_H_INCLUDED defined
266 
267 
YieldCriterion::Pointer YieldCriterionPointer
Definition: flow_rule.hpp:56
Short class definition.
Definition: non_linear_associative_plastic_flow_rule.hpp:50
Short class definition.
Definition: non_linear_rate_dependent_plastic_flow_rule.hpp:50
FlowRule::Pointer Clone() const override
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:64
double CalculateLineSearch(RadialReturnVariables &rReturnMappingVariables, InternalVariables &rPlasticVariables, YieldCriterion::Parameters &rCriterionParameters)
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:273
NonLinearRateDependentPlasticFlowRule()
Default constructor.
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:29
void CalculateImplexReturnMapping(RadialReturnVariables &rReturnMappingVariables, InternalVariables &rPlasticVariables, YieldCriterion::Parameters &rCriterionParameters, Matrix &rIsoStressMatrix) override
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:357
NonLinearRateDependentPlasticFlowRule & operator=(NonLinearRateDependentPlasticFlowRule const &rOther)
Assignment operator.
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:46
~NonLinearRateDependentPlasticFlowRule() override
Destructor.
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:73
bool CalculateRateDependentConsistency(RadialReturnVariables &rReturnMappingVariables, InternalVariables &rPlasticVariables, YieldCriterion::Parameters &rCriterionParameters)
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:123
KRATOS_CLASS_POINTER_DEFINITION(NonLinearRateDependentPlasticFlowRule)
Pointer definition of NonLinearRateDependentPlasticFlowRule.
bool CalculateConsistencyCondition(RadialReturnVariables &rReturnMappingVariables, InternalVariables &rPlasticVariables, YieldCriterion::Parameters &rCriterionParameters) override
Operations.
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:83
bool CalculateRateIndependentConsistency(RadialReturnVariables &rReturnMappingVariables, InternalVariables &rPlasticVariables, YieldCriterion::Parameters &rCriterionParameters)
Definition: non_linear_rate_dependent_plastic_flow_rule.cpp:203
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