10 #if !defined(KRATOS_SMALL_STRAIN_AXISYMMETRIC_2D_LAW_H_INCLUDED)
11 #define KRATOS_SMALL_STRAIN_AXISYMMETRIC_2D_LAW_H_INCLUDED
77 ConstitutiveLaw::Pointer
Clone()
const override
79 return Kratos::make_shared<SmallStrainAxisymmetric2DLaw>(*
this);
107 GetModelFeatures(rFeatures);
111 rFeatures.
mStrainMeasures.push_back(StrainMeasure_Deformation_Gradient);
142 std::string
Info()
const override
144 std::stringstream buffer;
145 buffer <<
"SmallStrainAxisymmetric2DLaw" ;
150 void PrintInfo(std::ostream& rOStream)
const override {rOStream <<
"SmallStrainAxisymmetric2DLaw";}
153 void PrintData(std::ostream& rOStream)
const override {}
191 const double& rYoungModulus = rProperties[YOUNG_MODULUS];
192 const double& rPoissonCoefficient = rProperties[POISSON_RATIO];
194 rConstitutiveMatrix ( 0 , 0 ) = (rYoungModulus*(1.0-rPoissonCoefficient)/((1.0+rPoissonCoefficient)*(1.0-2*rPoissonCoefficient)));
195 rConstitutiveMatrix ( 1 , 1 ) = rConstitutiveMatrix ( 0 , 0 );
196 rConstitutiveMatrix ( 2 , 2 ) = rConstitutiveMatrix ( 0 , 0 );
198 rConstitutiveMatrix ( 3 , 3 ) = rConstitutiveMatrix ( 0 , 0 )*(1-2*rPoissonCoefficient)/(2*(1.0-rPoissonCoefficient));
200 rConstitutiveMatrix ( 0 , 1 ) = rConstitutiveMatrix ( 0 , 0 )*rPoissonCoefficient/(1.0-rPoissonCoefficient);
201 rConstitutiveMatrix ( 1 , 0 ) = rConstitutiveMatrix ( 0 , 1 );
203 rConstitutiveMatrix ( 0 , 2 ) = rConstitutiveMatrix ( 0 , 1 );
205 rConstitutiveMatrix ( 2 , 0 ) = rConstitutiveMatrix ( 0 , 1 );
207 rConstitutiveMatrix ( 1 , 2 ) = rConstitutiveMatrix ( 0 , 1 );
209 rConstitutiveMatrix ( 2 , 1 ) = rConstitutiveMatrix ( 0 , 1 );
272 void save(
Serializer& rSerializer)
const override
std::size_t SizeType
Definition: constitutive_law.h:82
void Set(const Flags ThisFlag)
Definition: flags.cpp:33
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
Definition: small_strain_3D_law.hpp:33
SmallStrain3DLaw & operator=(const SmallStrain3DLaw &rOther)
Assignment operator.
Definition: small_strain_3D_law.cpp:59
ModelType::Pointer ModelTypePointer
Definition: small_strain_3D_law.hpp:40
Short class definition.
Definition: small_strain_axisymmetric_2D_law.hpp:48
SizeType GetStrainSize() const override
Law Voigt Strain Size.
Definition: small_strain_axisymmetric_2D_law.hpp:94
SmallStrainAxisymmetric2DLaw(ModelTypePointer pModel)
Constructor.
Definition: small_strain_axisymmetric_2D_law.hpp:64
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: small_strain_axisymmetric_2D_law.hpp:150
SmallStrainAxisymmetric2DLaw & operator=(SmallStrainAxisymmetric2DLaw const &rOther)
Assignment operator.
Definition: small_strain_axisymmetric_2D_law.hpp:70
SmallStrainAxisymmetric2DLaw()
Default constructor.
Definition: small_strain_axisymmetric_2D_law.hpp:61
void CalculateConstitutiveMatrix(Matrix &rConstitutiveMatrix, const Properties &rProperties) override
Definition: small_strain_axisymmetric_2D_law.hpp:185
SizeType WorkingSpaceDimension() override
Law Dimension.
Definition: small_strain_axisymmetric_2D_law.hpp:91
KRATOS_CLASS_POINTER_DEFINITION(SmallStrainAxisymmetric2DLaw)
Pointer definition of SmallStrainAxisymmetric2DLaw.
void GetLawFeatures(Features &rFeatures) override
Law Features.
Definition: small_strain_axisymmetric_2D_law.hpp:97
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: small_strain_axisymmetric_2D_law.hpp:153
SmallStrainAxisymmetric2DLaw(const SmallStrainAxisymmetric2DLaw &rOther)
Copy constructor.
Definition: small_strain_axisymmetric_2D_law.hpp:67
ConstitutiveLaw::Pointer Clone() const override
Clone.
Definition: small_strain_axisymmetric_2D_law.hpp:77
std::string Info() const override
Turn back information as a string.
Definition: small_strain_axisymmetric_2D_law.hpp:142
~SmallStrainAxisymmetric2DLaw() override
Destructor.
Definition: small_strain_axisymmetric_2D_law.hpp:83
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#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: constitutive_law.h:137
SizeType mStrainSize
Definition: constitutive_law.h:152
std::vector< StrainMeasure > mStrainMeasures
Definition: constitutive_law.h:154
SizeType mSpaceDimension
Definition: constitutive_law.h:153
Flags mOptions
Definition: constitutive_law.h:151