10 #if !defined(KRATOS_RIGID_BODY_POINT_LINK_CONDITION_H_INCLUDED )
11 #define KRATOS_RIGID_BODY_POINT_LINK_CONDITION_H_INCLUDED
167 PropertiesType::Pointer pProperties )
const override;
175 Condition::Pointer Clone(
IndexType NewId,
185 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
190 void InitializeNonLinearIteration(
const ProcessInfo& rCurrentProcessInfo)
override;
195 void FinalizeNonLinearIteration(
const ProcessInfo& rCurrentProcessInfo)
override;
205 void FinalizeSolutionStep(
const ProcessInfo& rCurrentProcessInfo)
override;
212 void GetDofList(DofsVectorType& rConditionDofList,
213 const ProcessInfo& rCurrentProcessInfo )
const override;
218 void EquationIdVector(EquationIdVectorType& rResult,
219 const ProcessInfo& rCurrentProcessInfo )
const override;
224 void GetValuesVector(
Vector& rValues,
225 int Step = 0 )
const override;
230 void GetFirstDerivativesVector(
Vector& rValues,
231 int Step = 0 )
const override;
236 void GetSecondDerivativesVector(
Vector& rValues,
237 int Step = 0 )
const override;
250 void CalculateLocalSystem(
MatrixType& rLeftHandSideMatrix,
260 void CalculateRightHandSide(
VectorType& rRightHandSideVector,
270 void CalculateSecondDerivativesContributions(
MatrixType& rLeftHandSideMatrix,
280 void CalculateSecondDerivativesLHS(
MatrixType& rLeftHandSideMatrix,
290 void CalculateSecondDerivativesRHS(
VectorType& rRightHandSideVector,
299 void CalculateMassMatrix(
MatrixType& rMassMatrix,
308 void CalculateDampingMatrix(
MatrixType& rDampingMatrix,
318 virtual int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
356 virtual void InitializeSystemMatrices(
MatrixType& rLeftHandSideMatrix,
359 Flags& rCalculationFlags);
387 virtual void CalculateAndAddTangent(
MatrixType& rLeftHandSideMatrix,
393 virtual void CalculateAndAddForces(
VectorType& rRightHandSideVector,
400 virtual void CalculateAndAddTangentBeam(
MatrixType& rLeftHandSideMatrix,
406 virtual void CalculateAndAddForcesBeam(
VectorType& rRightHandSideVector,
414 void AssembleLocalLHS(
MatrixType& rLeftHandSideMatrix,
422 void AssembleLocalRHS(
VectorType& rRightHandSideVector,
435 void WriteMatrixInRows(std::string MatrixName,
483 void save(
Serializer& rSerializer )
const override
Definition: beam_math_utilities.hpp:31
Base class for all Conditions.
Definition: condition.h:59
std::size_t SizeType
Definition: condition.h:94
Base class for all Elements.
Definition: element.h:60
std::size_t SizeType
Definition: geometry_data.h:173
std::vector< std::unique_ptr< Dof< double > >> DofsContainerType
The DoF container type definition.
Definition: node.h:92
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Rigid Body Point Rigid Contact Condition for 3D and 2D geometries. (base class)
Definition: rigid_body_point_link_condition.hpp:47
GeometryData::SizeType SizeType
Definition: rigid_body_point_link_condition.hpp:57
KRATOS_DEFINE_LOCAL_FLAG(COMPUTE_LHS_MATRIX)
Node::DofsContainerType DofsContainerType
Definition: rigid_body_point_link_condition.hpp:56
GlobalPointersVector< Element > ElementWeakPtrVectorType
Definition: rigid_body_point_link_condition.hpp:60
static const std::array< const VariableData, 3 > mAngularDofs
Definition: rigid_body_point_link_condition.hpp:343
static const std::array< const VariableData, 6 > mLinearDofs
Definition: rigid_body_point_link_condition.hpp:342
BeamMathUtils< double > BeamMathUtilsType
Definition: rigid_body_point_link_condition.hpp:58
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(RigidBodyPointLinkCondition)
Node::Pointer PointPointerType
Definition: rigid_body_point_link_condition.hpp:54
Quaternion< double > QuaternionType
Definition: rigid_body_point_link_condition.hpp:55
Vector VectorType
Definition: rigid_body_point_link_condition.hpp:52
Element ElementType
Definition: rigid_body_point_link_condition.hpp:53
RigidBodyPointLinkCondition()
Definition: rigid_body_point_link_condition.hpp:441
KRATOS_DEFINE_LOCAL_FLAG(COMPUTE_RHS_VECTOR)
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
#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
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
def load(f)
Definition: ode_solve.py:307
Definition: rigid_body_point_link_condition.hpp:77
SizeType MasterAngularBlockSize
Definition: rigid_body_point_link_condition.hpp:81
SizeType MasterLinearBlockSize
Definition: rigid_body_point_link_condition.hpp:80
Flags Options
Definition: rigid_body_point_link_condition.hpp:78
SizeType SlaveLinearBlockSize
Definition: rigid_body_point_link_condition.hpp:84
SizeType SlaveNode
Definition: rigid_body_point_link_condition.hpp:83
std::vector< SizeType > DeformableNodes
Definition: rigid_body_point_link_condition.hpp:88
BoundedMatrix< double, 3, 3 > SlaveSkewSymDistance
Definition: rigid_body_point_link_condition.hpp:90
std::vector< BoundedMatrix< double, 3, 3 > > RigidSkewSymDistances
Definition: rigid_body_point_link_condition.hpp:91
std::vector< SizeType > RigidNodes
Definition: rigid_body_point_link_condition.hpp:87
Element * pSlaveElement
Definition: rigid_body_point_link_condition.hpp:93
SizeType SlaveAngularBlockSize
Definition: rigid_body_point_link_condition.hpp:85
Definition: rigid_body_point_link_condition.hpp:105
void SetLeftHandSideMatrix(MatrixType &rLeftHandSideMatrix)
Definition: rigid_body_point_link_condition.hpp:120
void SetRightHandSideVector(VectorType &rRightHandSideVector)
Definition: rigid_body_point_link_condition.hpp:121
VectorType & GetRightHandSideVector()
Definition: rigid_body_point_link_condition.hpp:127
Flags CalculationFlags
Definition: rigid_body_point_link_condition.hpp:115
MatrixType & GetLeftHandSideMatrix()
Definition: rigid_body_point_link_condition.hpp:126