10 #if !defined(KRATOS_LARGE_DISPLACEMENT_BEAM_EMC_ELEMENT_H_INCLUDED)
11 #define KRATOS_LARGE_DISPLACEMENT_BEAM_EMC_ELEMENT_H_INCLUDED
111 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
128 int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
141 std::string
Info()
const override
143 std::stringstream buffer;
144 buffer <<
"Large Displacement Beam EMC Element #" << Id();
151 rOStream <<
"Large Displacement Beam EMC Element #" << Id();
157 GetGeometry().PrintData(rOStream);
197 void InitializeElementData(ElementDataType & rVariables,
204 void MapToSpatialFrame(
const ElementDataType& rVariables,
Matrix& rVariable)
override;
210 void CalculateKinematics(ElementDataType& rVariables,
211 const unsigned int& rPointNumber)
override;
216 Matrix& CalculatePreviousDeltaPosition(
Matrix & rDeltaPosition);
222 void CalculateFrameMapping(ElementDataType& rVariables,
223 const unsigned int& rPointNumber)
override;
229 void UpdateStrainVariables(ElementDataType& rVariables,
230 const unsigned int& rPointNumber)
override;
236 void CalculateAlphaRotationMatrix(
const Matrix& rPreviousRotationMatrix,
237 const Matrix& rCurrentRotationMatrix,
238 Matrix& rAlphaRotationMatrix,
239 Matrix& rAlphaRotationMatrixAsterisk,
246 virtual void CalculateCurrentStrainResultantsVector(ElementDataType& rVariables,
247 Vector& rCurrentStrainResultantsVector,
253 virtual void CalculateCurrentCurvatureVector(ElementDataType& rVariables,
254 Vector& rCurrentCurvatureVector,
260 void CalculateConstitutiveMatrix(ElementDataType& rVariables)
override;
265 virtual void CalculateStrainResultants(
Vector& rStrainResultants, ElementDataType& rVariables,
double alpha);
270 virtual void CalculateStrainCouples(
Vector& rStrainCouples, ElementDataType& rVariables,
double alpha);
276 void CalculateStressResultants(ElementDataType& rVariables,
const unsigned int& rPointNumber)
override;
282 void CalculateAndAddKuug(
MatrixType& rLeftHandSideMatrix,
283 ElementDataType& rVariables,
284 double& rIntegrationWeight)
override;
290 void CalculateAndAddKuuf(
MatrixType& rLeftHandSideMatrix,
291 ElementDataType& rVariables,
292 double& rIntegrationWeight)
override;
299 void CalculateAndAddFollowerForces(
VectorType& rRightHandSideVector,
300 ElementDataType& rVariables,
301 double& rIntegrationWeight)
override;
307 void CalculateAndAddInertiaLHS(
MatrixType& rLeftHandSideMatrix,
308 ElementDataType& rVariables,
310 double& rIntegrationWeight)
override;
316 void CalculateAndAddInertiaRHS(
VectorType& rRightHandSideVector,
317 ElementDataType& rVariables,
319 double& rIntegrationWeight)
override;
324 void CalculateDifferentialOperator(
MatrixType& rDifferentialOperator,
325 ElementDataType& rVariables,
327 double alpha)
override;
332 void CalculateRotationLinearPartTensor(
Vector& rRotationVector,
Matrix& rRotationTensor)
override;
377 void save(
Serializer& rSerializer)
const override;
Definition: beam_math_utilities.hpp:31
Definition: constitutive_law.h:47
StressMeasure
Definition: constitutive_law.h:69
std::size_t IndexType
Definition: flags.h:74
IntegrationMethod
Definition: geometry_data.h:76
std::size_t SizeType
Definition: geometry_data.h:173
Beam Element for 3D space dimension.
Definition: large_displacement_beam_emc_element.hpp:49
ConstitutiveLawType::StressMeasure StressMeasureType
StressMeasure from constitutive laws.
Definition: large_displacement_beam_emc_element.hpp:59
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: large_displacement_beam_emc_element.hpp:155
ConstitutiveLawType::Pointer ConstitutiveLawPointerType
Pointer type for constitutive laws.
Definition: large_displacement_beam_emc_element.hpp:57
Quaternion< double > QuaternionType
Type definition for quaternion.
Definition: large_displacement_beam_emc_element.hpp:65
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(LargeDisplacementBeamEMCElement)
Counted pointer of LargeDisplacementBeamEMCElement.
BeamMathUtils< double > BeamMathUtilsType
Type definition for beam utilities.
Definition: large_displacement_beam_emc_element.hpp:63
std::vector< Vector > mCurrentStrainResultantsVector
Definition: large_displacement_beam_emc_element.hpp:176
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: large_displacement_beam_emc_element.hpp:149
GeometryData::IntegrationMethod IntegrationMethod
Type definition for integration methods.
Definition: large_displacement_beam_emc_element.hpp:61
LargeDisplacementBeamElement::ElementDataType ElementDataType
Type for element variables.
Definition: large_displacement_beam_emc_element.hpp:69
ConstitutiveLaw ConstitutiveLawType
Definition: large_displacement_beam_emc_element.hpp:55
GeometryData::SizeType SizeType
Type for size.
Definition: large_displacement_beam_emc_element.hpp:67
LargeDisplacementBeamEMCElement()
Definition: large_displacement_beam_emc_element.hpp:187
std::vector< Vector > mPreviousStrainResultantsVector
Definition: large_displacement_beam_emc_element.hpp:181
std::string Info() const override
Turn back information as a string.
Definition: large_displacement_beam_emc_element.hpp:141
Beam Element for 3D space dimension Simo Displacement-Rotation Geometrically Exact Rod element.
Definition: large_displacement_beam_element.hpp:48
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
double CalculateStrainEnergy(Element &rElement)
Definition: mpm_energy_calculation_utility.cpp:89
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
alpha
Definition: generate_convection_diffusion_explicit_element.py:113
def load(f)
Definition: ode_solve.py:307
def Alpha(n, j)
Definition: quadrature.py:93
Definition: beam_element.hpp:123