MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
|
Represents the interpolation operations in the MPM. More...
Functions | |
void | nodalMass (Mesh *mesh, vector< Body * > *bodies) |
Interpolate solid mass from particles to nodes. | |
void | nodalMassFuid (Mesh *mesh, vector< Body * > *bodies) |
Interpolate fluid mass from particles to nodes. | |
void | nodalMomentum (Mesh *mesh, vector< Body * > *bodies) |
Interpolate solid momentum from particles to nodes. | |
void | nodalMomentumFluid (Mesh *mesh, vector< Body * > *bodies) |
Interpolate fluid momentum from particles to nodes. | |
void | nodalInternalForce (Mesh *mesh, vector< Body * > *bodies) |
Interpolate internal force of solid from particles to nodes. | |
void | nodalInternalForceFluid (Mesh *mesh, vector< Body * > *bodies) |
Interpolate internal force of fluid from particles to nodes. | |
void | nodalExternalForce (Mesh *mesh, vector< Body * > *bodies) |
Interpolate external force of solid from particles to nodes. | |
void | nodalExternalForceFluid (Mesh *mesh, vector< Body * > *bodies) |
Interpolate external force of fluid from particles to nodes. | |
void | nodalDragForceFluid (Mesh *mesh, vector< Body * > *bodies) |
Interpolate drag force of fluid from particles to nodes. | |
void | particleStrainIncrement (Mesh *mesh, vector< Body * > *bodies, double time_step) |
Interpolate the strain increment of solid at particle. | |
void | particleStrainIncrementFluid (Mesh *mesh, vector< Body * > *bodies, double time_step) |
Interpolate the strain increment of fluid at particle. | |
void | particleVorticityIncrement (Mesh *mesh, vector< Body * > *bodies, double time_step) |
Interpolate vorticity increment of solid at particle. | |
void | particleDeformationGradient (Mesh *mesh, vector< Body * > *bodies, double time_step) |
Interpolate deformation gradient of solid at particle. | |
Eigen::Vector3d | interpolateVector (const std::vector< double > ×, const std::vector< Eigen::Vector3d > &values, double itime) |
Represents the interpolation operations in the MPM.
This class allows to interpolate quantities from particles to node and from nodes to particle back.
Eigen::Vector3d Interpolation::interpolateVector | ( | const std::vector< double > & | times, |
const std::vector< Eigen::Vector3d > & | values, | ||
double | itime ) |
Interpolate drag force of fluid from particles to nodes.
\( f_{iI}^{drag,f}= \sum_p \frac{m_p^f n g}{k_{ijp}}(v^w_{jp}-v^s_{jp})N_{Ip} \)
At the moment, only the principal values of the hydraulic conductivity in 3D are considered, then:
\( f_{iI}^{drag,f}= \sum_p \frac{m_p^f n g}{k_{ip}}(v^w_{ip}-v^s_{ip})N_{Ip} \)
Interpolate external force of solid from particles to nodes.
In one phase calculations: \( f_{iI}^{ext} = \sum_p b_{ip} m_p N_{Ip} \)
In two phase calculations: \( f_{iI}^{ext,s} = \sum_p b_{ip} m_p^f N_{Ip} + \sum_p b_{ip} m_p^s N_{Ip} \)
Interpolate external force of fluid from particles to nodes.
\( f_{iI}^{ext,f}=\sum_p b_{ip} m_p^w N_{Ip} - \sum_p \frac{m_p^f n g}{k_{ijp}}(v^w_{jp}-v^s_{jp})N_{Ip} \)
At the moment, only the principal values of the hydraulic conductivity in 3D are considered, then:
\( f_{iI}^{ext,f}=\sum_p b_{ip} m_p^w N_{Ip} - \sum_p \frac{m_p^f n g}{k_{ip}}(v^w_{ip}-v^s_{ip})N_{Ip} \)
Interpolate internal force of solid from particles to nodes.
In one phase calculation: \( f_{iI}^{int}=-\sum_p \sigma_{ijp} V_p N_{Ip,i}\)
In two phase calculation: \( f_{iI}^{int,s}=-\sum_p \sigma_{ijp}' N_{Ip,i} V_p + \sum_p p^f N_{Ip,i} V_p\)
Interpolate solid mass from particles to nodes.
\( m_I = \sum_p m_p N_{Ip}\)
[in] | mesh | Mesh reference |
[in] | bodies | A list of Bodies |
Interpolate fluid mass from particles to nodes.
\( m_I^f = \sum_p m_p^f N_{Ip}\)
[in] | mesh | Mesh reference |
[in] | bodies | A list of Bodies |