Multimaterial MPM

Jump to navigation Jump to search

Multimaterial mode is an advanced MPM option that allows for modeling contact and material interfaces.

Multimaterial Mode Concepts

In multimaterial MPM, particles of each material type extrapolate to separate velocity fields on the grid (although material can share velocity fields when appropriate). Nodes with a single material and therefore only one velocity field proceed by normal MPM methods. Nodes with velocity fields from more than one material might be in contact. If they are in contact, the nodal momenta are changed as determined by contact physics. The various contact options implemented in multimaterial algorithms determine the physcial phenomna that can be modeled. The key numerical tasks in multimaterial mode MPM are:

Detection of Contact
The first step is to decide if the materials at the node are in contact. This decision has to be made from extrapolated velocity, displacement (or position), and mass (or volume) information.
Adjust Nodal Momenta or Forces
If a node is not in contact, no changes are needed. But, for nodes in contact, the nodal momenta and/or forces for each velocity field have to be adjusted to reflect the contact mechanics. Currently, NairnMPM can use multimaterial mode to model contact properties or imperfect interfaces.
Evaluation of Surface Normals
Both the above tasks need to know the normal vector to the contacting surface. The evaluation of these normals is crucial component of multimaterial mode MPM.

The general principles of multimaterial MPM are described in Bardenhagen et al. (2001).[1] Some improved options for detecting contact by displacements and for finding normals are unique to NairnMPM and are described in Lemiale et al. (2010)[2] and Nairn (2013).[3] The latter reference also describes use of multimaterial mode MPM to model imperfect interfaces between materials.[3] Extension of simple Coulomb friction to general contact laws is described in Nairn et al. (2018).[4]. Finally the state-of-the-art contact methods, and the default option for NairnMPM and OSParticulas is logistic regression and it is described in Nairn et al. (2019).[5]

More than Two Materials

Multimaterial mode is typically derived by assuming only two materials interact at each munltimaterial node. It therefore works best (i.e., has most rigorous physics) when the simulation has only two materials or when no nodes ever see velocity fields from more than two materials. NairnMPM has implemented a rational algorithm for continuing when three or more materials intersect at a single node. Such simulations, however, may not be accurate or may display problems. There is simply not enough information in the nodal velocity fields to find the surface normals needed for accurate interactions between three or more materials. See Nairn et al. (2019).[5] for more details and the rational methods to handle more than three materials in contact.

Multimaterial Mode Input Commands

In scripted input files, multimaterial mode MPM is activated and customized with the following commands:

MultimaterialMode (res1),(res2),(normals),<(rigidBiasOrAzimuth)>,<(polar)>
ContactPosition (cutoff)
(commands to set default contact properties)

In XML files, multimaterial mode MPM is activated with the following block with the <MPMHeader> element:

<MultiMaterialMode Normals='(normals)' RigidBias='(rigidBias)' Azimuth='(azimuth)' Polar='(polar)'>
  (commands to set default contact properties)

The settings are:

  • (res1) and (res2) - these options reserved for future use, but they must be specified for parameter alignment in the MultiMaterialMode script command. To make sure old versions are using the currently recommended methods, the unused parameters should be set to (res1)=0 and (res2)=1.
  • (normals) - the method for calculation of normal vectors. The options are as follows (XML files must use numeric value):
    • logreg (or 6) - use logistic regression. This is state-of-the-art, default option.[5] Other methods should only be for unusual conditions (e.g. when you can specify the normal) or for calculation comparisons.
    • linreg (or 5) - use linear regression.
    • avggrad (or 2) - the normal is found from the volume-weighted mean volume gradient. When contact is all non-rigid materials, it averages the gradient of one material with the net gradient of all other materials. When a rigid material is involved, it averages each material with the one rigid material (avggrad is the default normals option).
    • specify (or 4) - use a single, specified normal defined by the provided azimuth and polar angles. The specified normal is used for all contact calculations and it should point from the lower-numbered material into the higher-numbered material. The material number is the order the materials appear in the output file. For contact with rigid materials, the normal vector should point from the non-rigid material into the rigid material.
    • maxgrad (or 0) - the normal is found from the one material at the node that has the largest magnitude of its volume gradient.
    • maxvol (or 1) - the normal is found from the one material at the node that has the largest magnitude of its volume.
    • owngrad (or 3) - each material uses its own normal. In contact or interface calculations, the calculations are done separately for the two sides for the surface. This approach is the original one used in multimaterial contact,[1] but no longer recommended. It is available for research comparisons.
  • (rigidBiasOrAzimuth) or (rigidBias) - when (normals) is maxgrad or avggrad, this parameter means to trust normals calculated from rigid materials more than those from non-rigid materials. The entered number means to use the rigid material's volume gradient unless the normal by the maxgrad or avggrad method is the entered factor larger in magnitude. For linreg and logreg, a value ≥10 means to use rigid normal with contacting with rigid materials; otherwise use regression methods to get the normal. See help on calculating normals for more details (default is 1).
  • (azimuth) (or (rigidBiasOrAzimuth)) and (polar) - when (normals) is specify, these two parameters set the azimuth angle (or φ) and polar angle (θ) in degrees for the specified normal vector. The resulting normal is (cos φ sin θ, sin φ sin θ, cos θ). For 2D calculations, the (polar) setting is ignored and the 2D normal vector is (cos φ, sin φ). The default values are φ=0 and θ=0 for 3D, which is normal along the z axis, and φ=0 for 2D, which is normal along the x axis.
  • (cutoff) - this optional parameter sets the displacement cutoff (relative to cell size) used to detect multimaterial contact. The ContactPosition command should be omitted when modeling internal material interfaces that start out initially in contact. It must be included for problems where contact surfaces start out separated but move into contact during the simulation. It is not used for linreg or logreg (unless they have rigid contact and have set (rigidBiasOrAzimuth)≥10).
  • (commands to set default contact properties) - set default contact or imperfect interface properties for multimaterial contact. Note that when more than two materials are present, you can use material properties for friction and interface to override the default settings and thereby set custom contact between any specific pair of materials.


  1. 1.0 1.1 S. G. Bardenhagen, J. E. Guilkey, K. M. Roessig, J. U. Brackbill, W. M. Witzel, and J. C. Foster, "An Improved Contact Algorithm for the Material Point Method and Application to Stress Propagation in Granular Material," Computer Modeling in Engineering & Sciences, 2, 509-522 (2001).
  2. V. Lemiale, A. Hurmane, and J. A. Nairn, "Material Point Method Simulation of Equal Channel Angular Pressing Involving Large Plastic Strain and Contact Through Sharp Corners," Computer Modeling in Eng. & Sci., 70(1), 41-66, (2010).
  3. 3.0 3.1 J.A. Nairn, "Modeling Imperfect Interfaces in the Material Point Method using Multimaterial Methods," Computer Modeling in Eng. & Sci., 92, 271-299 (2013).
  4. J. A. Nairn, S. G. Bardenhagen, and G. S. Smith, "Generalized contact and improved frictional heating in the material point method.=," Computational Particle Mechanics, 5, 285–296 (2018)
  5. 5.0 5.1 5.2 J. A. Nairn, C. C. Hammerquist, and G. Smith, "New material point method contact algorithms for improved accuracy, large-deformation problems, and proper null-space filtering," Computer Methods in Applied Mechanics and Engineering, 362, 112859 (2020). (See PDF)