Defining Cracks

From OSUPDOCS
Jump to navigation Jump to search

This section explains how to add explicit cracks to an MPM simulation.

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 define the explicit cracks (and there can be any number of them). In addition, whenever a simulation has cracks you can use various crack settings commands to customize the features of the crack physics and set various material fracture properties to control crack propagation.

The development of CRAMP is described first in a paper by Nairn (2003)[1] (and its development was done using NairnMPM). Some other papers discuss calculation of J integral and stress intensity factor,[2], propose energy balance propagation,[3] handle cracks in 3D[4] (although not currently available in NairnMPM), use cracks to model imperfect interfaces,[5], and use traction laws with cracks.[6] Some applications of using cracks in MPM include wood fracture,[7] use of cracks to model glue bonds in oriented strand board,[8] simulation of dynamic fracture,[9] and simulation of crack growth with fiber bridging.[10]

Crack Definition Commmands

OneCrack.png

In CRAMP,[1] a crack is defined as series of massless particles connected by crack segments. The first particle is the "start" tip and the last particle is the "end" tip. When CRAMP is active, nodes around the crack will be divided into two velocity fields to separately model motion of particle "above" the crack and "below" the crack. You define a crack by providing the points along the crack - (x1,y1) to (xn,yn). In addition, CRAMP fully accounts for crack contact, can model cracks with frictional contact, can use cracks to model imperfect interfaces, and can insert traction laws to model cohesive zones. When defining cracks, some additional commands are available to set crack contact mechanics, set crack tip materials, and insert traction laws.

In scripted files, a single crack is started with a NewCrack command, which is followed by one or more of the other commands to complete the crack definition:

NewCrack (x1),(y1),<(mat)>,<(frict)>,<(tract)>
GrowCrack (x2),(y2),<(mat)>
GrowCrackLine (x2),(y2),(segs),<(mat)>,<(tract)>
GrowCrackArc (x1),(y1),(x2),(y2),(segs),(ang1),(ang2)<(mat)>,<(tract)>
CrackInterface (Dt),(Dntens),(Dncomp)
CrackThickness (thick)

In XML files, each crack is defined in a CrackList element:

<CrackList friction='(frict)'>
  <pt units='mm' x='(x1)' y='(x2)' tip='(mat)'/>
  <pt x='53' y='0'/>
     . . .
  <pt x='(x2)' y='(y2)'/>
  <Line xmin="(x1)" ymin="(y1)" xmax="(x2)" ymax="(y2)" resolution="(segs)"
           start_tip="(mat)" end_tip="(mat)"/>
  <Circle xmin="(x1)" ymin="(y1)" xmax="(x2)" ymax="(y2)" resolution="(segs)"
           start_tip="(mat)" end_tip="(mat)" start_angle="(ang1)" end_angle="(ang2)"/>
  <Thickness>(thick)</Thickness>
</CrackList>

The commands and their functions are:

Starting the Crack

In scripted files, a crack is started with the NewCrack command:

NewCrack (x1),(y1),<(mat)>,<(frict)>,<(tract)>

In XML files, a crack is started with

<CrackList friction='(frict)'>
  <pt units='mm' x='(x1)' y='(x2)' tip='(mat)'/>

where

  • (x1),(y1) - defines the coordinates for the start tip of the crack (the coordinates are (R,Z) if axisymmetric).
  • (mat) - this optional parameter can be one of three things:
    1. A Material ID - It can define the material at the start of the crack. Crack propagation is only possible when one or both of its crack tips have a material ID. If the material ID is omitted, the MPM calculations will correctly model that crack, but no propagation or fracture parameter calculations will occur. In XML files, this (mat) option must set the material by number.
    2. "exterior" - this text indicates a crack tip at the edge of the body. In XML files, use tip='-2' instead of of the word "exterior".
    3. "fixed" - this text indicates a fixed crack (scripted files only). A fixed crack will not translate with the object and will not track surfaces. It can calculate J Integral but not stress intensity factor. It is useful when using cracks to create surfaces in an object. The surface can change by propagating the crack at constant crack speed initiated by critical J or by initiation time (see steady state propagation). In XML files, you set a "fixed" crack, by adding an attribute type='fixed' to the <CrackList> element rather then using the (mat) parameter.
  • (frict) - the global Friction command sets cracks by default to contact by frictional sliding and selects default frictional properties. By using the (frict) parameter, you can customize any specific crack to use different frictional properties on can convert one crack to use frictional sliding when the default crack setting is to model imperfect interfaces. The custom frictional properties are set using the same options available in the Friction and FrictionMM commands. If you want to set a contact law on a non-fixed crack in scripted files, but do not want to define a tip material in (mat), you can enter (mat)="free", and then enter the desired (frict).
  • (frict) and (tract) - alternatively, these optional parameters can assign a traction law to the initial crack tip. To use this option in scripted files, set (frict)="traction" and then set (tract) to a material ID for a traction law material. The traction law will be applied only to the first crack particle. In XML files, you assign a traction law using a mat='n' or matnam='name' attribute on the <pt> command.

Growing the Crack

Once a crack is started, it is extended by using one or more growing commands. In scripted files, the commands are:

GrowCrack (x2),(y2),<(mat)>
GrowCrackLine (x2),(y2),(segs),<(mat)>,<(tract)>
GrowCrackArc (x1),(y1),(x2),(y2),(segs),(ang1),(ang2),<(mat)>,<(tract)>

In XML files, the growing commands are:

  <pt x='(x2)' y='(y2)'/>
  <Line xmin="(x1)" ymin="(y1)" xmax="(x2)" ymax="(y2)" resolution="(segs)"
           start_tip="(mat)" end_tip="(mat)"/>
  <Circle xmin="(x1)" ymin="(y1)" xmax="(x2)" ymax="(y2)" resolution="(segs)"
           start_tip="(mat)" end_tip="(mat)" start_angle="(ang1)" end_angle="(ang2)"/>
  • (x1,y1) and (x2,y2) define two points that are used in the growing action that results from the command (the coordinates are (R,Z) if axisymmetric). Some commands give only (x2,y2); for these commands (x1,y1) is the given by the last point of the previous crack definition command.
  • (segs) - the number of segments to create in the command's growing action. See note onnumber of segments for recommendations in selecting this number.
  • (ang1) and (ang2) - for the arc commands, these parameters define the start and end angles for the arc growing action.
  • (mat) - this optional parameter can be one of two things:
    1. A Material ID - it can define the material at the end of the growing action. Crack propagation is only possible when one or both of its crack tips have a material ID. If the material ID is omitted, the MPM calculations will correctly model that crack, but no propagation or fracture parameter calculations will occur. A crack tip material is only needed if the growing command is the last crack definition command for the current crack.
    2. "exterior" - this text indicates a crack tip at the edge of the body. In XML files, use -2 instead of of the word "exterior". A setting of "exterior" only has an effect if the growing command is the last crack definition command for the current crack.
  • (tract) - this optional parameter can assign a traction law to all new crack particles created by the growing action by setting it to the material ID for a traction law material. To set a traction law material but no crack tip material in (mat), you can set(mat) to "0" (or actually to any invalid material ID).

The growing actions for the various crack definition commands are:

  • GrowCrack and <pt> - create a single crack particle at (x2,y2) and a crack segment from (x1,y1) to (x2,y2).
  • GrowCrackLine and <Line> - create (seg) crack particles and segments evenly spaced along the line (x1,y1) to (x2,y2).
  • GrowCrackArc and <Circle> - the points (x1,y1) define (x2,y2) are used to define the corners of a rectangle and an arc is followed between the two (ang1) and (ang2) angles (in degrees as counter-clockwise angle from the positive x axis). The arc is divided into (segs) evenly spaced particles and segments. In addition, the last point of the previous crack definition command will be connected with one segment to the start of the arc. Because the control points for the arc are the boundaries of the oval's rectangle and not the starting and ending points of the resulting arc, linking arcs with points and lines may cause jumps in the crack geometry. One solution is to choose the previou crack definition command to add at the starting of the arc.

Crack as Imperfect Interface

The global ImperfectInterface command sets cracks by default to be an imperfect interface and selects interface parameters. By using the CrackInterface command, you can customize any specific crack to use different interface parameters. This command can also convert one crack to be an imperfect interface when the default crack setting is for frictional sliding. In scripted files, you can customize the current crack with:

CrackInterface (Dt),(Dntens),<(Dncomp)>

In XML files, you select an imperfect interface using attributes on the <CrackList> element

<CrackList Dt='(Dt)' Dn='(Dntens)' Dnc='(Dncomp)'>

where (Dt),(Dntens),(Dncomp) are the interfacial stiffness parameters and should be entered with units of MPa/mm (see imperfect interfaces documentation for details on modeling with interface and for information on setting the three interface parameters.

Crack Thickness

The CrackThickness command sets the thickness for an explicit crack. It is only needed if the crack has any particles with a traction law or when crack tips release their energy into heat. In the scripted file, the command is

CrackThickness (thick)

and it applies to the current crack started with the most recent NewCrack command. In XML files, the command, which must by within a <CrackList> element, is:

<Thickness>(thick)</Thickness>

where (thick) is the crack thickness (in mm).

Once a CrackThickness command has been used, all subsequent cracks will use the same thickness unless a new CrackThickness command changes it. If the grid was created using a GridThickness command, (or a thickness attribute) the crack thickness will inherit that thickness. You only need a CrackThickness command to have a different thickness (although having a different thickness is very uncommon and may alter the physics of the cracks.)

Interacting Cracks

Two cracks handled with rigor. Three or more are beyond the resolution for MPM or any numerical method. Details to follow

Notes

  1. For cracks that extend outside the object, the recommended approach is to stop the cracking slightly before the edge (e.g., 1/4 to 1/2 a cell from the edge) and define that tip as an "exterior" crack tip by setting its tip property to -2. Such tips are virtually extended beyond the object during calculations to model a crack through the surface. An alternative is simply run the crack beyond the edge ((e.g., 1/2 to 1 beyond the edge). Such crack tips, however, can suffer inaccuracies due to lack of imformation about local velocity fields. The result is such crack tips may not move correctly if the object is moving.
  2. Although a straight crack can be mathematically defined with a single segment, the crack surfaces and plane of such cracks would not update well under arbitrary deformation states. Instead cracks should be defined with at least one segment per cell of the background grid. If the crack has [[Traction Laws|traction laws, experience suggest the crack should have at least two segments per cell.

References

  1. 1.0 1.1 J. A. Nairn, "Material Point Method Calculations with Explicit Cracks," Computer Modeling in Engineering & Sciences, 4, 649-664 (2003). (See PDF)
  2. 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)
  3. J. A. Nairn, "Simulation of Crack Growth in Ductile Materials,"; Engr. Fract. Mech., 72, 961-979 (2005). (See PDF)
  4. Y. Guo and J. A. Nairn, "Three-Dimensional Dynamic Fracture Analysis Using the Material Point Method," Computer Modeling in Eng. & Sci., 16, 141-156 (2006). (See PDF)
  5. J. A. Nairn, "Numerical Implementation of Imperfect Interfaces, Computational Materials Science, 40, 525-536 (2007). (See PDF)
  6. J. A. Nairn, "Analytical and Numerical Modeling of R Curves for Cracks with Bridging Zones," Int. J. Fracture, 155, 167-181 (2009). (See PDF)
  7. J. A. Nairn, "Material Point Method Simulations of Transverse Fracture in Wood with Realistic Morphologies," Holzforschung, 61, 375-381 (2007). (See PDF)
  8. 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," Proc of 9th Int. Conf. on Wood Adhesives, Lake Tahoe, Neveda, USA, Sept. 28-30, 2009. (See PDF)
  9. 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," Int. J. Fracture, 170, 49-66 (2011).
  10. N. Matsumoto and J.A. Nairn, "Fracture Toughness of Wood and Wood Composites During Crack Propagation," Wood and Fiber Science, 44, 121-133 (2012). (See PDF)