|
MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
|
A material point for calculations using the mixture theory. More...
#include <ParticleMixture.h>


Public Member Functions | |
| ParticleMixture (const Vector3d &position, Material *material, const Vector3d &size) | |
| Create a mixture particle. | |
| virtual | ~ParticleMixture () |
| Default virtual destructor. | |
| virtual void | updatePorosity () |
| Update the porosity of the skeleton. | |
| virtual double | getMassFluid () const |
| Returns the mass of the fluid. | |
| virtual const Vector3d * | getVelocityFluid () const |
| Returns velocity of the fluid. | |
| virtual const Vector3d * | getExternalForceFluid () const |
| Returns the external force of fluid. | |
| virtual Vector3d | getDragForceFluid () const |
| Returns the drag force of fluid in skeleton. | |
| virtual double | getPressureFluid () const |
| Returns pressure of fluid. | |
| virtual double | getPorosity () const |
| Returns current porosity. | |
| virtual double | getInitialPorosity () const |
| Returns initial porosity. | |
| virtual double | getDensityFluid () const |
| Returns the current particle density of fluid. | |
| virtual void | addExternalForceFluid (const Vector3d &delta_external_fluid_force) |
| Adds a external fluid force increment. | |
| virtual void | setVelocityFluid (const Vector3d &particle_velocity_fluid) |
| Configures particle velocity of fluid phase. | |
| virtual void | setStrainIncrementFluid (const Matrix3d &strain_increment_fluid) |
| Configures the strain increment of fluid phase. | |
| virtual void | setMaterial (Material *material) |
| Configures the material in the particle. | |
| virtual const Matrix3d * | getStrainIncrementFluid () const |
| Returns the strain increment of fluid. | |
| virtual void | updatePressure (double dt) |
| Update the particle pressure. | |
| virtual double | getSaturation () const |
| Returns Saturation of fluid in void in mixture. | |
| virtual void | setPressureFluid (double pressure) |
| Configure the pressure of fluid. | |
| virtual double | getCurrentVolume () const |
| Returns current particle volume. | |
Public Member Functions inherited from Particle | |
| 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. | |
| void | updateDensity () |
| Update the particle density. | |
| 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. | |
| double | getDensity () const |
| Returns the current solid density. | |
| 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. | |
| const Vector3d & | getVelocity () const |
| Returns particle velocity. | |
| const Matrix3d & | getStress () const |
| Returns the current particle stress tensor. | |
| const Matrix3d & | getStrainIncrement () const |
| Returns the strain increment. | |
| 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. | |
| void | setStrainIncrement (const Matrix3d &strain_increment) |
| Configures the strain increment. | |
| void | setVorticityIncrement (const Matrix3d &vorticity_increment) |
| Configures the vorticity increment. | |
| void | setStress (const Matrix3d &particle_stress) |
| Configures the current particle stress tensor. | |
| void | setShape (Shape *shape) |
| Configures the shape function in the particle. | |
| void | addExternalForce (const Vector3d &delta_external_force) |
| Adds a external force increment. | |
| void | addPlasticStrain (double deltaPlasticStrain) |
| Add a plastic strain increment. | |
| double | getPlasticStrain () const |
| Get effective plastic strain. | |
| 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. | |
Private Attributes | |
| double | massFluid |
| fluid mass in mixture: \(m^{f}\) | |
| double | densityFluid |
| current fluid density in mixture: \(\rho^{f}\) | |
| double | pressureFluid |
| current fluid pressure in mixture: \(p^{f}\) | |
| double | porosityMixture |
| current porosity of the mixture: \(n\) | |
| double | initialPorosityMixture |
| initial porosity of the mixture: \(n^{0}\) | |
| Vector3d | velocityFluid |
| current fluid velocity in mixture: \(v_i^{f}\) | |
| Vector3d | externalForceFluid |
| current external force of fluid in mixture: \(f_i^{ext,f}\) | |
| Vector3d | internalForceFluid |
| current internal force of fluid in mixture: \(f_i^{int,f}\) | |
| Matrix3d | strainIncrementFluid |
| current fluid strain increment in mixture: \(\Delta \epsilon_{ij}^{f}\) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Particle | |
| static int | getTotalParticles () |
| Returns o number of particles created. | |
Protected Attributes inherited from Particle | |
| 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 inherited from Particle | |
| static int | totalParticles |
| total particle in the model | |
A material point for calculations using the mixture theory.
| ParticleMixture::ParticleMixture | ( | const Vector3d & | position, |
| Material * | material, | ||
| const Vector3d & | size | ||
| ) |
|
virtual |
Default virtual destructor.
|
inlinevirtual |
Adds a external fluid force increment.
| [in] | delta_external_fluid_force | External fluid force increment |
Reimplemented from Particle.
|
virtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
Returns initial porosity.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
Configure the pressure of fluid.
| [in] | pressure | Pressure of the fluid |
Reimplemented from Particle.
|
inlinevirtual |
|
inlinevirtual |
Configures particle velocity of fluid phase.
| [in] | particle_velocity_fluid | Current particle velocity of fluid phase |
Reimplemented from Particle.
|
virtual |
|
virtual |
|
private |
current fluid density in mixture: \(\rho^{f}\)
|
private |
current external force of fluid in mixture: \(f_i^{ext,f}\)
|
private |
initial porosity of the mixture: \(n^{0}\)
|
private |
current internal force of fluid in mixture: \(f_i^{int,f}\)
|
private |
fluid mass in mixture: \(m^{f}\)
|
private |
current porosity of the mixture: \(n\)
|
private |
current fluid pressure in mixture: \(p^{f}\)
|
private |
current fluid strain increment in mixture: \(\Delta \epsilon_{ij}^{f}\)
|
private |
current fluid velocity in mixture: \(v_i^{f}\)