14 #if !defined(KRATOS_MPM_PARTICLE_BASE_CONDITION_3D_H_INCLUDED )
15 #define KRATOS_MPM_PARTICLE_BASE_CONDITION_3D_H_INCLUDED
243 KRATOS_ERROR <<
"the conditions only works for 2D and 3D elements";
256 std::vector<double>& rValues,
269 const std::vector<double>& rValues,
326 const bool CalculateStiffnessMatrixFlag,
327 const bool CalculateResidualVectorFlag
392 void save(
Serializer& rSerializer )
const override
Base class for all Conditions.
Definition: condition.h:59
std::vector< std::size_t > EquationIdVectorType
Definition: condition.h:98
Matrix MatrixType
Definition: condition.h:90
std::vector< DofType::Pointer > DofsVectorType
Definition: condition.h:100
std::size_t IndexType
Definition: flags.h:74
GeometryType & GetGeometry()
Returns the reference of the geometry.
Definition: geometrical_object.h:158
SizeType WorkingSpaceDimension() const
Definition: geometry.h:1287
Definition: mpm_particle_base_condition.h:50
void CalculateOnIntegrationPoints(const Variable< double > &rVariable, std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override
Definition: mpm_particle_base_condition.cpp:303
MPMParticleBaseCondition(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Definition: mpm_particle_base_condition.h:106
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
Definition: mpm_particle_base_condition.cpp:29
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: mpm_particle_base_condition.cpp:187
std::size_t SizeType
Definition: mpm_particle_base_condition.h:84
array_1d< double, 3 > m_acceleration
Definition: mpm_particle_base_condition.h:301
void CalculateDampingMatrix(MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: mpm_particle_base_condition.cpp:213
~MPMParticleBaseCondition() override
Definition: mpm_particle_base_condition.h:112
array_1d< double, 3 > m_displacement
Definition: mpm_particle_base_condition.h:300
Matrix & CalculateCurrentDisp(Matrix &rCurrentDisp, const ProcessInfo &rCurrentProcessInfo)
Definition: mpm_particle_base_condition.cpp:278
void GetDofList(DofsVectorType &ElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override
Definition: mpm_particle_base_condition.cpp:59
array_1d< double, 3 > m_velocity
Definition: mpm_particle_base_condition.h:302
MPMParticleBaseCondition()
Definition: mpm_particle_base_condition.h:95
virtual double GetIntegrationWeight()
Definition: mpm_particle_base_condition.cpp:394
unsigned int GetBlockSize()
Definition: mpm_particle_base_condition.h:233
void CalculateMassMatrix(MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: mpm_particle_base_condition.cpp:199
virtual void CalculateAll(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo, const bool CalculateStiffnessMatrixFlag, const bool CalculateResidualVectorFlag)
Definition: mpm_particle_base_condition.cpp:227
void GetFirstDerivativesVector(Vector &rValues, int Step=0) const override
Definition: mpm_particle_base_condition.cpp:117
void GetValuesVector(Vector &rValues, int Step=0) const override
Definition: mpm_particle_base_condition.cpp:88
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: mpm_particle_base_condition.cpp:175
void SetValuesOnIntegrationPoints(const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override
Definition: mpm_particle_base_condition.cpp:346
bool HasRotDof()
Definition: mpm_particle_base_condition.h:231
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: mpm_particle_base_condition.cpp:240
double m_area
Definition: mpm_particle_base_condition.h:304
array_1d< double, 3 > m_xg
Definition: mpm_particle_base_condition.h:299
void GetSecondDerivativesVector(Vector &rValues, int Step=0) const override
Definition: mpm_particle_base_condition.cpp:146
virtual void MPMShapeFunctionPointValues(Vector &rResult) const
Definition: mpm_particle_base_condition.cpp:264
MPMParticleBaseCondition(IndexType NewId, GeometryType::Pointer pGeometry)
Definition: mpm_particle_base_condition.h:100
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(MPMParticleBaseCondition)
array_1d< double, 3 > m_normal
Definition: mpm_particle_base_condition.h:303
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
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
int dimension
Definition: isotropic_damage_automatic_differentiation.py:123
def load(f)
Definition: ode_solve.py:307
Definition: mpm_particle_base_condition.h:59
double detF0
Definition: mpm_particle_base_condition.h:67
double ReferenceRadius
Definition: mpm_particle_base_condition.h:64
Matrix DN_DX
Definition: mpm_particle_base_condition.h:74
Matrix FT
Definition: mpm_particle_base_condition.h:73
double detF
Definition: mpm_particle_base_condition.h:68
Vector N
Definition: mpm_particle_base_condition.h:70
Matrix DN_De
Definition: mpm_particle_base_condition.h:75
Matrix CurrentDisp
Definition: mpm_particle_base_condition.h:78
Matrix F
Definition: mpm_particle_base_condition.h:72
double detFT
Definition: mpm_particle_base_condition.h:69
double CurrentRadius
Definition: mpm_particle_base_condition.h:63
Matrix F0
Definition: mpm_particle_base_condition.h:71