10 #if !defined(KRATOS_SMALL_DISPLACEMENT_BEAM_ELEMENT_3D2N_H_INCLUDED)
11 #define KRATOS_SMALL_DISPLACEMENT_BEAM_ELEMENT_3D2N_H_INCLUDED
164 void GetDofList(DofsVectorType& rElementalDofList,
const ProcessInfo& rCurrentProcessInfo)
const override;
169 void EquationIdVector(EquationIdVectorType& rResult,
const ProcessInfo& rCurrentProcessInfo)
const override;
174 void GetValuesVector(
Vector& rValues,
int Step = 0)
const override;
179 void GetFirstDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
184 void GetSecondDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
204 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
215 void FinalizeSolutionStep(
const ProcessInfo& rCurrentProcessInfo)
override;
236 void CalculateRightHandSide(
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo)
override;
245 void CalculateLeftHandSide(
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo)
override;
275 int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
288 std::string
Info()
const override
290 std::stringstream buffer;
291 buffer <<
"Beam Element #" << Id();
298 rOStream <<
"Beam Element #" << Id();
304 GetGeometry().PrintData(rOStream);
354 void CalculateElementalSystem( LocalSystemComponents& rLocalSystem,
361 void CalculateSectionProperties();
366 virtual void InitializeSystemMatrices(
MatrixType& rLeftHandSideMatrix,
368 Flags& rCalculationFlags);
373 void CalculateAndAddLHS(LocalSystemComponents& rLocalSystem);
378 void CalculateAndAddRHS(LocalSystemComponents& rLocalSystem,
Vector& VolumeForce);
383 void CalculateLocalStiffnessMatrix(
Matrix& LocalMatrix);
389 void CalculateTransformationMatrix(
Matrix& RotationMatrix);
401 void CalculateGlobalBodyForce(
Vector& rGlobalForceVector,
Vector& rVolumeForce);
404 void CalculateLocalBodyForce(
Vector& rLocalBody,
Vector& rVolumeForce);
407 void CalculateDistributedBodyForce(
const int Direction,
Vector& Load,
Vector& rVolumeForce);
413 double CalculateInternalAxil (
const double&
N,
const double& AxialLoad,
const double& X );
415 double CalculateInternalShear (
const double&
Q,
const double& ShearLoad,
const double& X );
417 double CalculateInternalMoment(
const double& M1,
const double& M2,
const double& ShearLoad,
const double& X );
462 void save(
Serializer& rSerializer)
const override
Base class for all Elements.
Definition: element.h:60
IntegrationMethod
Definition: geometry_data.h:76
std::size_t SizeType
Definition: geometry_data.h:173
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
Beam Element for 3D space dimension.
Definition: small_displacement_beam_element_3D2N.hpp:47
std::string Info() const override
Turn back information as a string.
Definition: small_displacement_beam_element_3D2N.hpp:288
GeometryData::IntegrationMethod IntegrationMethod
Definition: small_displacement_beam_element_3D2N.hpp:52
GeometryData::SizeType SizeType
Type for size.
Definition: small_displacement_beam_element_3D2N.hpp:54
SmallDisplacementBeamElement3D2N()
Definition: small_displacement_beam_element_3D2N.hpp:339
KRATOS_DEFINE_LOCAL_FLAG(COMPUTE_LHS_MATRIX)
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: small_displacement_beam_element_3D2N.hpp:302
SectionProperties mSection
Definition: small_displacement_beam_element_3D2N.hpp:328
IntegrationMethod mThisIntegrationMethod
Definition: small_displacement_beam_element_3D2N.hpp:322
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: small_displacement_beam_element_3D2N.hpp:296
KRATOS_DEFINE_LOCAL_FLAG(COMPUTE_RHS_VECTOR)
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(SmallDisplacementBeamElement3D2N)
Counted pointer of SmallDisplacementBeamElement3D2N.
double mLength
Definition: small_displacement_beam_element_3D2N.hpp:334
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
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 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
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
Stress
Definition: isotropic_damage_automatic_differentiation.py:135
tuple Q
Definition: isotropic_damage_automatic_differentiation.py:235
def load(f)
Definition: ode_solve.py:307
N
Definition: sensitivityMatrix.py:29
Definition: small_displacement_beam_element_3D2N.hpp:86
VectorType & GetRightHandSideVector()
Definition: small_displacement_beam_element_3D2N.hpp:113
void SetLeftHandSideMatrix(MatrixType &rLeftHandSideMatrix)
Definition: small_displacement_beam_element_3D2N.hpp:103
void SetRightHandSideVector(VectorType &rRightHandSideVector)
Definition: small_displacement_beam_element_3D2N.hpp:105
MatrixType RotationMatrix
Definition: small_displacement_beam_element_3D2N.hpp:97
Flags CalculationFlags
Definition: small_displacement_beam_element_3D2N.hpp:96
MatrixType & GetLeftHandSideMatrix()
Definition: small_displacement_beam_element_3D2N.hpp:111
Definition: small_displacement_beam_element_3D2N.hpp:70
double Inertia_y
Definition: small_displacement_beam_element_3D2N.hpp:74
double Area
Definition: small_displacement_beam_element_3D2N.hpp:72
double Polar_Inertia
Definition: small_displacement_beam_element_3D2N.hpp:75
double Inertia_z
Definition: small_displacement_beam_element_3D2N.hpp:73