Particle-Grid Transfers

In MPM, the material state is stored on Lagrangian particles, while the Governing Equations (e.g., conservation of momentum) are solved on a temporary Eulerian grid. Therefore, we must transfer information between particles and grid nodes at each time step.

This section discusses how mass, momentum, and internal forces (stress) are transferred from particles to grid (P2G), and how updated velocities are transferred back from grid to particles (G2P).

Particle-to-Grid (P2G) Transfers

Mass Transfer: Let be the mass of particle , and be the interpolation weight between grid node and particle . We transfer mass to grid node by taking a weighted sum:

Momentum Transfer: Similarly, particle velocity is used to compute nodal momentum:

Then, the nodal velocity of each grid node is:

Internal Force (Stress) Transfer: In MPM, forces are evaluated on grid nodes where Newton’s second law is applied. For hyperelastic materials, the internal elastic force can be derived either from the Weak Form of the momentum equation or from the gradient of the Strain Energy. The latter is often preferred when a well-defined energy density function is available.

Assuming a deformation-gradient-based hyperelastic energy density at each particle , the total potential energy of the system is:

where is the rest volume of particle . The elastic force acting on grid node is then computed as the negative gradient of the total energy with respect to the nodal position :

In the case of explicit time integration such as Symplectic Euler, the force is evaluated at the current time step :

This formulation expresses the force on grid node due to the elastic stress contributions from nearby particles. It depends entirely on known particle attributes and interpolation weights at the current time step.

Grid Update

After collecting information from the particles, time integration is then performed on the grid, where 1st-order schemes are usually used:

Here, we use to represent velocity after grid update, so that it differs from the grid velocity after P2G transfer in the next time step, which is written as .

Boundary treatments are also enforced during this stage and will be discussed in later lectures.

Grid-to-Particle (G2P) Transfers

Once the grid velocity is updated, we need to transfer information back to the particles. The main quantity to update during the G2P transfer is the particle velocity , which will be used in the advection step.

The simplest approach is to interpolate velocity directly from the grid:

This straightforward scheme is part of the Particle-In-Cell (PIC) [Harlow 1962] method, but it is highly dissipative. In practice, we often adopt improved transfer schemes to better preserve velocity modes and conserve angular momentum.

Different Transfer Schemes

Transfer schemes define how P2G and G2P collaborate, balancing numerical stability, energy conservation, and physical realism in different ways.

Example 27.3.1 (PIC, Particle-In-Cell). P2G: Particle velocity is transferred to the grid using: G2P: Particle velocity is interpolated directly from the grid: PIC is very stable and conserves linear momentum, but suffers from high numerical dissipation, loss of fine-scale motion, and does not conserve angular momentum.

Example 27.3.2 (FLIP, Fluid-Implicit-Particle). P2G: Same as PIC. G2P: In FLIP, the particle velocity is updated by blending the newly interpolated velocity and the change in velocity between time steps: where is the FLIP-PIC blending factor (with recovering full FLIP and often used). Since FLIP only interpolate the velocity change, numerical dissipation is effectively mitigated. However, note that to ensure the embedding relation between the particle and grid, particle positions still need to be updated using PIC's velocity: FLIP can preserve system energy and fine-scale motion over long time scales, making it well-suited for simulating fluids with detailed local features. However, due to its lack of inherent smoothing, it can introduce noise, penetration, or even instability in solid simulations.

Example 27.3.3 (APIC, Affine Particle-in-Cell). [Jiang et al. 2015] introduces affine velocity fields to more accurately model local particle motion and preserve angular momentum. Each particle stores an affine velocity matrix in addition to its velocity . The particle velocity field is written as: P2G: The momentum transfer includes affine motion: This enables particles to transfer both linear and angular momentum to the grid. G2P: After the grid update, particle velocity and affine matrix are reconstructed from grid values: Here, is a second moment matrix defined as: For common B-spline interpolation kernels (quadratic and cubic), has a constant value: Quadratic B-spline: . Cubic B-spline: . Thus, is simply a constant scaling factor and need not be recomputed per particle. APIC significantly reduces dissipation compared to PIC by capturing local rotational and shear effects through affine velocity fields, while also preserving angular momentum. Although it requires storing an additional local matrix per particle and computing particle-to-grid moment contributions, the cost is modest in practice.