68 inline int getId()
const {
return this->
id; }
162 inline void setId(
int particle_id) { this->
id=particle_id; }
170 inline void setMass(
double particle_mass) { this->
mass=particle_mass; }
186 inline void setSize(
const Vector3d& particle_size) { this->
size=particle_size; }
200 (void)particle_velocity_fluid;
212 (void)strain_increment_fluid;
222 inline void setStress(
const Matrix3d& particle_stress) { this->
stress=particle_stress; }
240 (void)delta_external_fluid_force;
Represents a material.
Definition Material.h:14
int getId() const
Return the identification.
Definition Material.h:32
virtual void updateStress(Particle *particle) const =0
Update the stress tensor.
Class representing a rectangular grid mesh.
Definition Mesh.h:29
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition Particle.h:25
const Matrix3d & getStress() const
Returns the current particle stress tensor.
Definition Particle.h:134
void updateStress()
Update the particle stress.
Definition Particle.h:44
Matrix3d strainIncrement
current particle strain increment:
Definition Particle.h:344
Matrix3d stress
current particle stress:
Definition Particle.h:340
double plasticStrain
current effective plastic strain:
Definition Particle.h:328
void setVorticityIncrement(const Matrix3d &vorticity_increment)
Configures the vorticity increment.
Definition Particle.h:218
Vector3d externalForce
particle external force:
Definition Particle.h:334
Matrix3d deformationGradient
particle deformation gradient:
Definition Particle.h:346
const Matrix3d & getStrain() const
Returns the strain.
Definition Particle.h:146
int getBodyId() const
Returns the particle's body Id.
Definition Particle.h:82
virtual void setStrainIncrementFluid(const Matrix3d &strain_increment_fluid)
Configures the strain increment of fluid phase.
Definition Particle.h:210
virtual void setPressureFluid(double pressure)
Configure the pressure of fluid.
Definition Particle.h:262
void setActive(bool particle_active)
Configures the particle active status.
Definition Particle.h:158
void setMass(double particle_mass)
Configures particle mass.
Definition Particle.h:170
Material * material
particle material (see class Material)
Definition Particle.h:350
double getDensity() const
Returns the current solid density.
Definition Particle.h:94
void setBodyId(int body_id)
Configures the set particle's body Id.
Definition Particle.h:166
int getMaterialId() const
Returns the particle's material.
Definition Particle.h:72
virtual double getPorosity() const
Returns current porosity.
Definition Particle.h:269
virtual Vector3d getDragForceFluid() const
Returns the drag force of fluid in particle.
Definition Particle.h:277
void setVelocity(const Vector3d &particle_velocity)
Configures particle velocity.
Definition Particle.h:194
const Matrix3d & getStrainIncrement() const
Returns the strain increment.
Definition Particle.h:138
int getId() const
Returns the particle identification.
Definition Particle.h:68
void addPlasticStrain(double deltaPlasticStrain)
Add a plastic strain increment.
Definition Particle.h:250
void setStrainIncrement(const Matrix3d &strain_increment)
Configures the strain increment.
Definition Particle.h:206
bool getIfSTLContact() const
Returns whether the particle is in contact with STL terrain.
Definition Particle.h:312
int id
particle id
Definition Particle.h:323
void setStress(const Matrix3d &particle_stress)
Configures the current particle stress tensor.
Definition Particle.h:222
const Vector3d & getVelocity() const
Returns particle velocity.
Definition Particle.h:126
Vector3d position
current particle position:
Definition Particle.h:331
void setInitialPosition(const Vector3d &particle_initial_position)
Configures the initial particle position.
Definition Particle.h:182
void setDensity(double particle_density)
Configures particle density.
Definition Particle.h:174
virtual double getCurrentVolume() const
Returns current particle volume.
Definition Particle.h:102
void setInSTLContact(bool in_contact)
Configures whether the particle is in contact with STL terrain.
Definition Particle.h:315
virtual void updatePorosity()
Update the particle porosity.
Definition Particle.h:60
void updateDensity()
Update the particle density.
Matrix3d vorticityIncrement
particle vorticity increment:
Definition Particle.h:345
bool active
is particle active
Definition Particle.h:319
int bodyId
body id
Definition Particle.h:324
virtual double getSaturation() const
Returns Saturation of fluid in void in mixture.
Definition Particle.h:273
virtual const Vector3d * getExternalForceFluid() const
Returns the external force of fluid in particle.
Definition Particle.h:122
const Matrix3d & getDeformationGradient() const
Returns deformation gradient.
Definition Particle.h:285
virtual double getMassFluid() const
Returns fluid mass in mixture.
Definition Particle.h:90
Material * getMaterial()
Returns the particle's material.
Definition Particle.h:76
Vector3d contactTangentialForce
particle contact tangential force:
Definition Particle.h:338
void setPorePressure(double p)
Set pore pressure of the particle.
Definition Particle.h:294
double getPorePressure() const
Get pore pressure of the particle.
Definition Particle.h:297
double density
current particle density:
Definition Particle.h:327
Vector3d initialPosition
particle initial position:
Definition Particle.h:332
double getInitialVolume() const
Returns initial particle volume.
Definition Particle.h:106
Shape * shape
shape functions values (see class Shape)
Definition Particle.h:349
bool stl_contact
is particle in contact with STL terrain
Definition Particle.h:321
bool getActive() const
Returns the particle active status.
Definition Particle.h:64
void setShape(Shape *shape)
Configures the shape function in the particle.
Definition Particle.h:230
double porePressure
current pore pressure of fluid in particle:
Definition Particle.h:342
void setId(int particle_id)
Configures the particle id.
Definition Particle.h:162
double getDistanceLevelSet()
Returns the distance level set function value.
Definition Particle.h:291
virtual void setVelocityFluid(const Vector3d &particle_velocity_fluid)
Configures particle velocity of fluid phase.
Definition Particle.h:198
const Matrix3d & getVorticityIncrement() const
Returns the vorticity increment.
Definition Particle.h:150
vector< Contribution > contributionNodes
id of nodes that the particle contributes
Definition Particle.h:348
virtual void addExternalForceFluid(const Vector3d &delta_external_fluid_force)
Adds a external fluid force increment.
Definition Particle.h:238
void setContactNormalForce(const Vector3d &normalForce)
Configures the contact normal force.
Definition Particle.h:300
virtual void updatePressure(double dt)
Update the particle pressure.
Definition Particle.h:48
const Vector3d & getContactTangentialForce() const
Returns the contact tangential force.
Definition Particle.h:309
double distanceLevelSet
distance level set function value:
Definition Particle.h:329
virtual const Vector3d * getVelocityFluid() const
Returns velocity of fluid.
Definition Particle.h:130
const Vector3d & getContactNormalForce() const
Returns the contact normal force.
Definition Particle.h:303
virtual double getPressureFluid() const
Returns pressure of fluid.
Definition Particle.h:258
const Vector3d & getSize()
Return particle size in each direction.
Definition Particle.h:190
virtual const Matrix3d * getStrainIncrementFluid() const
Returns the strain increment of fluid.
Definition Particle.h:142
void updateContributionNodes(Mesh *mesh)
Update the list of nodes that the particle contributes.
void setDeformationGradient(const Matrix3d &deformation_gradient)
Configures deformation gradient.
Definition Particle.h:281
Vector3d size
current size in each direction:
Definition Particle.h:335
void setDistanceLevelSet(double distance)
Configures the distance level set function value.
Definition Particle.h:288
Particle(const Vector3d &position, Material *material, const Vector3d &size)
Create a particle.
void setContactTangentialForce(const Vector3d &tangentialForce)
Configures the contact tangential force.
Definition Particle.h:306
virtual ~Particle()
Default destructor.
Definition Particle.h:355
double getMass() const
Returns solid mass.
Definition Particle.h:86
Vector3d contactNormalForce
particle contact normal force:
Definition Particle.h:337
Vector3d velocity
current particle velocity:
Definition Particle.h:333
const Vector3d & getExternalForce() const
Returns the external force in particle.
Definition Particle.h:118
virtual void setMaterial(Material *material)
Configures the material in the particle.
const Vector3d & getInitialPosition() const
Returns the initial particle position.
Definition Particle.h:114
void addExternalForce(const Vector3d &delta_external_force)
Adds a external force increment.
Definition Particle.h:234
vector< Contribution > * getContributionNodes()
Returns the contribution list.
Definition Particle.h:154
double mass
particle mass:
Definition Particle.h:326
void setSize(const Vector3d &particle_size)
Configures particle size in each direction.
Definition Particle.h:186
void setPosition(const Vector3d &particle_position)
Configures the current particle position.
Definition Particle.h:178
const Vector3d & getPosition() const
Returns the current particle position.
Definition Particle.h:110
Matrix3d strain
current particle strain:
Definition Particle.h:341
Material * getMaterialPntr()
Definition Particle.h:78
double getPlasticStrain() const
Get effective plastic strain.
Definition Particle.h:254
static int getTotalParticles()
Returns o number of particles created.
Definition Particle.h:360
static int totalParticles
total particle in the model
Definition Particle.h:352
virtual double getDensityFluid() const
Returns the current density of fluid.
Definition Particle.h:98
Represents the shape functions used in the interpolation process.
Definition Shape.h:12