23 #include "custom_utilities/constitutive_law_utilities.h"
52 template<
unsigned int TDim,
unsigned int TyieldSurf>
101 static constexpr
SizeType VoigtSize = (TDim == 3) ? 6 : 3;
104 static constexpr
SizeType NumberOfEdges = (TDim == 3) ? 6 : 3;
110 static constexpr
double tolerance = std::numeric_limits<double>::epsilon();
143 GeometryType::Pointer pGeom,
144 PropertiesType::Pointer pProperties
157 PropertiesType::Pointer pProperties
167 Element::Pointer Clone(
178 std::vector<Vector>& rOutput,
184 void FinalizeSolutionStep(
const ProcessInfo& rCurrentProcessInfo)
override;
189 void InitializeNonLinearIteration(
const ProcessInfo& rCurrentProcessInfo)
override;
212 const bool CalculateStiffnessMatrixFlag,
213 const bool CalculateResidualVectorFlag
222 void CalculateKinematicVariables(
239 void CalculateConstitutiveVariables(
247 void SetConstitutiveVariables(
259 void GetValuesVector(
264 bool UseElementProvidedStrain()
const override;
Definition: constitutive_law.h:47
StressMeasure
Definition: constitutive_law.h:69
Base class for all Elements.
Definition: element.h:60
std::size_t IndexType
Definition: flags.h:74
Small Displacement element for the 2D and 3D cases.
Definition: generic_small_strain_femdem_element.hpp:55
std::size_t SizeType
Definition: generic_small_strain_femdem_element.hpp:90
std::vector< std::size_t > EquationIdVectorType
Definition: generic_small_strain_femdem_element.hpp:92
Geometry< NodeType > GeometryType
definition of the geometry type with given NodeType
Definition: generic_small_strain_femdem_element.hpp:79
Geometry< NodeType >::PointsArrayType NodesArrayType
definition of nodes container type, redefined from GeometryType
Definition: generic_small_strain_femdem_element.hpp:82
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(GenericSmallStrainFemDemElement)
Counted pointer of GenericSmallStrainFemDemElement.
GeometryData GeometryDataType
Definition: generic_small_strain_femdem_element.hpp:98
Matrix MatrixType
Definition: generic_small_strain_femdem_element.hpp:86
Node NodeType
definition of node type (default is: Node)
Definition: generic_small_strain_femdem_element.hpp:70
std::size_t IndexType
Definition: generic_small_strain_femdem_element.hpp:88
Element ElementType
definition of element type
Definition: generic_small_strain_femdem_element.hpp:64
void CalculateB(Matrix &rB, const Matrix &rDN_DX)
This method computes the deformation matrix B.
GenericSmallStrainFemDemElement(GenericSmallStrainFemDemElement const &rOther)
Assignment operator.
Definition: generic_small_strain_femdem_element.hpp:130
Vector VectorType
Definition: generic_small_strain_femdem_element.hpp:84
ConstitutiveLaw ConstitutiveLawType
Definition: generic_small_strain_femdem_element.hpp:61
ConstitutiveLawType::Pointer ConstitutiveLawPointerType
Pointer type for constitutive laws.
Definition: generic_small_strain_femdem_element.hpp:107
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: generic_small_strain_femdem_element.hpp:96
GenericSmallStrainFemDemElement()
Definition: generic_small_strain_femdem_element.hpp:172
GenericTotalLagrangianFemDemElement< TDim, TyieldSurf > BaseType
base type: an GeometricalObject that automatically has a unique number
Definition: generic_small_strain_femdem_element.hpp:67
Properties PropertiesType
Definition: generic_small_strain_femdem_element.hpp:76
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: generic_small_strain_femdem_element.hpp:94
Total Lagrangian element for 2D and 3D geometries.
Definition: generic_total_lagrangian_femdem_element.h:60
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
Definition: geometry_data.h:60
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
This object defines an indexed object.
Definition: indexed_object.h:54
This class defines the node.
Definition: node.h:65
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
pybind11::list CalculateOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const ProcessInfo &rProcessInfo)
Definition: add_mesh_to_python.cpp:142
void ComputeEquivalentF(const Element &rElement, const TVectorType &rStrainTensor, TMatrixType &rF)
This method computes the deformation gradient F (for small deformation solid elements)
Definition: structural_mechanics_element_utilities.h:69
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
Definition: base_solid_element.h:112
Definition: base_solid_element.h:73
Definition: constitutive_law.h:189