34 namespace StructuralMechanicsElementUtilities {
57 const std::vector<ConstitutiveLaw::Pointer>& rConstitutiveLaws
68 template<
class TVectorType,
class TMatrixType>
71 const TVectorType& rStrainTensor,
79 rF(0,0) = 1.0+rStrainTensor(0);
80 rF(0,1) = 0.5*rStrainTensor(2);
81 rF(1,0) = 0.5*rStrainTensor(2);
82 rF(1,1) = 1.0+rStrainTensor(1);
84 rF(0,0) = 1.0+rStrainTensor(0);
85 rF(0,1) = 0.5*rStrainTensor(3);
86 rF(0,2) = 0.5*rStrainTensor(5);
87 rF(1,0) = 0.5*rStrainTensor(3);
88 rF(1,1) = 1.0+rStrainTensor(1);
89 rF(1,2) = 0.5*rStrainTensor(4);
90 rF(2,0) = 0.5*rStrainTensor(5);
91 rF(2,1) = 0.5*rStrainTensor(4);
92 rF(2,2) = 1.0+rStrainTensor(2);
104 template<
class TMatrixType1,
class TMatrixType2>
107 const TMatrixType1& rDN_DX,
120 rB(0, initial_index ) = rDN_DX(
i, 0);
121 rB(1, initial_index + 1) = rDN_DX(
i, 1);
122 rB(2, initial_index ) = rDN_DX(
i, 1);
123 rB(2, initial_index + 1) = rDN_DX(
i, 0);
128 rB(0, initial_index ) = rDN_DX(
i, 0);
129 rB(1, initial_index + 1) = rDN_DX(
i, 1);
130 rB(2, initial_index + 2) = rDN_DX(
i, 2);
131 rB(3, initial_index ) = rDN_DX(
i, 1);
132 rB(3, initial_index + 1) = rDN_DX(
i, 0);
133 rB(4, initial_index + 1) = rDN_DX(
i, 2);
134 rB(4, initial_index + 2) = rDN_DX(
i, 1);
135 rB(5, initial_index ) = rDN_DX(
i, 2);
136 rB(5, initial_index + 2) = rDN_DX(
i, 0);
211 const std::size_t MatrixSize);
249 const double Tolerance = 1.0e4*std::numeric_limits<double>::epsilon());
Base class for all Elements.
Definition: element.h:60
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
GeometryType & GetGeometry()
Returns the reference of the geometry.
Definition: geometrical_object.h:158
Geometry base class.
Definition: geometry.h:71
SizeType PointsNumber() const
Definition: geometry.h:528
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
This class defines the node.
Definition: node.h:65
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
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
#define KRATOS_API(...)
Definition: kratos_export_api.h:40
void InitialCheckLocalAxes(const array_1d< double, 3 > &rv1, const array_1d< double, 3 > &rv2, const array_1d< double, 3 > &rv3, const double Tolerance)
This function checks the norm of the vectors.
Definition: structural_mechanics_element_utilities.cpp:315
int SolidElementCheck(const Element &rElement, const ProcessInfo &rCurrentProcessInfo, const std::vector< ConstitutiveLaw::Pointer > &rConstitutiveLaws)
This method performs commons checks on the solid elements.
Definition: structural_mechanics_element_utilities.cpp:28
double CalculateCurrentLength2D2N(const Element &rElement)
This function calculates the current length for 2D2N elements.
Definition: structural_mechanics_element_utilities.cpp:252
Node NodeType
Node type definition.
Definition: structural_mechanics_element_utilities.h:43
void CalculateRayleighDampingMatrix(Element &rElement, Element::MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo, const std::size_t MatrixSize)
Method to calculate the rayleigh damping-matrix.
Definition: structural_mechanics_element_utilities.cpp:193
std::size_t IndexType
The index type definition.
Definition: structural_mechanics_element_utilities.h:40
double CalculateReferenceLength2D2N(const Element &rElement)
This function calculates the reference length for 2D2N elements.
Definition: structural_mechanics_element_utilities.cpp:235
bool HasRayleighDamping(const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
Method to specify if rayligh-damping is specified.
Definition: structural_mechanics_element_utilities.cpp:125
void BuildRotationMatrix(BoundedMatrix< double, 3, 3 > &rRotationMatrix, const array_1d< double, 3 > &rv1, const array_1d< double, 3 > &rv2, const array_1d< double, 3 > &rv3)
This function fills a rotation matrix from a set of vectors.
Definition: structural_mechanics_element_utilities.cpp:332
double CalculateCurrentLength3D2N(const Element &rElement)
This function calculates the current length for 3D2N elements.
Definition: structural_mechanics_element_utilities.cpp:292
double GetRayleighAlpha(const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
Method to get the rayleigh-alpha parameter.
Definition: structural_mechanics_element_utilities.cpp:136
double GetDensityForMassMatrixComputation(const Element &rElement)
Method to returns the density to be consider for the mass-matrix computation.
Definition: structural_mechanics_element_utilities.cpp:172
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
double GetRayleighBeta(const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
Method to get the rayleigh-beta parameter.
Definition: structural_mechanics_element_utilities.cpp:154
double CalculateReferenceLength3D2N(const Element &rElement)
This function calculates the reference length for 3D2N elements.
Definition: structural_mechanics_element_utilities.cpp:276
bool ComputeLumpedMassMatrix(const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
Method to specify if the lumped or the consistent mass-matrix should be computed.
Definition: structural_mechanics_element_utilities.cpp:103
std::size_t SizeType
The size type definition.
Definition: structural_mechanics_element_utilities.h:37
Geometry< NodeType > GeometryType
Geometry definitions.
Definition: structural_mechanics_element_utilities.h:46
void CalculateB(const GeometricalObject &rElement, const TMatrixType1 &rDN_DX, TMatrixType2 &rB)
This method computes the deformation tensor B (for small deformation solid elements)
Definition: structural_mechanics_element_utilities.h:105
array_1d< double, 3 > GetBodyForce(const Element &rElement, const GeometryType::IntegrationPointsArrayType &rIntegrationPoints, const IndexType PointNumber)
This method returns the computed the computed body force.
Definition: structural_mechanics_element_utilities.cpp:71
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
int dimension
Definition: isotropic_damage_automatic_differentiation.py:123
integer i
Definition: TensorModule.f:17