Multimaterial MPM
Multimaterial mode is an advanced MPM model that allows new options 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 frictional contact 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]
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.
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)'> <ContactPosition>(cutoff)</ContactPosition> (commands to set default contact properties) </MultiMaterialMode>
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):
- 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.
- 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).
- 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.
- 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.
- linreg (or 5) - use linear regression (in development for OSParticulas only).
- logreg (or 6) - use logistic regression (in development for OSParticulas only and is the future for multimaterial MPM).
- (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 friction 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.
References
- ↑ 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).
- ↑ 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.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).