28 #include "custom_utilities/element_utilities.hpp"
34 template <
unsigned int TDim,
unsigned int TNumNodes>
52 :
Element(NewId, pGeometry, pProperties)
55 mThisIntegrationMethod = this->GetIntegrationMethod();
76 void ResetConstitutiveLaw() override;
80 void CalculateLocalSystem(
MatrixType& rLeftHandSideMatrix,
94 void GetValuesVector(
Vector& rValues,
int Step = 0)
const override;
96 void GetFirstDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
98 void GetSecondDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
113 std::vector<
double>& rValues,
138 return "U-Pw Base class Element #" + std::to_string(Id()) +
139 "\nConstitutive law: " + mConstitutiveLawVector[0]->Info();
142 void PrintInfo(std::ostream& rOStream)
const override { rOStream <<
Info(); }
153 bool mIsInitialised =
false;
155 virtual void CalculateMaterialStiffnessMatrix(
MatrixType& rStiffnessMatrix,
const ProcessInfo& CurrentProcessInfo);
157 virtual void CalculateAll(
MatrixType& rLeftHandSideMatrix,
160 bool CalculateStiffnessMatrixFlag,
161 bool CalculateResidualVectorFlag);
164 unsigned int PointNumber,
167 void CalculateDerivativesOnInitialConfiguration(
168 double& detJ,
Matrix& J0,
Matrix& InvJ0,
Matrix& DN_DX,
unsigned int PointNumber)
const;
170 void CalculateJacobianOnCurrentConfiguration(
double& detJ,
Matrix& rJ,
Matrix& rInvJ,
unsigned int GPoint)
const;
181 void CalculateJacobianOnCurrentConfiguration(
182 double& detJ,
Matrix& J0,
Matrix& InvJ0,
Matrix& DN_DX,
unsigned int PointNumber)
const;
193 double CalculateDerivativesOnCurrentConfiguration(
Matrix& rJ,
199 virtual unsigned int GetNumberOfDOF()
const;
204 void save(
Serializer& rSerializer)
const override
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: constitutive_law.h:47
Base class for all Elements.
Definition: element.h:60
std::size_t SizeType
Definition: element.h:94
std::vector< DofType::Pointer > DofsVectorType
Definition: element.h:100
std::vector< std::size_t > EquationIdVectorType
Definition: element.h:98
std::size_t IndexType
Definition: flags.h:74
Definition: geometry_data.h:60
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
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
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
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_base_element.hpp:36
UPwBaseElement(UPwBaseElement &&) noexcept=delete
UPwBaseElement(const UPwBaseElement &)=delete
UPwBaseElement & operator=(const UPwBaseElement &)=delete
std::vector< Vector > mStateVariablesFinalized
Definition: U_Pw_base_element.hpp:152
UPwBaseElement(IndexType NewId, const NodesArrayType &ThisNodes)
Constructor using an array of nodes.
Definition: U_Pw_base_element.hpp:45
std::vector< RetentionLaw::Pointer > mRetentionLawVector
Definition: U_Pw_base_element.hpp:149
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: U_Pw_base_element.hpp:142
std::vector< Vector > mStressVector
Definition: U_Pw_base_element.hpp:151
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(UPwBaseElement)
~UPwBaseElement() override=default
UPwBaseElement(IndexType NewId=0)
Definition: U_Pw_base_element.hpp:42
GeometryData::IntegrationMethod mThisIntegrationMethod
Member Variables.
Definition: U_Pw_base_element.hpp:146
UPwBaseElement(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Constructor using Properties.
Definition: U_Pw_base_element.hpp:51
std::vector< ConstitutiveLaw::Pointer > mConstitutiveLawVector
Definition: U_Pw_base_element.hpp:148
UPwBaseElement(IndexType NewId, GeometryType::Pointer pGeometry)
Constructor using Geometry.
Definition: U_Pw_base_element.hpp:48
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
Short class definition.
Definition: array_1d.h:61
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
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
Kratos::PeriodicInterfaceProcess Process operator(std::istream &rIStream, PeriodicInterfaceProcess &rThis)
input stream function
def load(f)
Definition: ode_solve.py:307
tuple const
Definition: ode_solve.py:403
namespace
Definition: array_1d.h:793