15 #if !defined(KRATOS_SLIDING_CABLE_ELEMENT_H_INCLUDED )
16 #define KRATOS_SLIDING_CABLE_ELEMENT_H_INCLUDED
41 ConstitutiveLaw::Pointer mpConstitutiveLaw =
nullptr;
61 GeometryType::Pointer pGeometry);
63 GeometryType::Pointer pGeometry,
64 PropertiesType::Pointer pProperties);
78 GeometryType::Pointer pGeom,
79 PropertiesType::Pointer pProperties
92 PropertiesType::Pointer pProperties
95 void EquationIdVector(
96 EquationIdVectorType& rResult,
97 const ProcessInfo& rCurrentProcessInfo)
const override;
100 DofsVectorType& rElementalDofList,
101 const ProcessInfo& rCurrentProcessInfo)
const override;
103 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
105 void CalculateLeftHandSide(
109 void CalculateLocalSystem(
MatrixType &rLeftHandSideMatrix,
113 void CalculateRightHandSide(
VectorType &rRightHandSideVector,
116 void GetValuesVector(
Vector& rValues,
int Step = 0)
const override;
117 void GetSecondDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
118 void GetFirstDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
120 Vector GetCurrentLengthArray(
int Step = 0)
const;
121 Vector GetRefLengthArray()
const;
122 Vector GetDeltaPositions(
const int& rDirection)
const;
123 Vector GetDirectionVectorNt()
const;
124 Vector GetInternalForces();
128 inline Matrix TotalStiffnessMatrix(
const ProcessInfo& rCurrentProcessInfo)
const;
130 double GetCurrentLength()
const;
131 double GetRefLength()
const;
132 double CalculateGreenLagrangeStrain()
const;
135 return (this->GetProperties()[CROSS_AREA] * this->GetProperties()[YOUNG_MODULUS] / this->GetRefLength());
141 double prestress = 0.00;
142 if (this->GetProperties().
Has(TRUSS_PRESTRESS_PK2)) {
143 prestress = this->GetProperties()[TRUSS_PRESTRESS_PK2];
148 void CalculateLumpedMassVector(
150 const ProcessInfo &rCurrentProcessInfo)
const override;
152 void CalculateMassMatrix(
156 void CalculateDampingMatrix(
161 void AddExplicitContribution(
174 int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
177 void FinalizeSolutionStep(
const ProcessInfo& rCurrentProcessInfo)
override;
182 bool HasSelfWeight()
const;
187 Vector CalculateBodyForces();
189 Vector GetCustomInternalForceWithFriction(
const Vector& rNormalForces);
191 Vector CalculateProjectionLengths();
193 double ReturnTangentModulus1D(
const ProcessInfo& rCurrentProcessInfo)
const;
201 void save(
Serializer& rSerializer)
const override;
Base class for all Elements.
Definition: element.h:60
std::size_t IndexType
Defines the index type.
Definition: geometrical_object.h:73
Geometry base class.
Definition: geometry.h:71
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
This is a sliding node element with 3 translational dofs per node.
Definition: sliding_cable_element_3D.hpp:38
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(SlidingCableElement3D)
BaseType::VectorType VectorType
Definition: sliding_cable_element_3D.hpp:54
SlidingCableElement3D()
Definition: sliding_cable_element_3D.hpp:59
BaseType::DofsVectorType DofsVectorType
Definition: sliding_cable_element_3D.hpp:56
Element BaseType
Definition: sliding_cable_element_3D.hpp:47
BaseType::MatrixType MatrixType
Definition: sliding_cable_element_3D.hpp:53
double GetPK2PrestressValue() const
Definition: sliding_cable_element_3D.hpp:138
BaseType::SizeType SizeType
Definition: sliding_cable_element_3D.hpp:52
BaseType::EquationIdVectorType EquationIdVectorType
Definition: sliding_cable_element_3D.hpp:55
void AddExplicitContribution(const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override
This function is designed to make the element to assemble an rRHS vector identified by a variable rRH...
BaseType::PropertiesType PropertiesType
Definition: sliding_cable_element_3D.hpp:50
double LinearStiffness() const
Definition: sliding_cable_element_3D.hpp:133
BaseType::NodesArrayType NodesArrayType
Definition: sliding_cable_element_3D.hpp:49
BaseType::IndexType IndexType
Definition: sliding_cable_element_3D.hpp:51
BaseType::GeometryType GeometryType
Definition: sliding_cable_element_3D.hpp:48
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
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
bool Has(const std::string &ModelerName)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:24
std::size_t SizeType
Definition: nurbs_utilities.h:41
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Properties PropertiesType
Definition: regenerate_pfem_pressure_conditions_process.h:26
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
def load(f)
Definition: ode_solve.py:307