Difference between revisions of "Crack Settings"

From OSUPDOCS
Jump to navigation Jump to search
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
These command control modeling of explicit cracks and whether or not those cracks propagate
Whenever an MPM simulation has [[Defining Cracks|explicit cracks]], you can use the commands in this section to customize various features of how the cracks are modeled in [[NairnMPM]].
 
== Introduction ==
 
The extension of MPM to model explicit cracks is called CRAMP for CRAcks in the Material Point Method. The commands is this section are used to set various features of the crack physics and crack propagation for any [[Defining Cracks|explicit cracks]] in the object.
 
CRAMP is described first in a paper by Nairn (2003).<ref name='CRAMP'>J. A. Nairn, "Material Point Method Calculations with Explicit Cracks," <i>Computer Modeling in Engineering &amp; Sciences</i>, <b>4</b>, 649-664 (2003). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/MPMCracks.pdf See PDF])</ref>. Some other papers discuss calculation of J integral and stress intensity factor,<ref name="GuoJ">Y. Guo and J. A. Nairn, "Calculation of J-Integral and Stress Intensity Factors using the Material Point Method," <i>Computer Modeling in Engineering &amp; Sciences</i>, <b>6</b>, 295-308 (2004). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/MPMTwoDJ.pdf See PDF])</ref>, propose energy balance propagation,<ref name="EB">J. A. Nairn, "Simulation of Crack Growth in Ductile Materials,"; <i>Engr. Fract. Mech.</i>, <b>72</b>, 961-979 (2005). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/Dugdale.pdf See PDF])</ref> handle cracks in 3D (although not currently available in [[NairnMPM]],<ref name="Guo3D">Y. Guo and J. A. Nairn, "Three-Dimensional Dynamic Fracture Analysis Using the Material Point Method," <i>Computer Modeling in Eng. &amp; Sci.</i>, <b>16</b>, 141-156 (2006). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/guo3D.pdf See PDF])</ref>, use cracks to model imperfect interfaces,<ref name="IIC">J. A. Nairn, "Numerical Implementation of Imperfect Interfaces, <i>Computational Materials Science</i>, <b>40</b>, 525-536 (2007). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/Interface.pdf See PDF])</ref>, and use traction laws with cracks.<ref name="RCurve">J. A. Nairn, "Analytical and Numerical Modeling of R Curves for Cracks with Bridging Zones," <i>Int. J. Fracture</i>, <b>155</b>, 167-181 (2009). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/JBridging.pdf See PDF])</ref> Some applications of using cracks in MPM include wood fracture,<ref name="wood">J. A. Nairn, "Material Point Method Simulations of Transverse Fracture in Wood with Realistic Morphologies," <i>Holzforschung</i>,  <b>61</b>, 375-381 (2007). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/FractureSim.pdf See PDF])</ref> use of cracks to model glue bods in oriented strand board,<ref name="OSB">J. A. Nairn and E. Le, "Numerical Modeling and Experiments on the Role of Strand-to-Strand Interface Quality on the Properties of Oriented Strand Board," <i>Proc of 9th Int. Conf. on Wood Adhesives</i>, Lake Tahoe, Neveda, USA, Sept. 28-30, 2009. ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/WoodAd2009.pdf See PDF])</ref> simulation of dynamic fracture,<ref name="BardF">S. G. Bardenhagen, J.A. Nairn, and H. Lu, "Simulation of dynamic fracture with the Material Point Method using a mixed J-integral and cohesive law approach," <i>Int. J. Fracture</i>, <b>170</b>, 49-66 (2011).</ref> and simulation of crack growth with fiber bridging.<ref name="MDF">N. Matsumoto and J.A. Nairn, "Fracture Toughness of Wood and Wood Composites During Crack Propagation," <i>Wood and Fiber Science</i>, '''44''', 121-133 (2012). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/WoodToughness.pdf See PDF])</ref>


== Crack Settings Commands ==
== Crack Settings Commands ==
Line 14: Line 8:
  AltPropagate (crit),<(dir)>,<(traction)>
  AltPropagate (crit),<(dir)>,<(traction)>
  ProagateLength (relLength)
  ProagateLength (relLength)
Friction
  JContour (size),<(terms)>,<(usegrid)>
ImperfectInterface
ContactCracks (lawID)
  JContour (size),<(terms)>
  ContactPositionCracks (cutoff)
  ContactPosition (cutoff)
  MovePlane (method),<(prevent)>
  MovePlane (method),<(prevent)>


In <tt>XML</tt> input file, all global crack setting commands are within a <tt><Cracks></tt> element that must be within the <tt><MPMHeader></tt>:
In <tt>XML</tt> input file, all global crack setting commands are within a <tt><Cracks></tt> element that must be within the [[MPM Input Files#MPM Header|<tt><MPMHeader></tt> element]]:


  <Cracks>
  <Cracks>
Line 26: Line 19:
   <AltPropagate criterion='(critNum)' direction='(dirNum)' traction='(traction)'/>
   <AltPropagate criterion='(critNum)' direction='(dirNum)' traction='(traction)'/>
   <PropagateLength>(relLength)</ProagateLength>
   <PropagateLength>(relLength)</ProagateLength>
  <Friction>0.3</Friction>
   <JContour size="(size)" terms="(terms)" gridenergy="(usegrid)"/>
   <JContour size="(size)" terms="(terms)"/>
  <Friction law='(lawnum)' lawname='(lawID)'/>
   <ContactPosition>(cutoff)</ContactPosition>
   <ContactPosition>(cutoff)</ContactPosition>
   <MovePlane type='(method)' prevent='(prevent)'/>
   <MovePlane type='(method)' prevent='(prevent)'/>
  </Cracks>
  </Cracks>


The [[Crack Propagation Commands|<tt>Propagate</tt>, <tt>AltPropagate</tt>, and <tt>PropagateLength</tt> commands]] are described in a separate help top. The other commands functions (with links to documentation) are:
The functions of these commands (with links to more documentation) are:


* [[#Crack Contact Properties|<tt>Friction</tt>]] - set default crack surface frictional properties
* [[Crack Propagation Commands|<tt>Propagate</tt>, <tt>AltPropagate</tt>, and <tt>PropagateLength</tt> commands]] - set crack propagation properties
* [[#Crack Contact Properties|<tt>ImperfectInterface</tt>]] - set default crack surface imperfect interface properties
* [[#Crack Contact Properties|<tt>ContactCracks</tt> and <tt>&lt;Friction&gt;</tt>]] - set default crack surface contact mechanics
* [[#J Integral Contour Settings|<tt>JContour</tt>]] - customize J integral calculation
* [[#J Integral Contour Settings|<tt>JContour</tt>]] - customize J integral calculation
* [[#Crack ContactPosition Command|<tt>ContactPosition</tt>]] - change method used to detect crack surface contact
* [[#Crack ContactPosition Command|<tt>ContactPositionCracks</tt>]] - change method used to detect crack surface contact
* [[#Crack Plane Updating|<tt>MovePlane</tt>]] - set method to update crack plane position
* [[#Crack Plane Updating|<tt>MovePlane</tt>]] - set method to update crack plane position
=== Crack Propagation Properties ===
The commands to control crack propagation criterion and direction are described in a separate help topic on [[Crack Propagation Commands]].


=== Crack Contact Properties ===
=== Crack Contact Properties ===
Crack surface can use any [[Contact Laws|contact law]] to model crack surface contact as either [[Friction#Friction on Explicit Cracks|frictional sliding]] or use the crack to model an [[Imperfect Interfaces#Imperfect Interfaces on Explicit Cracks|imperfect interface]]. Note that if the crack is defined with [[Traction Laws|traction laws]], or if it will [[Crack Propagation Commands#Traction Law in Wake of Propagation|create traction laws during propagation]], the crack ''must'' be set to use [[Friction#Friction on Explicit Cracks|frictionless sliding]] (this setting will be done automatically if not done explicitly)


=== J Integral Contour Settings ===
=== J Integral Contour Settings ===
Line 46: Line 45:
[[File:JContour.png|right]]
[[File:JContour.png|right]]


The <tt>JContour</tt> command is used to set the size of the path used for evaluating J integral and and control the number of terms used in the process. The details are:
The <tt>JContour</tt> command is used to set the size of the path used for evaluating J integral and control the number of terms used in the process. The details are:


* <tt>(size)</tt> - the J integral is evaluated on a rectangular contour center on the grid node closet to the crack tip (see blue line in the figure). The <tt>(size)</tt> setting is the semi-length for the sides of the rectangle. The default value is 2 (as shown in the figure).
* <tt>(size)</tt> - the J integral is evaluated on a rectangular contour center on the grid node closet to the crack tip (see blue line in the figure). The <tt>(size)</tt> setting is the semi-length for the sides of the rectangle. The default value is 2 (as shown in the figure).
* <tt>(terms)</tt> - this optional parameter should be set to 1 or 2 to specify if the J Integral should be a simple contour (1) or include an area integral inside the contour (2). The area integral corrects for dynamic effects and for axisymmetric stress states making the calculation path independent even in dynamic problems, but is slower. A contour alone (1) might be enough if the size of the contour is small (<i>e.g.</i>, <tt>(size)</tt>=2) and the loading is slow, but both contour and area might be essential as the problem becomes more dynamic or as the size of the contour grows. The default is 1, but for axisymmetric calculations, the area integral is needed even for static problems, and therefore the default changes to 2 terms.
* <tt>(terms)</tt> - this optional parameter should be set to 1 or 2 to specify if the J Integral should be a simple contour (1) or include an area integral inside the contour (2). The area integral corrects for dynamic effects and for axisymmetric stress states making the calculation path independent even in dynamic problems, but is slower. A contour alone (1) might be enough if the size of the contour is small (<i>e.g.</i>, <tt>(size)</tt>=2) and the loading is slow, but both contour and area might be essential as the problem becomes more dynamic or as the size of the contour grows. The default is 1, but for axisymmetric calculations, the area integral is needed even for static problems, and therefore the default changes to 2 terms.
* <tt>(usegrid)</tt> - this optional parameter should be set to 0 or 1 (or false or true in scripted files) to specify that kinetic energy and work energy (used in the J integration) are to be found by extrapolating particle energies (if 0 or false) or by extrapolating particle velocity, stress, and strain and than calculating energies from these grid results (if 1 or true). The default is to use particle energies (o or true). In general, the particle energies are preferred (and hence is the default). In some dynamic problems, particle kinetic energies can develop spurious noise that affect J integral calculations. In such problems, using grid energy might be better. The drawbacks of grid energies, however, are that work energy appears to be less accurate and that calculation of work energy from extrapolated stress and strain is only valid for small strain, linear elastic materials. In brief, the grid energy method should only be used for small-stain, linear elastic problems and then only when dynamic effects appear to be corrupting the results. Otherwise particle energies are preferred.


More details on J integral evaluation and on the two J integral terms are given in Guo and Nairn (2006).<ref name="GuoJ"/>
More details on J integral evaluation and on the two J integral terms are given in Guo and Nairn (2006).<ref name="GuoJ"/>
Line 55: Line 55:
=== Crack ContactPosition Command ===
=== Crack ContactPosition Command ===


This command influences the way crack detect contact between the crack surfaces. Its function and use is described [[Detecting Contact#Explicit Crack Contact Detection|here]].
This command influences the way cracks detect contact between the crack surfaces. Its function and use are described [[Detecting Contact#Explicit Crack Contact Detection|here]].


=== Crack Plane Updating ===
=== Crack Plane Updating ===


The <tt>MovePlane</tt> command determines how a crack plane move and whether or not crack surfaces can cross crack planes. In scripted files, the command is
The <tt>MovePlane</tt> command determines how a crack plane moves and whether or not crack surfaces can cross crack planes. In scripted files, the command is
  MovePlane (method),<(prevent)>
  MovePlane (method),<(prevent)>
Line 70: Line 70:


* <tt>(method)</tt> is '<tt>avg</tt>' to move the crack plane to the midpoint of the top and bottom surfaces or '<tt>cm</tt>' to move the crack plane in the center of mass velocity field. The default method is '<tt>avg</tt>'.
* <tt>(method)</tt> is '<tt>avg</tt>' to move the crack plane to the midpoint of the top and bottom surfaces or '<tt>cm</tt>' to move the crack plane in the center of mass velocity field. The default method is '<tt>avg</tt>'.
* <tt>(prevent)</tt> is '<tt>yes</tt>' or '<tt>no</tt>' to prevent or allow crack planes crossing the main crack plane. The default setting is '<tt>no</tt>'.
* <tt>(prevent)</tt> is '<tt>yes</tt>' or '<tt>no</tt>' to prevent or allow crack surfaces to cross the main crack plane. The default setting is '<tt>no</tt>'.


For all cracks, the top and bottom surfaces move in their separate velocity fields. The setting for <tt>(method)</tt> determines only how the crack plane particles move. The two methods are equivalent for well defined cracks, but may give different results is some problems. Thus, if crack position seems to cause a problem, one possibility is to repeat the analysis with the other <tt>(method)</tt> option.
For all cracks, the top and bottom surfaces move in their separate velocity fields. The setting for <tt>(method)</tt> determines only how the crack plane particles move. The two methods are equivalent for well defined cracks, but may give different results in some problems. Thus, if crack position seems to cause a problem, one possibility is to repeat the analysis with the other <tt>(method)</tt> option.


Similarly, both <tt>(prevent)</tt> settings are equivalent for well behaved cracks (because surfaces of such cracks tend to not pass through crack planes). If a simulation has problems tracking surfaces, you can try setting <tt>(prevent)</tt> to '<tt>yes</tt>' to see how it changes. The '<tt>no</tt>' setting is faster because it does not need to check crack surfaces on each time step.
Similarly, both <tt>(prevent)</tt> settings are equivalent for well behaved cracks (because surfaces of such cracks tend to not pass through crack planes). If a simulation has problems tracking surfaces, you can try setting <tt>(prevent)</tt> to '<tt>yes</tt>' to see how it changes. The '<tt>no</tt>' setting is faster because it does not need to check crack surfaces on each time step.


== References ==
== References ==
<references/>
<references>
<ref name="GuoJ">Y. Guo and J. A. Nairn, "Calculation of J-Integral and Stress Intensity Factors using the Material Point Method," <i>Computer Modeling in Engineering &amp; Sciences</i>, <b>6</b>, 295-308 (2004). ([http://www.cof.orst.edu/cof/wse/faculty/Nairn/papers/MPMTwoDJ.pdf See PDF])</ref>
</references>

Latest revision as of 13:56, 26 April 2024

Whenever an MPM simulation has explicit cracks, you can use the commands in this section to customize various features of how the cracks are modeled in NairnMPM.

Crack Settings Commands

In scripted files, crack properties are controlled by any number of these possible commands

Propagate (crit),<(dir)>,<(traction)>
AltPropagate (crit),<(dir)>,<(traction)>
ProagateLength (relLength)
JContour (size),<(terms)>,<(usegrid)>
ContactCracks (lawID)
ContactPositionCracks (cutoff)
MovePlane (method),<(prevent)>

In XML input file, all global crack setting commands are within a <Cracks> element that must be within the <MPMHeader> element:

<Cracks>
  <Propagate criterion='(critNum)' direction='(dirNum)' traction='(traction)'/>
  <AltPropagate criterion='(critNum)' direction='(dirNum)' traction='(traction)'/>
  <PropagateLength>(relLength)</ProagateLength>
  <JContour size="(size)" terms="(terms)" gridenergy="(usegrid)"/>
  <Friction law='(lawnum)' lawname='(lawID)'/>
  <ContactPosition>(cutoff)</ContactPosition>
  <MovePlane type='(method)' prevent='(prevent)'/>
</Cracks>

The functions of these commands (with links to more documentation) are:

Crack Propagation Properties

The commands to control crack propagation criterion and direction are described in a separate help topic on Crack Propagation Commands.

Crack Contact Properties

Crack surface can use any contact law to model crack surface contact as either frictional sliding or use the crack to model an imperfect interface. Note that if the crack is defined with traction laws, or if it will create traction laws during propagation, the crack must be set to use frictionless sliding (this setting will be done automatically if not done explicitly)

J Integral Contour Settings

JContour.png

The JContour command is used to set the size of the path used for evaluating J integral and control the number of terms used in the process. The details are:

  • (size) - the J integral is evaluated on a rectangular contour center on the grid node closet to the crack tip (see blue line in the figure). The (size) setting is the semi-length for the sides of the rectangle. The default value is 2 (as shown in the figure).
  • (terms) - this optional parameter should be set to 1 or 2 to specify if the J Integral should be a simple contour (1) or include an area integral inside the contour (2). The area integral corrects for dynamic effects and for axisymmetric stress states making the calculation path independent even in dynamic problems, but is slower. A contour alone (1) might be enough if the size of the contour is small (e.g., (size)=2) and the loading is slow, but both contour and area might be essential as the problem becomes more dynamic or as the size of the contour grows. The default is 1, but for axisymmetric calculations, the area integral is needed even for static problems, and therefore the default changes to 2 terms.
  • (usegrid) - this optional parameter should be set to 0 or 1 (or false or true in scripted files) to specify that kinetic energy and work energy (used in the J integration) are to be found by extrapolating particle energies (if 0 or false) or by extrapolating particle velocity, stress, and strain and than calculating energies from these grid results (if 1 or true). The default is to use particle energies (o or true). In general, the particle energies are preferred (and hence is the default). In some dynamic problems, particle kinetic energies can develop spurious noise that affect J integral calculations. In such problems, using grid energy might be better. The drawbacks of grid energies, however, are that work energy appears to be less accurate and that calculation of work energy from extrapolated stress and strain is only valid for small strain, linear elastic materials. In brief, the grid energy method should only be used for small-stain, linear elastic problems and then only when dynamic effects appear to be corrupting the results. Otherwise particle energies are preferred.

More details on J integral evaluation and on the two J integral terms are given in Guo and Nairn (2006).[1]

Crack ContactPosition Command

This command influences the way cracks detect contact between the crack surfaces. Its function and use are described here.

Crack Plane Updating

The MovePlane command determines how a crack plane moves and whether or not crack surfaces can cross crack planes. In scripted files, the command is

MovePlane (method),<(prevent)>

In XML files, the command is:

<MovePlane type='(method)' prevent='(prevent)'/>

where

  • (method) is 'avg' to move the crack plane to the midpoint of the top and bottom surfaces or 'cm' to move the crack plane in the center of mass velocity field. The default method is 'avg'.
  • (prevent) is 'yes' or 'no' to prevent or allow crack surfaces to cross the main crack plane. The default setting is 'no'.

For all cracks, the top and bottom surfaces move in their separate velocity fields. The setting for (method) determines only how the crack plane particles move. The two methods are equivalent for well defined cracks, but may give different results in some problems. Thus, if crack position seems to cause a problem, one possibility is to repeat the analysis with the other (method) option.

Similarly, both (prevent) settings are equivalent for well behaved cracks (because surfaces of such cracks tend to not pass through crack planes). If a simulation has problems tracking surfaces, you can try setting (prevent) to 'yes' to see how it changes. The 'no' setting is faster because it does not need to check crack surfaces on each time step.

References

  1. Y. Guo and J. A. Nairn, "Calculation of J-Integral and Stress Intensity Factors using the Material Point Method," Computer Modeling in Engineering & Sciences, 6, 295-308 (2004). (See PDF)