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. | |
![]() | |
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. | |
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 int | getTotalParticles () |
Returns o number of particles created. | |
![]() | |
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}}\) | |
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}\) | |
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 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}\)