|
MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
|
Represents a Lagrangian material point This class contain all Lagrangian variables that represents the domain an its properties
More...
#include <Particle.h>


Public Member Functions | |
| Particle (const Vector3d &position, Material *material, const Vector3d &size) | |
| Create a particle. | |
| virtual | ~Particle () |
| Default destructor. | |
| void | updateContributionNodes (Mesh *mesh) |
| Update the list of nodes that the particle contributes. | |
| void | updateStress () |
| Update the particle stress. | |
| virtual void | updatePressure (double dt) |
| Update the particle pressure. | |
| void | updateDensity () |
| Update the particle density. | |
| virtual void | updatePorosity () |
| Update the particle porosity. | |
| bool | getActive () const |
| Returns the particle active status. | |
| int | getId () const |
| Returns the particle identification. | |
| int | getMaterialId () const |
| Returns the particle's material. | |
| int | getBodyId () const |
| Returns the particle's body Id. | |
| double | getMass () const |
| Returns solid mass. | |
| virtual double | getMassFluid () const |
| Returns fluid mass in mixture. | |
| double | getDensity () const |
| Returns the current solid density. | |
| virtual double | getDensityFluid () const |
| Returns the current density of fluid. | |
| virtual double | getCurrentVolume () const |
| Returns current particle volume. | |
| double | getInitialVolume () const |
| Returns initial particle volume. | |
| const Vector3d & | getPosition () const |
| Returns the current particle position. | |
| const Vector3d & | getInitialPosition () const |
| Returns the initial particle position. | |
| const Vector3d & | getExternalForce () const |
| Returns the external force in particle. | |
| virtual const Vector3d * | getExternalForceFluid () const |
| Returns the external force of fluid in particle. | |
| const Vector3d & | getVelocity () const |
| Returns particle velocity. | |
| virtual const Vector3d * | getVelocityFluid () const |
| Returns velocity of fluid. | |
| const Matrix3d & | getStress () const |
| Returns the current particle stress tensor. | |
| const Matrix3d & | getStrainIncrement () const |
| Returns the strain increment. | |
| virtual const Matrix3d * | getStrainIncrementFluid () const |
| Returns the strain increment of fluid. | |
| const Matrix3d & | getStrain () const |
| Returns the strain. | |
| const Matrix3d & | getVorticityIncrement () const |
| Returns the vorticity increment. | |
| vector< Contribution > * | getContributionNodes () |
| Returns the contribution list. | |
| void | setActive (bool particle_active) |
| Configures the particle active status. | |
| void | setId (int particle_id) |
| Configures the particle id. | |
| void | setBodyId (int body_id) |
| Configures the set particle's body Id. | |
| void | setMass (double particle_mass) |
| Configures particle mass. | |
| void | setDensity (double particle_density) |
| Configures particle density. | |
| void | setPosition (const Vector3d &particle_position) |
| Configures the current particle position. | |
| void | setInitialPosition (const Vector3d &particle_initial_position) |
| Configures the initial particle position. | |
| void | setSize (const Vector3d &particle_size) |
| Configures particle size in each direction. | |
| const Vector3d & | getSize () |
| Return particle size in each direction. | |
| void | setVelocity (const Vector3d &particle_velocity) |
| Configures particle velocity. | |
| virtual void | setVelocityFluid (const Vector3d &particle_velocity_fluid) |
| Configures particle velocity of fluid phase. | |
| void | setStrainIncrement (const Matrix3d &strain_increment) |
| Configures the strain increment. | |
| virtual void | setStrainIncrementFluid (const Matrix3d &strain_increment_fluid) |
| Configures the strain increment of fluid phase. | |
| void | setVorticityIncrement (const Matrix3d &vorticity_increment) |
| Configures the vorticity increment. | |
| void | setStress (const Matrix3d &particle_stress) |
| Configures the current particle stress tensor. | |
| virtual void | setMaterial (Material *material) |
| Configures the material in the particle. | |
| void | setShape (Shape *shape) |
| Configures the shape function in the particle. | |
| void | addExternalForce (const Vector3d &delta_external_force) |
| Adds a external force increment. | |
| virtual void | addExternalForceFluid (const Vector3d &delta_external_fluid_force) |
| Adds a external fluid force increment. | |
| void | addPlasticStrain (double deltaPlasticStrain) |
| Add a plastic strain increment. | |
| double | getPlasticStrain () const |
| Get effective plastic strain. | |
| virtual double | getPressureFluid () const |
| Returns pressure of fluid. | |
| virtual void | setPressureFluid (double pressure) |
| Configure the pressure of fluid. | |
| virtual double | getPorosity () const |
| Returns current porosity. | |
| virtual double | getSaturation () const |
| Returns Saturation of fluid in void in mixture. | |
| virtual Vector3d | getDragForceFluid () const |
| Returns the drag force of fluid in particle. | |
| void | setDeformationGradient (const Matrix3d &deformation_gradient) |
| Configures deformation gradient. | |
| const Matrix3d & | getDeformationGradient () const |
| Returns deformation gradient. | |
| void | setDistanceLevelSet (double distance) |
| Configures the distance level set function value. | |
| double | getDistanceLevelSet () |
| Returns the distance level set function value. | |
| void | setPorePressure (double p) |
| Set pore pressure of the particle. | |
| double | getPorePressure () const |
| Get pore pressure of the particle. | |
Static Public Member Functions | |
| static int | getTotalParticles () |
| Returns o number of particles created. | |
Protected Attributes | |
| bool | active |
| is particle active | |
| int | id |
| particle id | |
| int | bodyId |
| body id | |
| double | mass |
| particle mass: \(m_p\) | |
| double | density |
| current particle density: \(\rho_p\) | |
| double | plasticStrain |
| current effective plastic strain: \(\epsilon_p^{pleff}=\sqrt{2/3\epsilon_{pij}^{pl}\epsilon_{pij}^{pl}}\) | |
| double | distanceLevelSet |
| distance level set function value: \(d_p\) | |
| Vector3d | position |
| current particle position: \(x_{ip}\) | |
| Vector3d | initialPosition |
| particle initial position: \(x_{ip}^{0}\) | |
| Vector3d | velocity |
| current particle velocity: \(v_{ip}\) | |
| Vector3d | externalForce |
| particle external force: \(f_{ip}^ext\) | |
| Vector3d | size |
| current size in each direction: \(\Omega_{ip}\) | |
| Matrix3d | stress |
| current particle stress: \(\sigma_{ijp}\) | |
| Matrix3d | strain |
| current particle strain: \(\epsilon_{ijp}\) | |
| double | porePressure = 0.0 |
| current pore pressure of fluid in particle: \(p_{p}\) | |
| Matrix3d | strainIncrement |
| current particle strain increment: \(\Delta \epsilon_{ijp}\) | |
| Matrix3d | vorticityIncrement |
| particle vorticity increment: \(\Delta \Omega _{ijp}\) | |
| Matrix3d | deformationGradient |
| particle deformation gradient: \( F_{ijp}=\partial x_i / \partial X_j \) | |
| vector< Contribution > | contributionNodes |
| id of nodes that the particle contributes | |
| Shape * | shape |
| shape functions values (see class Shape) | |
| Material * | material |
| particle material (see class Material) | |
Static Protected Attributes | |
| static int | totalParticles |
| total particle in the model | |
Represents a Lagrangian material point This class contain all Lagrangian variables that represents the domain an its properties
| Particle::Particle | ( | const Vector3d & | position, |
| Material * | material, | ||
| const Vector3d & | size | ||
| ) |
|
inlinevirtual |
Default destructor.
|
inline |
Adds a external force increment.
| [in] | delta_external_force | External force increment |
|
inlinevirtual |
Adds a external fluid force increment.
| [in] | delta_external_fluid_force | External fluid force increment |
Reimplemented in ParticleMixture.
|
inline |
Add a plastic strain increment.
| [in] | deltaPlasticStrain | Plastic strain increment |
|
inline |
Returns the particle active status.
|
inline |
Returns the particle's body Id.
|
inline |
Returns the contribution list.
|
inlinevirtual |
|
inline |
Returns deformation gradient.
|
inline |
Returns the current solid density.
|
inlinevirtual |
|
inline |
Returns the distance level set function value.
|
inlinevirtual |
Returns the drag force of fluid in particle.
Reimplemented in ParticleMixture.
|
inline |
Returns the external force in particle.
|
inlinevirtual |
Returns the external force of fluid in particle.
Reimplemented in ParticleMixture.
|
inline |
Returns the particle identification.
|
inline |
Returns the initial particle position.
|
inline |
Returns initial particle volume.
|
inline |
Returns solid mass.
|
inlinevirtual |
|
inline |
Returns the particle's material.
|
inline |
Get effective plastic strain.
|
inline |
Get pore pressure of the particle.
|
inlinevirtual |
|
inline |
Returns the current particle position.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
Return particle size in each direction.
|
inline |
Returns the strain.
|
inline |
Returns the strain increment.
|
inlinevirtual |
Returns the strain increment of fluid.
Reimplemented in ParticleMixture.
|
inline |
Returns the current particle stress tensor.
|
inlinestatic |
Returns o number of particles created.
|
inline |
Returns particle velocity.
|
inlinevirtual |
|
inline |
Returns the vorticity increment.
|
inline |
Configures the particle active status.
| [in] | particle_active | Particle active status |
|
inline |
Configures the set particle's body Id.
| [in] | body_id | identification |
|
inline |
Configures deformation gradient.
| [in] | deformation_gradient | Particle deformation gradient |
|
inline |
Configures particle density.
| [in] | particle_density | Current particle density |
|
inline |
Configures the distance level set function value.
|
inline |
Configures the particle id.
| [in] | particle_id | Particle identification |
|
inline |
Configures the initial particle position.
| [in] | particle_initial_position | Particle initial position |
|
inline |
Configures particle mass.
| [in] | particle_mass | Particle mass |
|
virtual |
Configures the material in the particle.
| [in] | material | Material |
Reimplemented in ParticleMixture.
|
inline |
Set pore pressure of the particle.
|
inline |
Configures the current particle position.
| [in] | particle_position | Current particle position |
|
inlinevirtual |
Configure the pressure of fluid.
| [in] | pressure | Pressure of the fluid |
Reimplemented in ParticleMixture.
|
inline |
Configures the shape function in the particle.
| [in] | shape | Shape |
|
inline |
Configures particle size in each direction.
| [in] | particle_size | Current particle size |
|
inline |
Configures the strain increment.
| [in] | strain_increment | Particle strain increment |
|
inlinevirtual |
Configures the strain increment of fluid phase.
| [in] | strain_increment_fluid | Particle strain increment of fluid phase |
Reimplemented in ParticleMixture.
|
inline |
Configures the current particle stress tensor.
| [in] | particle_stress | Particle stress |
|
inline |
Configures particle velocity.
| [in] | particle_velocity | Current particle velocity |
|
inlinevirtual |
Configures particle velocity of fluid phase.
| [in] | particle_velocity_fluid | Current particle velocity of fluid phase |
Reimplemented in ParticleMixture.
|
inline |
Configures the vorticity increment.
| [in] | vorticity_increment | Particle vorticity (spin) increment |
| void Particle::updateContributionNodes | ( | Mesh * | mesh | ) |
| void Particle::updateDensity | ( | ) |
Update the particle density.
|
inlinevirtual |
Update the particle porosity.
Reimplemented in ParticleMixture.
|
inlinevirtual |
|
inline |
Update the particle stress.
|
protected |
is particle active
|
protected |
body id
|
protected |
id of nodes that the particle contributes
|
protected |
particle deformation gradient: \( F_{ijp}=\partial x_i / \partial X_j \)
|
protected |
current particle density: \(\rho_p\)
|
protected |
distance level set function value: \(d_p\)
|
protected |
particle external force: \(f_{ip}^ext\)
|
protected |
particle id
|
protected |
particle initial position: \(x_{ip}^{0}\)
|
protected |
particle mass: \(m_p\)
|
protected |
current effective plastic strain: \(\epsilon_p^{pleff}=\sqrt{2/3\epsilon_{pij}^{pl}\epsilon_{pij}^{pl}}\)
|
protected |
current pore pressure of fluid in particle: \(p_{p}\)
|
protected |
current particle position: \(x_{ip}\)
|
protected |
current size in each direction: \(\Omega_{ip}\)
|
protected |
current particle strain: \(\epsilon_{ijp}\)
|
protected |
current particle strain increment: \(\Delta \epsilon_{ijp}\)
|
protected |
current particle stress: \(\sigma_{ijp}\)
|
staticprotected |
total particle in the model
|
protected |
current particle velocity: \(v_{ip}\)
|
protected |
particle vorticity increment: \(\Delta \Omega _{ijp}\)