Difference between revisions of "Crack Settings"

From OSUPDOCS
Jump to navigation Jump to search
 
(32 intermediate revisions by 2 users not shown)
Line 8: 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 20: 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)'/>
Line 29: Line 28:


* [[Crack Propagation Commands|<tt>Propagate</tt>, <tt>AltPropagate</tt>, and <tt>PropagateLength</tt> commands]] - set crack propagation properties
* [[Crack Propagation Commands|<tt>Propagate</tt>, <tt>AltPropagate</tt>, and <tt>PropagateLength</tt> commands]] - set crack propagation properties
* [[#Crack Contact Properties|<tt>Friction</tt>]] - set default crack surface frictional properties
* [[#Crack Contact Properties|<tt>ContactCracks</tt> and <tt>&lt;Friction&gt;</tt>]] - set default crack surface contact mechanics
* [[#Crack Contact Properties|<tt>ImperfectInterface</tt>]] - set default crack surface imperfect interface properties
* [[#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


Line 41: Line 39:
=== Crack Contact Properties ===
=== Crack Contact Properties ===


Crack surfaces can model crack surface contact as either [[Friction#Friction on Explicit Cracks|frictional sliding]] or use the crack to model an [[#Imperfect InterfacesImperfect 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]].
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 47: 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">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>
More details on J integral evaluation and on the two J integral terms are given in Guo and Nairn (2006).<ref name="GuoJ"/>


=== Crack ContactPosition Command ===
=== Crack ContactPosition Command ===


This command influences the way crack detect contact between the crack surfaces. Its function and use are 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 71: 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)