KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Beam Element for 3D space dimension Simo Displacement-Rotation Geometrically Exact Rod element. More...
#include <large_displacement_beam_element.hpp>
Public Member Functions | |
Life Cycle | |
LargeDisplacementBeamElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructors. More... | |
LargeDisplacementBeamElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
LargeDisplacementBeamElement (LargeDisplacementBeamElement const &rOther) | |
Copy constructor. More... | |
~LargeDisplacementBeamElement () override | |
Destructor. More... | |
Operators | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, std::vector< array_1d< double, 3 > > &Output, const ProcessInfo &rCurrentProcessInfo) override |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
Input and output | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::BeamElement | |
BeamElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructors. More... | |
BeamElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
BeamElement (BeamElement const &rOther) | |
Copy constructor. More... | |
~BeamElement () override | |
Destructor. More... | |
IntegrationMethod | GetIntegrationMethod () const override |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateSecondDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateSecondDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateSecondDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, std::vector< array_1d< double, 3 > > &Output, const ProcessInfo &rCurrentProcessInfo) override |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (BeamElement) | |
Counted pointer of BeamElement. More... | |
Public Member Functions inherited from Kratos::Element | |
Element (IndexType NewId=0) | |
Element (IndexType NewId, const NodesArrayType &ThisNodes) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Element (Element const &rOther) | |
Copy constructor. More... | |
~Element () override | |
Destructor. More... | |
Element & | operator= (Element const &rOther) |
Assignment operator. More... | |
virtual Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const |
It creates a new element pointer. More... | |
virtual Pointer | Clone (IndexType NewId, NodesArrayType const &ThisNodes) const |
It creates a new element pointer and clones the previous element data. More... | |
virtual void | ResetConstitutiveLaw () |
virtual void | CalculateFirstDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLumpedMassVector (VectorType &rLumpedMassVector, const ProcessInfo &rCurrentProcessInfo) const |
virtual void | AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the double version) More... | |
virtual void | AddExplicitContribution (const MatrixType &rLHSMatrix, const Variable< MatrixType > &rLHSVariable, const Variable< Matrix > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the matrix version) More... | |
virtual void | Calculate (const Variable< double > &rVariable, double &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Vector > &rVariable, Vector &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Matrix > &rVariable, Matrix &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, std::vector< array_1d< double, 4 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, std::vector< array_1d< double, 9 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, const std::vector< array_1d< double, 4 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, const std::vector< array_1d< double, 9 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | MassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddMassMatrix (MatrixType &rLeftHandSideMatrix, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | DampMatrix (MatrixType &rDampMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddInertiaForces (VectorType &rRightHandSideVector, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLocalVelocityContribution (MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< double > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< array_1d< double, 3 > > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
PropertiesType::Pointer | pGetProperties () |
returns the pointer to the property of the element. Does not throw an error, to allow copying of elements which don't have any property assigned. More... | |
const PropertiesType::Pointer | pGetProperties () const |
PropertiesType & | GetProperties () |
PropertiesType const & | GetProperties () const |
void | SetProperties (PropertiesType::Pointer pProperties) |
bool | HasProperties () const |
Check that the Element has a correctly initialized pointer to a Properties instance. More... | |
virtual const Parameters | GetSpecifications () const |
This method provides the specifications/requirements of the element. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Element) | |
Public Member Functions inherited from Kratos::GeometricalObject | |
GeometricalObject (IndexType NewId=0) | |
Default constructor. More... | |
GeometricalObject (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
~GeometricalObject () override | |
Destructor. More... | |
GeometricalObject (GeometricalObject const &rOther) | |
Copy constructor. More... | |
GeometricalObject & | operator= (GeometricalObject const &rOther) |
Assignment operator. More... | |
virtual void | SetGeometry (GeometryType::Pointer pGeometry) |
Sets the pointer to the geometry. More... | |
GeometryType::Pointer | pGetGeometry () |
Returns the pointer to the geometry. More... | |
const GeometryType::Pointer | pGetGeometry () const |
Returns the pointer to the geometry (const version) More... | |
GeometryType & | GetGeometry () |
Returns the reference of the geometry. More... | |
GeometryType const & | GetGeometry () const |
Returns the reference of the geometry (const version) More... | |
Flags & | GetFlags () |
Returns the flags of the object. More... | |
Flags const & | GetFlags () const |
Returns the flags of the object (const version) More... | |
void | SetFlags (Flags const &rThisFlags) |
Sets the flags of the object. More... | |
DataValueContainer & | Data () |
DataValueContainer & | GetData () |
DataValueContainer const & | GetData () const |
void | SetData (DataValueContainer const &rThisData) |
template<class TDataType > | |
bool | Has (const Variable< TDataType > &rThisVariable) const |
template<class TVariableType > | |
void | SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue) |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) |
template<class TVariableType > | |
TVariableType::Type const & | GetValue (const TVariableType &rThisVariable) const |
unsigned int | use_count () const noexcept |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (GeometricalObject) | |
Pointer definition of GeometricalObject. More... | |
bool | IsActive () const |
Checks if the GeometricalObject is active. More... | |
Public Member Functions inherited from Kratos::IndexedObject | |
IndexedObject (IndexType NewId=0) | |
Default constructor. More... | |
virtual | ~IndexedObject () |
Destructor. More... | |
IndexedObject (IndexedObject const &rOther) | |
Copy constructor. More... | |
IndexedObject & | operator= (IndexedObject const &rOther) |
Assignment operator. More... | |
template<class TObjectType > | |
IndexType | operator() (TObjectType const &rThisObject) const |
IndexType | Id () const |
IndexType | GetId () const |
virtual void | SetId (IndexType NewId) |
IndexType & | DepricatedIdAccess () |
TODO: remove this function when removing data_file_io object. More... | |
KRATOS_CLASS_POINTER_DEFINITION (IndexedObject) | |
Pointer definition of IndexedObject. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Protected Member Functions | |
Protected Operators | |
LargeDisplacementBeamElement () | |
Protected Operations | |
IntegrationMethod | GetReducedIntegrationMethod () const |
IntegrationMethod | GetFullIntegrationMethod () const |
void | CalculateDynamicSystem (LocalSystemComponents &rLocalSystem, const ProcessInfo &rCurrentProcessInfo) override |
virtual void | MapToSpatialFrame (const ElementDataType &rVariables, Matrix &rVariable) |
virtual void | CalculateCurrentCurvature (ElementDataType &rVariables, const Variable< array_1d< double, 3 > > &rVariable) |
void | CalculateKinematics (ElementDataType &rVariables, const unsigned int &rPointNumber) override |
virtual void | CalculateFrameMapping (ElementDataType &rVariables, const unsigned int &rPointNumber) |
virtual void | UpdateStrainVariables (ElementDataType &rVariables, const unsigned int &rPointNumber) |
void | CalculateConstitutiveMatrix (ElementDataType &rVariables) override |
void | CalculateStressResultants (ElementDataType &rVariables, const unsigned int &rPointNumber) override |
void | CalculateAndAddKuum (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables, double &rIntegrationWeight) override |
void | CalculateAndAddKuug (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables, double &rIntegrationWeight) override |
virtual void | CalculateAndAddKuug2 (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables, double &rIntegrationWeight) |
virtual void | CalculateAndAddKuuf (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables, double &rIntegrationWeight) |
virtual void | CalculateAndAddFollowerForces (VectorType &rRightHandSideVector, ElementDataType &rVariables, double &rIntegrationWeight) |
void | CalculateAndAddExternalForces (VectorType &rRightHandSideVector, ElementDataType &rVariables, Vector &rVolumeForce, double &rIntegrationWeight) override |
void | CalculateAndAddInertiaLHS (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo, double &rIntegrationWeight) override |
void | CalculateAndAddInertiaRHS (VectorType &rRightHandSideVector, ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo, double &rIntegrationWeight) override |
void | CalculateAndAddInternalForces (VectorType &rRightHandSideVector, ElementDataType &rVariables, double &rIntegrationWeight) override |
void | CalculateOperator (MatrixType &rOperator, Vector &rN, const int &rNode) |
void | CalculateDiscreteOperator (MatrixType &rDiscreteOperator, ElementDataType &rVariables, const int &rNode) |
virtual void | CalculateDifferentialOperator (MatrixType &rDifferentialOperator, ElementDataType &rVariables, const int &rNode, double alpha=0) |
void | CalculateBmatrix (MatrixType &rBmatrix, ElementDataType &rVariables) |
double & | CalculateTotalMass (SectionProperties &Section, double &rTotalMass) |
void | CalculateInertiaDyadic (SectionProperties &rSection, Matrix &rInertiaDyadic) |
virtual void | CalculateRotationLinearPartTensor (Vector &rRotationVector, Matrix &rRotationTensor) |
void | GetCurrentNodalMovements (Vector &rValues, const int &rNode, unsigned int PointNumber=0) |
void | GetCurrentNodalVelocities (Vector &rValues, const int &rNode, unsigned int PointNumber=0) |
void | GetKineticMatrix (Matrix &rKineticMatrix, const double &rMass, const Matrix &rInertia) |
virtual void | CalculateExternalForcesEnergy (double &rEnergy, ElementDataType &rVariables, Vector &rVolumeForce, double &rIntegrationWeight) |
virtual void | CalculateInternalForcesEnergy (double &rEnergy, ElementDataType &rVariables, double &rIntegrationWeight) |
virtual void | CalculateStrainEnergy (double &rEnergy, ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo, double &rIntegrationWeight) |
virtual void | CalculateKineticEnergy (double &rEnergy, ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo, double &rIntegrationWeight) |
virtual void | CalculateMomentumRelations (array_1d< double, 3 > &LinearMomentum, array_1d< double, 3 > &AngularMomentum, ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo, double &rIntegrationWeight) |
Protected Member Functions inherited from Kratos::BeamElement | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_RHS_VECTOR) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_LHS_MATRIX) | |
KRATOS_DEFINE_LOCAL_FLAG (FINALIZED_STEP) | |
BeamElement () | |
void | IncreaseIntegrationMethod (IntegrationMethod &rThisIntegrationMethod, unsigned int increment) const |
virtual void | CalculateElementalSystem (LocalSystemComponents &rLocalSystem, const ProcessInfo &rCurrentProcessInfo) |
virtual unsigned int | GetDofsSize () const |
void | InitializeSystemMatrices (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, Flags &rCalculationFlags) |
Vector & | MapToInitialLocalFrame (Vector &rVariable, unsigned int PointNumber=0) |
virtual void | MapLocalToGlobal (ElementDataType &rVariables, Matrix &rVariable) |
virtual void | MapLocalToGlobal (ElementDataType &rVariables, VectorType &rVector) |
Vector & | GetLocalCurrentValue (const Variable< array_1d< double, 3 > > &rVariable, Vector &rValue, const Vector &rN) |
Vector & | GetLocalPreviousValue (const Variable< array_1d< double, 3 > > &rVariable, Vector &rValue, const Vector &rN) |
Vector & | GetNodalCurrentValue (const Variable< array_1d< double, 3 > > &rVariable, Vector &rValue, const unsigned int &rNode) |
Vector & | GetNodalPreviousValue (const Variable< array_1d< double, 3 > > &rVariable, Vector &rValue, const unsigned int &rNode) |
virtual void | InitializeElementData (ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo) |
void | CalculateSectionProperties (SectionProperties &rSection) |
void | CalculateMaterialConstitutiveMatrix (Matrix &rConstitutiveMatrix, ElementDataType &rVariables) |
virtual void | CalculateAndAddLHS (LocalSystemComponents &rLocalSystem, ElementDataType &rVariables, double &rIntegrationWeight) |
virtual void | CalculateAndAddRHS (LocalSystemComponents &rLocalSystem, ElementDataType &rVariables, Vector &VolumeForce, double &rIntegrationWeight) |
virtual double & | CalculateIntegrationWeight (double &rIntegrationWeight) |
void | CalculateLocalAxesMatrix (Matrix &rRotationMatrix) |
virtual Vector & | CalculateVolumeForce (Vector &rVolumeForce, const Vector &rN) |
double & | CalculateTotalMass (SectionProperties &Section, double &rTotalMass) |
void | CalculateInertiaDyadic (SectionProperties &rSection, Matrix &rInertiaDyadic) |
Protected Attributes | |
Protected member Variables | |
IntegrationMethod | mReducedIntegrationMethod |
IntegrationMethod | mFullIntegrationMethod |
int | mIterationCounter |
double | mInvJ0 |
std::vector< Vector > | mCurrentCurvatureVectors |
std::vector< Vector > | mPreviousCurvatureVectors |
std::vector< QuaternionType > | mFrameQuaternionsReduced |
std::vector< QuaternionType > | mFrameQuaternionsFull |
Protected Attributes inherited from Kratos::BeamElement | |
IntegrationMethod | mThisIntegrationMethod |
QuaternionType | mInitialLocalQuaternion |
Type Definitions | |
typedef ConstitutiveLaw | ConstitutiveLawType |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef BeamMathUtils< double > | BeamMathUtilsType |
Type definition for beam utilities. More... | |
typedef Quaternion< double > | QuaternionType |
Type definition for quaternion. More... | |
typedef GeometryData::SizeType | SizeType |
Type for size. More... | |
typedef BeamElement::ElementDataType | ElementDataType |
Type for element variables. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (LargeDisplacementBeamElement) | |
Counted pointer of LargeDisplacementBeamElement. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::BeamElement | |
typedef ElementData | ElementDataType |
Type for element variables. More... | |
typedef ConstitutiveLaw | ConstitutiveLawType |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef BeamMathUtils< double > | BeamMathUtilsType |
Type definition for beam utilities. More... | |
typedef Quaternion< double > | QuaternionType |
Type definition for quaternion. More... | |
typedef GeometryData::SizeType | SizeType |
Type for size. More... | |
Public Types inherited from Kratos::Element | |
typedef Element | ElementType |
definition of element type More... | |
typedef GeometricalObject | BaseType |
base type: an GeometricalObject that automatically has a unique number More... | |
typedef Node | NodeType |
definition of node type (default is: Node) More... | |
typedef Properties | PropertiesType |
typedef Geometry< NodeType > | GeometryType |
definition of the geometry type with given NodeType More... | |
typedef Geometry< NodeType >::PointsArrayType | NodesArrayType |
definition of nodes container type, redefined from GeometryType More... | |
typedef Vector | VectorType |
typedef Matrix | MatrixType |
typedef std::size_t | IndexType |
typedef std::size_t | SizeType |
typedef Dof< double > | DofType |
typedef std::vector< std::size_t > | EquationIdVectorType |
typedef std::vector< DofType::Pointer > | DofsVectorType |
typedef PointerVectorSet< DofType > | DofsArrayType |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef GeometryData | GeometryDataType |
Public Types inherited from Kratos::GeometricalObject | |
typedef Node | NodeType |
Definition of the node type. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry type definition. More... | |
typedef std::size_t | IndexType |
Defines the index type. More... | |
typedef std::size_t | result_type |
Defines the result type. More... | |
Public Types inherited from Kratos::IndexedObject | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | result_type |
The definition of the result_type. More... | |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::GeometricalObject | |
static bool | HasSameType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same type. More... | |
static bool | HasSameType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same type (pointer version) More... | |
static bool | HasSameGeometryType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same geometry type. More... | |
static bool | HasSameGeometryType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same geometry type (pointer version) More... | |
static bool | IsSame (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject are the same. More... | |
static bool | IsSame (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject are the same (pointer version) More... | |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Beam Element for 3D space dimension Simo Displacement-Rotation Geometrically Exact Rod element.
Implements a Large Displacement Beam element for structural analysis. This works for linear and quadratic geometries in 3D and large displacements :: it must be extended larger order elements and 2D geometries Nodal Variables: DISPLACEMENT, STEP_DISPLACEMENT, VELOCITY, ACCELERATION, ROTATION, STEP_ROTATION, ANGULAR_VELOCITY, ANGULAR_ACCELERATION Nodal Dofs: DISPLACEMENT, ROTATION
Type definition for beam utilities.
typedef ConstitutiveLawType::Pointer Kratos::LargeDisplacementBeamElement::ConstitutiveLawPointerType |
Pointer type for constitutive laws.
Type for element variables.
Type definition for integration methods.
Type definition for quaternion.
Type for size.
StressMeasure from constitutive laws.
Kratos::LargeDisplacementBeamElement::LargeDisplacementBeamElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry | ||
) |
Default constructors.
Kratos::LargeDisplacementBeamElement::LargeDisplacementBeamElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry, | ||
PropertiesType::Pointer | pProperties | ||
) |
Kratos::LargeDisplacementBeamElement::LargeDisplacementBeamElement | ( | LargeDisplacementBeamElement const & | rOther | ) |
Copy constructor.
|
override |
Destructor.
|
inlineprotected |
|
overrideprotectedvirtual |
Calculation of the External Forces Vector. Fe = N * t + N * b
Reimplemented from Kratos::BeamElement.
|
protectedvirtual |
Calculation of the External Forces Vector. Fe = N * t + N * b
Reimplemented in Kratos::LargeDisplacementBeamEMCElement, and Kratos::GeometricallyExactRodElement.
|
overrideprotectedvirtual |
Calculation of the Tangent Intertia Matrix
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
overrideprotectedvirtual |
Calculation of the Inertial Forces Vector
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
overrideprotectedvirtual |
Calculation of the Internal Forces Vector. Fi = B * sigma
Reimplemented from Kratos::BeamElement.
|
protectedvirtual |
Calculation of the Follower Load Stiffness Matrix. Kuuf
Reimplemented in Kratos::LargeDisplacementBeamEMCElement, and Kratos::GeometricallyExactRodElement.
|
overrideprotectedvirtual |
Calculation of the Geometric Stiffness Matrix. Kuug = BT * S
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
protectedvirtual |
|
overrideprotectedvirtual |
Calculation of the Material Stiffness Matrix. Kuum = BT * C * B
Reimplemented from Kratos::BeamElement.
|
protected |
Calculation Complementary Method : B Auxiliar Matrix Calculation
|
overrideprotectedvirtual |
Calculate Element Constitutive Matrix
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
protectedvirtual |
Calculate current curvature
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement.
|
protectedvirtual |
Calculation Complementary Method : Derivative Shape Function Matrix Operator
Reimplemented in Kratos::LargeDisplacementBeamEMCElement, and Kratos::GeometricallyExactRodElement.
|
protected |
Calculation Complementary Method : Discrete Operator with Derivatives Shape Functions
|
overrideprotectedvirtual |
Calculates the elemental dynamic contributions
Reimplemented from Kratos::BeamElement.
|
protectedvirtual |
External forces energy computation
|
protectedvirtual |
Calculate Element Frame
Reimplemented in Kratos::LargeDisplacementBeamEMCElement, and Kratos::GeometricallyExactRodElement.
|
protected |
Calculation Complementary Method : Inertial Matrix Calculation Part 2
|
protectedvirtual |
Internal forces energy computation
|
overrideprotectedvirtual |
Calculate Element Kinematics
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
protectedvirtual |
Get Element Mass/Inertia Matrix for energy computation
|
overridevirtual |
this is called during the assembling process in order to calculate the elemental mass matrix
rMassMatrix | the elemental mass matrix |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement.
|
protectedvirtual |
Get Element Linear and Angular Momentum
|
overridevirtual |
Calculate a double Variable on the Element Constitutive Law
Reimplemented from Kratos::BeamElement.
|
protected |
Calculation Complementary Method : Shape Function Matrix Operator
|
protectedvirtual |
Calculation Complementary Method : Inertial Matrix Calculation Part 1
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
protectedvirtual |
Get Element Strain/Stress for energy computation
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
overrideprotectedvirtual |
Calculate Element Stress Resultants and Couples
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
protected |
Calculation of Element Mass
|
overridevirtual |
This function provides the place to perform checks on the completeness of the input. It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.
rCurrentProcessInfo |
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
overridevirtual |
creates a new element pointer
NewId | the ID of the new element |
ThisNodes | the nodes of the new element |
pProperties | the properties assigned to the new element |
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
overridevirtual |
this is called for non-linear analysis at the beginning of the iteration process
Reimplemented from Kratos::BeamElement.
|
overridevirtual |
Called at the end of eahc solution step
Reimplemented from Kratos::BeamElement.
|
protected |
Get Node Movements for energy computation
|
protected |
Get Node Velocities for energy computation
|
protected |
Returns the currently selected full integration method
|
protected |
Get Element Mass/Inertia Matrix for energy computation
|
protected |
Returns the currently selected reduced integration method
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
overridevirtual |
Called to initialize the element. Must be called before any calculation is done
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
overridevirtual |
this is called for non-linear analysis at the beginning of the iteration process
Reimplemented from Kratos::BeamElement.
|
overridevirtual |
Called at the beginning of each solution step
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
Kratos::LargeDisplacementBeamElement::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | LargeDisplacementBeamElement | ) |
Counted pointer of LargeDisplacementBeamElement.
|
protectedvirtual |
Transform Vector Variable form Material Frame to the Spatial Frame
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::BeamElement.
Reimplemented in Kratos::LargeDisplacementBeamSEMCElement, and Kratos::LargeDisplacementBeamEMCElement.
|
protectedvirtual |
Update strain current member variables
Reimplemented in Kratos::LargeDisplacementBeamEMCElement.
|
friend |
|
protected |
Elemental current curvature vectors for each integration point
|
protected |
Quaternion of the frame for full integration points
|
protected |
Quaternion of the frame for reduced integration points
|
protected |
Currently selected full integration method
|
protected |
Container for historical total Jacobians
|
protected |
Iteration counter
|
protected |
Elemental previous curvature vectors for each integration point
|
protected |
Currently selected reduced integration method