5 #if !defined(KRATOS_DEM_WALL_H_INCLUDED )
6 #define KRATOS_DEM_WALL_H_INCLUDED
23 class GluedToWallScheme;
27 class SphericParticle;
51 DEMWall(
IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties );
59 virtual Condition::Pointer
Create(
62 PropertiesType::Pointer pProperties )
const override;
65 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
66 virtual void CalculateRightHandSide(
VectorType& rRightHandSideVector,
const ProcessInfo& r_process_info)
override;
68 virtual void CalculateElasticForces(
VectorType& rRightHandSideVector,
const ProcessInfo& r_process_info );
70 virtual void FinalizeSolutionStep(
const ProcessInfo& r_process_info)
override;
72 virtual void AddExplicitContribution(
const VectorType& rRHS,
80 double LocalCoordSystem[3][3],
86 KRATOS_ERROR <<
"Base class DemWall method ComputeConditionRelativeData was called!" << std::endl;
91 double GetYoung()
const;
92 double GetPoisson()
const;
98 virtual void SetRightHadSideVector(
const std::vector<
array_1d <double, 3> >& rRightHandSideVector);
99 virtual void AddToRightHadSideVector(
const std::vector<
array_1d <double, 3> >& rRightHandSideVector);
108 return mVectorOfGluedParticles;
118 std::vector<SphericParticle*> mVectorOfGluedParticles;
131 virtual void save(
Serializer& rSerializer )
const override
Base class for all Conditions.
Definition: condition.h:59
Definition: dem_wall.h:29
ParticleWeakVectorType::ptr_iterator ParticleWeakIteratorType_ptr
Definition: dem_wall.h:37
GlobalPointersVector< Condition >::iterator ConditionWeakIteratorType
Definition: dem_wall.h:41
virtual void ComputeConditionRelativeData(int rigid_neighbour_index, SphericParticle *const particle, double LocalCoordSystem[3][3], double &DistPToB, array_1d< double, 4 > &Weight, array_1d< double, 3 > &wall_delta_disp_at_contact_point, array_1d< double, 3 > &wall_velocity_at_contact_point, int &ContactType)
Definition: dem_wall.h:78
std::vector< array_1d< double, 3 > > mRightHandSideVector
Definition: dem_wall.h:95
GlobalPointersVector< Element > ParticleWeakVectorType
Definition: dem_wall.h:36
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(DEMWall)
virtual int CheckSide(SphericParticle *p_particle)
Definition: dem_wall.h:89
std::vector< SphericParticle * > mNeighbourSphericParticles
Definition: dem_wall.h:94
virtual bool IsPhantom()
Definition: dem_wall.h:88
std::vector< SphericParticle * > & GetVectorOfGluedParticles()
Definition: dem_wall.h:107
GlobalPointersVector< Element >::iterator ParticleWeakIteratorType
Definition: dem_wall.h:38
GlobalPointersVector< Condition > ConditionWeakVectorType
Definition: dem_wall.h:40
std::size_t IndexType
Definition: flags.h:74
boost::indirect_iterator< typename TContainerType::iterator > iterator
Definition: global_pointers_vector.h:79
typename TContainerType::iterator ptr_iterator
Definition: global_pointers_vector.h:85
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: spheric_particle.h:31
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#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
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307