Defining Cracks
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.
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 bods in oriented strand board,[8] simulation of dynamic fracture,[9] and simulation of crack growth with fiber bridging.[10]
Crack Definition Commmands
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 are used 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 CrackThickness
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>1.0</Thickness> </CrackList>
The commands and their functions are:
- NewCrack command - this command starts a new crack (in XML files, the <CrackList> element starts the crack.
- GrowCrack, GrowCrackLine, and GrowCrackArc commands - this commands extend the crack (the corresponding XML commands are <pt>, <Line>, and <Circle>).
- CrackInterface commands - these commands set the crack contact properties.
- CrackThickness command - this commands sets the crack thickness (the corresponding XML command is <Thickness>).
Starting the Crack
In scripted files, 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 start of the crack with crack tip (the coordinates are (R,Z) if axisymmetric).
- (mat) - this optional parameter can be one of three things:
- 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.
- "exterior" - this text indicates a crack tip at the edge of the body. In XML files, use -2 instead of of the word "exterior".
- "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).
- (frict) - this optional parameter can specify custom frictional contact for this crack. The frictional properties are setting use the same options available in the Friction and FrictionMM commands. This option lets each crack have a different contact law such as different coefficients of friction. If you want to set a contact law on a non-fixed crack, 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, set (frict)="traction" and then set (tract) to a material ID for a traction law material. The traction law will applied only to the first crack particle.
Some differences in XML files are:
- To set a "fixed" crack, add an attribute type='fixed' to the <CrackList element.
- The (mat) option must set the material by number.
- To assign a traction law use 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) - defines 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.
- (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:
- 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.
- "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:
Crack Contact Mechanics
Crack Thickness
Exterior Crack Tip
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.
Interacting Cracks
References
- ↑ 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)
- ↑ 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)
- ↑ J. A. Nairn, "Simulation of Crack Growth in Ductile Materials,"; Engr. Fract. Mech., 72, 961-979 (2005). (See PDF)
- ↑ 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)
- ↑ J. A. Nairn, "Numerical Implementation of Imperfect Interfaces, Computational Materials Science, 40, 525-536 (2007). (See PDF)
- ↑ J. A. Nairn, "Analytical and Numerical Modeling of R Curves for Cracks with Bridging Zones," Int. J. Fracture, 155, 167-181 (2009). (See PDF)
- ↑ J. A. Nairn, "Material Point Method Simulations of Transverse Fracture in Wood with Realistic Morphologies," Holzforschung, 61, 375-381 (2007). (See PDF)
- ↑ 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)
- ↑ 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).
- ↑ 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)