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.
mises_huber_yield_criterion.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_MISES_HUBER_YIELD_CRITERION_H_INCLUDED)
11 #define KRATOS_MISES_HUBER_YIELD_CRITERION_H_INCLUDED
12 
13 
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "custom_constitutive/custom_yield_criteria/yield_criterion.hpp"
21 
22 namespace Kratos
23 {
26 
29 
33 
37 
41 
45 
47 
49 class KRATOS_API(SOLID_MECHANICS_APPLICATION) MisesHuberYieldCriterion
50  : public YieldCriterion
51 {
52  public:
55 
58 
62 
65 
68 
71 
74 
75 
77  ~MisesHuberYieldCriterion() override;
78 
79 
83 
88  YieldCriterion::Pointer Clone() const override;
89 
93 
94  double& CalculateYieldCondition(double & rStateFunction, const Parameters& rValues) override;
95 
96 
97  double& CalculateStateFunction(double & rStateFunction, const Parameters& rValues) override;
98 
99  double& CalculateDeltaStateFunction(double & rDeltaStateFunction, const Parameters& rValues) override;
100 
101 
102  double& CalculatePlasticDissipation(double & rPlasticDissipation, const Parameters& rValues) override;
103 
104  double& CalculateDeltaPlasticDissipation(double & rDeltaPlasticDissipation, const Parameters& rValues) override;
105 
106 
107  double& CalculateImplexPlasticDissipation(double & rPlasticDissipation, const Parameters& rValues) override;
108 
109  double& CalculateImplexDeltaPlasticDissipation(double & rDeltaPlasticDissipation, const Parameters& rValues) override;
110 
111 
115 
116 
120 
121 
125 
126  // /// Turn back information as a string.
127  // virtual std::string Info() const;
128 
129  // /// Print information about this object.
130  // virtual void PrintInfo(std::ostream& rOStream) const;
131 
132  // /// Print object's data.
133  // virtual void PrintData(std::ostream& rOStream) const;
134 
135 
139 
140 
142 
143  protected:
146 
147 
151 
152 
156 
157 
161 
162 
166 
167 
171 
172 
176 
177 
179 
180  private:
183 
184 
188 
189 
193 
194 
198 
199 
203 
204 
208  friend class Serializer;
209 
210  // A private default constructor necessary for serialization
211 
212  void save(Serializer& rSerializer) const override;
213 
214  void load(Serializer& rSerializer) override;
215 
219 
220 
224 
226 
227  }; // Class MisesHuberYieldCriterion
228 
230 
233 
234 
238 
239 
240  // /// input stream function
241  // inline std::istream& operator >> (std::istream& rIStream,
242  // MisesHuberYieldCriterion& rThis);
243 
244  // /// output stream function
245  // inline std::ostream& operator << (std::ostream& rOStream,
246  // const MisesHuberYieldCriterion& rThis)
247  // {
248  // rThis.PrintInfo(rOStream);
249  // rOStream << std::endl;
250  // rThis.PrintData(rOStream);
251 
252  // return rOStream;
253  // }
255 
257 
258 } // namespace Kratos.
259 
260 #endif // KRATOS_MISES_HUBER_YIELD_CRITERION_H_INCLUDED defined
261 
262 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: mises_huber_yield_criterion.hpp:51
KRATOS_CLASS_POINTER_DEFINITION(MisesHuberYieldCriterion)
Pointer definition of MisesHuberYieldCriterion.
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: yield_criterion.hpp:49
HardeningLaw::Pointer HardeningLawPointer
Definition: yield_criterion.hpp:103
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: yield_criterion.hpp:54