Difference between revisions of "Multimaterial MPM"

From OSUPDOCS
Jump to navigation Jump to search
 
(82 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Multimaterial mode is an advanced MPM model that allows new options for modeling contact and material interfaces.
Multimaterial mode is an advanced MPM option that allows for modeling contact and material interfaces.
 
__TOC__
== Multimaterial Mode Concepts ==
== Multimaterial Mode Concepts ==


In multimaterial MPM, particles of each [[Material Models|material type]] extrapolate to separate velocity fields on the grid. Nodes with a single material and therefore only on 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 have to be changed to represent contact physics. The various options implemented in multimaterial mode code determine the physcial phenomna that can be modeled. [[NairnMPM]] can use multimaterial model to model either [[#Friction||frictional contact]] or [[#Imperfect Interfaces||imperfect interfaces]].
In multimaterial MPM, particles of each [[Material Models|material type]] extrapolate to separate velocity fields on the grid (although material can [[Common Material Properties#Contact Properties|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:
 
The numerical tasks in multimaterial mode MPM are:
 
<dl>
 
<dt>Detection of Contact
<dd>The first step is to decide if the materials at the node are actually in contact. [[NairnMPM]] allows a simulation to use various combinations of the following three contact detection criteria:
 
<ol>
<li>If the total volume at the node is less than some fraction of the total volume expected for an internal node (a parameter <tt>Vmin</tt>), the materials at that node are assumed to not be in contact. If the volume is greater than <tt>Vmin</tt>, the contact detection continues. This check can be skipped by setting <tt>Vmin</tt> = 0 (because all nodes with materials will have volume greater than zero).</li>
 
<li>Next, the [[Multimaterial Normal Vector||normal to the material contact surface]] is calculated and it is used to determine the velocity of approach for the two material surfaces. If the surfaces are moving apart, the node is assumed to not be in contact. If they are moving toward each other, the contact detection continues.</li>
 
<li>Finally, if enabled, the displacements for each material at the node are calculated. If the two materials overlap, the node is in contact. If not, the node is assumed to not be in contact. There are two ways to find displacements. The method is selected with the ContactPosition command (where details on the methods are given).</li>
 
</ol>
 
<dt>Adjust Nodal Momenta or Add Internal Forces


<dd>Once contact is detected, the nodal momenta for each velocity field are adjusted to reflect the contact mechanics. Currently, the contact methods that are implemented are frictional contact, stick contact, and imperfect interfaces.
;Detection of Contact
:The first step is to [[Detecting Contact|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 [[Friction|contact properties]] or [[Imperfect Interfaces|imperfect interfaces]].
; Evaluation of Surface Normals
:Both the above tasks need to know the normal vector to the contacting surface. The [[Surface Normals|evaluation of these normals]] is crucial component of multimaterial mode MPM.


<dt><span name="getnorm"></span>Evaluation of Surface Normals
The general principles of multimaterial MPM are described in Bardenhagen ''et al.'' (2001).<ref name="bard"/> Some improved options for detecting contact by displacements and for finding normals are unique to [[NairnMPM]] and are described in Lemiale ''et al.'' (2010)<ref name="Lemiale"/> and Nairn (2013).<ref name="Nairn"/> The latter reference also describes use of multimaterial mode MPM to model [[Imperfect Interfaces|imperfect interfaces]] between materials.<ref name="Nairn"/> Extension of simple Coulomb friction to general contact laws is described in Nairn ''et al.'' (2018).<ref name="gencontact"/>. 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).<ref name="logreg"/>
<dd>The surface normals are needed for both the above tasks. First they are needed to find the component of the velocity in the approaching direction. Second, they are needed to implement contact mechanics. The results of multimaterial mode MPM simulations can demonstrate that accuracy of results is very sensitive to the method used to find the normal. Traditional MPM has relied on the mass gradient of each material. [[NairnMPM]] has implemented new methods that seem to work better. No one method works for all problems, but problems with multimaterial mode MPM are usually caused by inaccurate normals.


</dl>
==== More than Two Materials ====


The general principles of multimaterial contact are described in Bardenhagen ''et al.'' (2001).<ref name="bard">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," <i>Computer Modeling in Engineering &amp; Sciences</i>, <b>2</b>, 509-522 (2001).</ref> The new options of detecting contact by displacements and finding normals by new methods are unique to [[NairnMPM]] and are described in Lemiale ''et al.'' (2010)<ref name="Lemiale">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," <i>Computer Modeling in Eng. &amp; Sci.</i>, <b>70(1)</b>, 41-66, (2010).</ref> and Nairn (2013).<ref name="Nairn">J.A. Nairn, "Modeling Imperfect Interfaces in the Material Point Method using Multimaterial Methods," ''Computer Modeling in Eng. &amp; Sci.'', '''92''', 271-299 (2013).</ref> The latter reference also describes use of multimaterial mode MPM to model imperfect interfaces between materials.<ref name="Nairn"/>
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|surface normals]] needed for accurate interactions between three or more materials. See Nairn ''et al.'' (2019).<ref name="logreg"/> for more details and the rational methods to handle more than three materials in contact.


== Multimaterial Mode Input Commands ==
== Multimaterial Mode Input Commands ==


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


  MultimaterialMode (Vmin),(dispCheck),(normals),(rigidBias)
  MultimaterialMode (res1),(res2),(normals),<(rigidBiasOrAzimuth)>,<(polar)>
FrictionMM (frict)
  ContactPosition (cutoff)
  ContactPosition (cutoff)
  ImperfectInterfaceMM (Dt),(Dntens),(DNcomp)
  (commands to set default contact properties)


In <tt>XML</tt> files, multimaterial mode MPM is activated with the following block:
In <tt>XML</tt> files, multimaterial mode MPM is activated with the following block with the [[MPM Input Files#MPM Header|<tt><MPMHeader></tt> element]]:


  <MultiMaterialMode Vmin='(Vmin)' Dcheck='(dispCheck)' Normals='(normals)' RigidBias='(rigidBias)'>
  <MultiMaterialMode Normals='(normals)' RigidBias='(rigidBias)' Azimuth='(azimuth)' Polar='(polar)'>
  <Friction>(frict)</Friction>
   <ContactPosition>(cutoff)</ContactPosition>
   <ContactPosition>(cutoff)</ContactPosition>
  (commands to set default contact properties)
  </MultiMaterialMode>
  </MultiMaterialMode>


The settings are:
* <tt>(res1)</tt> and <tt>(res2)</tt> - these options reserved for future use, but they must be specified for parameter alignment in the <tt>MultiMaterialMode</tt> script command. To make sure old versions are using the currently recommended methods, the unused parameters should be set to <tt>(res1)=0</tt> and <tt>(res2)=1</tt>.
* <tt>(normals)</tt> - the method for calculation of [[Surface Normals#Multimaterial Normal Vector Options|normal vectors]]. The options are as follows (<tt>XML</tt> files must use numeric value):
** <tt>logreg</tt> (or 6) - use logistic regression. This is state-of-the-art, default option.<ref name="logreg"/> Other methods should only be for unusual conditions (''e.g.'' when you can <tt>specify</tt> the normal) or for calculation comparisons.
** <tt>linreg</tt> (or 5) - use linear regression.
** <tt>avggrad</tt> (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 (<tt>avggrad</tt> is the default normals option).
** <tt>specify</tt> (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.
** <tt>maxgrad</tt> (or 0) - the normal is found from the one material at the node that has the largest magnitude of its volume gradient.
** <tt>maxvol</tt> (or 1) - the normal is found from the one material at the node that has the largest magnitude of its volume.
** <tt>owngrad</tt> (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,<ref name="bard"/> but no longer recommended. It is available for research comparisons.
* <tt>(rigidBiasOrAzimuth)</tt> or <tt>(rigidBias)</tt> - when <tt>(normals)</tt> is <tt>maxgrad</tt> or <tt>avggrad</tt>, this parameter means to trust [[Surface Normals|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 <tt>maxgrad</tt> or <tt>avggrad</tt> method is the entered factor larger in magnitude. For <tt>linreg</tt> and <tt>logreg</tt>, a value &ge;10 means to use rigid normal with contacting with rigid materials; otherwise use regression methods to get the normal. See help on [[Surface Normals#Rigid Material Bias Option|calculating normals]] for more details (default is 1).
* <tt>(azimuth)</tt> (or <tt>(rigidBiasOrAzimuth)</tt>) and <tt>(polar)</tt> - when <tt>(normals)</tt> is <tt>specify</tt>, these two parameters set the azimuth angle (or &phi;) and polar angle (&theta;) in degrees for the specified normal vector. The resulting normal is (cos &phi; sin &theta;, sin &phi; sin &theta;, cos &theta;). For 2D calculations, the <tt>(polar)</tt> setting is ignored and the 2D normal vector is (cos &phi;, sin &phi;). The default values are &phi;=0 and &theta;=0 for 3D, which is normal along the z axis, and &phi;=0 for 2D, which is normal along the x axis.
* <tt>(cutoff)</tt> - this optional parameter sets the displacement cutoff (relative to cell size) used to [[Detecting Contact|detect multimaterial contact]]. The [[Detecting Contact#Selecting ContactPosition Options|<tt>ContactPosition</tt> 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 <tt>linreg</tt> or <tt>logreg</tt> (unless they have rigid contact and have set <tt>(rigidBiasOrAzimuth)</tt>&ge;10).
* <tt> (commands to set default contact properties)</tt> - set default [[Friction|contact]] or [[Imperfect Interfaces|imperfect interface]] properties for multimaterial contact. Note that when more than two materials are present, you can use [[Material Models|material]] properties for [[Common Material Properties#Contact Properties|friction and interface]] to override the default settings and thereby set custom contact between any specific pair of materials.


Also set material properties with Friction and Interface commands.
== References ==


Next steps - write up imperfect interface elements with a separate topic on imperfect interface mechanics.
<references>
<ref name="bard">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," <i>Computer Modeling in Engineering &amp; Sciences</i>, <b>2</b>, 509-522 (2001).</ref>


== Friction ==
<ref name="Lemiale">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," <i>Computer Modeling in Eng. &amp; Sci.</i>, <b>70(1)</b>, 41-66, (2010).</ref>


== Imperfect Interfaces ==
<ref name="Nairn">J.A. Nairn, "Modeling Imperfect Interfaces in the Material Point Method using Multimaterial Methods," ''Computer Modeling in Eng. &amp; Sci.'', '''92''', 271-299 (2013).</ref>


== Contact Position ==
<ref name="gencontact">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)</ref>


== References ==
<ref name="logreg">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). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/MPMContactRevisited.pdf See PDF])</ref>
<references/>
 
 
</references>

Latest revision as of 10:31, 22 January 2021

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)'>
  <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):
    • 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.

References

  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)