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.
nonlocal_damage_flow_rule.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosPoromechanicsApplication $
3 // Last Modified by: $Author: Ignasi de Pouplana $
4 // Date: $Date: February 2016 $
5 // Revision: $Revision: 1.0 $
6 //
7 
8 #if !defined(KRATOS_NONLOCAL_DAMAGE_FLOW_RULE_H_INCLUDED )
9 #define KRATOS_NONLOCAL_DAMAGE_FLOW_RULE_H_INCLUDED
10 
11 // Application includes
14 
15 namespace Kratos
16 {
17 
18 class KRATOS_API(POROMECHANICS_APPLICATION) NonlocalDamageFlowRule : public LocalDamageFlowRule
19 {
20 
21 public:
22 
24 
26 
29 
32 
35 
38 
40  ~NonlocalDamageFlowRule() override;
41 
43 
44  FlowRule::Pointer Clone() const override;
45 
46  void InitializeMaterial (YieldCriterionPointer& pYieldCriterion, HardeningLawPointer& pHardeningLaw, const Properties& rMaterialProperties) override;
47 
49 
50  bool CalculateReturnMapping( RadialReturnVariables& rReturnMappingVariables, const Matrix& rIncrementalDeformationGradient,
51  Matrix& rStressMatrix, Matrix& rNewElasticLeftCauchyGreen) override;
52 
53  bool UpdateInternalVariables( RadialReturnVariables& rReturnMappingVariables ) override;
54 
56 
57 protected:
58 
60 
62 
63  void CalculateLocalInternalVariables(RadialReturnVariables& rReturnMappingVariables);
64 
65  bool CalculateInternalVariables(RadialReturnVariables& rReturnMappingVariables) override;
66 
68 
69 private:
70 
72 
73  friend class Serializer;
74 
75  void save(Serializer& rSerializer) const override
76  {
78  }
79 
80  void load(Serializer& rSerializer) override
81  {
83  }
84 
85 }; // Class NonlocalDamageFlowRule
86 } // namespace Kratos.
87 #endif // KRATOS_NONLOCAL_DAMAGE_FLOW_RULE_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: flow_rule.hpp:51
HardeningLaw::Pointer HardeningLawPointer
Definition: flow_rule.hpp:57
YieldCriterion::Pointer YieldCriterionPointer
Definition: flow_rule.hpp:56
Definition: local_damage_flow_rule.hpp:19
Definition: nonlocal_damage_flow_rule.hpp:19
KRATOS_CLASS_POINTER_DEFINITION(NonlocalDamageFlowRule)
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
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
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:121