14 #if !defined(KRATOS_U_PW_ELEMENT_H_INCLUDED )
15 #define KRATOS_U_PW_ELEMENT_H_INCLUDED
33 template<
unsigned int TDim,
unsigned int TNumNodes >
53 UPwElement(
IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) :
Element( NewId, pGeometry, pProperties )
55 mThisIntegrationMethod = this->GetIntegrationMethod();
65 Element::Pointer
Create(
IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties)
const override;
67 int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
69 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
71 void GetDofList( DofsVectorType& rElementalDofList,
const ProcessInfo& rCurrentProcessInfo )
const override;
79 void CalculateLeftHandSide(
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo )
override;
81 void CalculateRightHandSide(
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo )
override;
87 void CalculateDampingMatrix(
MatrixType& rDampingMatrix,
const ProcessInfo& rCurrentProcessInfo)
override;
89 void GetValuesVector(
Vector& rValues,
int Step = 0)
const override;
91 void GetFirstDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
93 void GetSecondDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
112 void AddExplicitContribution(
119 void AddExplicitContribution(
const VectorType& rRHSVector,
142 virtual void CalculateStiffnessMatrix(
MatrixType& rStiffnessMatrix,
const ProcessInfo& CurrentProcessInfo );
146 virtual void CalculateRHS(
VectorType& rRightHandSideVector,
const ProcessInfo& CurrentProcessInfo );
151 virtual void CalculateFluxResidual (
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo);
153 virtual void CalculateMixBodyForce (
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo);
155 virtual void CalculateNegInternalForce (
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo);
159 virtual void CalculateLumpedMassMatrix(
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo );
161 virtual void CalculateDampingMatrixWithLumpedMass(
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo );
163 virtual void CalculateInertialForce (
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo);
165 virtual void CalculateDampingForce (
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo);
175 void save(
Serializer& rSerializer)
const override
186 UPwElement &
operator=(UPwElement
const& rOther);
189 UPwElement(UPwElement
const& rOther);
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Base class for all Elements.
Definition: element.h:60
std::vector< std::size_t > EquationIdVectorType
Definition: element.h:98
std::size_t IndexType
Definition: flags.h:74
IntegrationMethod
Definition: geometry_data.h:76
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
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
Definition: U_Pw_element.hpp:35
std::vector< ConstitutiveLaw::Pointer > mConstitutiveLawVector
Definition: U_Pw_element.hpp:134
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
UPwElement(IndexType NewId, const NodesArrayType &ThisNodes)
Constructor using an array of nodes.
Definition: U_Pw_element.hpp:47
virtual ~UPwElement()
Destructor.
Definition: U_Pw_element.hpp:59
Matrix mIntrinsicPermeability
Definition: U_Pw_element.hpp:136
UPwElement(IndexType NewId=0)
Default Constructor.
Definition: U_Pw_element.hpp:44
UPwElement(IndexType NewId, GeometryType::Pointer pGeometry)
Constructor using Geometry.
Definition: U_Pw_element.hpp:50
void CalculateIntegrationCoefficient(double &rIntegrationCoefficient, const double &detJ, const double &weight)
UPwElement(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Constructor using Properties.
Definition: U_Pw_element.hpp:53
std::vector< double > mImposedZStrainVector
Definition: U_Pw_element.hpp:138
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(UPwElement)
GeometryData::IntegrationMethod mThisIntegrationMethod
Member Variables.
Definition: U_Pw_element.hpp:132
#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 SetValuesOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const std::vector< TDataType > &values, const ProcessInfo &rCurrentProcessInfo)
Definition: add_mesh_to_python.cpp:185
pybind11::list CalculateOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const ProcessInfo &rProcessInfo)
Definition: add_mesh_to_python.cpp:142
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