15 #if !defined(KRATOS_EMPIRICAL_SPRING_H_INCLUDED )
16 #define KRATOS_EMPIRICAL_SPRING_H_INCLUDED
41 static constexpr
int msNumberOfNodes = 2;
42 static constexpr
int msDimension = 3;
43 static constexpr
unsigned int msLocalSize = msNumberOfNodes * msDimension;
63 GeometryType::Pointer pGeometry);
65 GeometryType::Pointer pGeometry,
66 PropertiesType::Pointer pProperties);
80 GeometryType::Pointer pGeom,
81 PropertiesType::Pointer pProperties
94 PropertiesType::Pointer pProperties
97 void EquationIdVector(
98 EquationIdVectorType& rResult,
99 const ProcessInfo& rCurrentProcessInfo)
const override;
102 DofsVectorType& rElementalDofList,
103 const ProcessInfo& rCurrentProcessInfo)
const override;
109 CreateElementStiffnessMatrix(
const ProcessInfo& rCurrentProcessInfo);
112 void CalculateLocalSystem(
118 void CalculateRightHandSide(
122 void CalculateLeftHandSide(
126 void AddExplicitContribution(
131 void AddExplicitContribution(
137 void CalculateMassMatrix(
141 void CalculateLumpedMassVector(
143 const ProcessInfo &rCurrentProcessInfo)
const override;
145 void CalculateDampingMatrix(
MatrixType& rDampingMatrix,
152 double EvaluatePolynomial(
const Vector& rPolynomial)
const;
153 double EvaluatePolynomialFirstDerivative(
const Vector& rPolynomial)
const;
160 & rReferenceCoordinates);
162 void CreateTransformationMatrix(
BoundedMatrix<
double,msLocalSize,
163 msLocalSize>& rRotationMatrix);
165 double GetElementElongation()
const;
168 void GetValuesVector(
170 int Step = 0)
const override;
172 void GetSecondDerivativesVector(
174 int Step = 0)
const override;
176 void GetFirstDerivativesVector(
178 int Step = 0)
const override;
181 const ProcessInfo& rCurrentProcessInfo)
const override;
186 void save(
Serializer& rSerializer)
const override;
Base class for all Elements.
Definition: element.h:60
This spring reads a fitted polynomial as displacement-load curve takes u and returns f.
Definition: empirical_spring.hpp:38
BaseType::PropertiesType PropertiesType
Definition: empirical_spring.hpp:52
BaseType::VectorType VectorType
Definition: empirical_spring.hpp:56
BaseType::DofsVectorType DofsVectorType
Definition: empirical_spring.hpp:58
BaseType::MatrixType MatrixType
Definition: empirical_spring.hpp:55
BaseType::IndexType IndexType
Definition: empirical_spring.hpp:53
Element BaseType
Definition: empirical_spring.hpp:49
BaseType::NodesArrayType NodesArrayType
Definition: empirical_spring.hpp:51
BaseType::GeometryType GeometryType
Definition: empirical_spring.hpp:50
EmpiricalSpringElement3D2N()
Definition: empirical_spring.hpp:61
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(EmpiricalSpringElement3D2N)
BaseType::SizeType SizeType
Definition: empirical_spring.hpp:54
BaseType::EquationIdVectorType EquationIdVectorType
Definition: empirical_spring.hpp:57
std::size_t IndexType
Defines the index type.
Definition: geometrical_object.h:73
Geometry base class.
Definition: geometry.h:71
Definition: amatrix_interface.h:41
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
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
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