This tutorial provides a step-by-step method for analyzing crack growth in a square plate using Abaqus. We will model a 4-meter plate with an initial 1-meter crack and simulate its behavior under uniform tensile loading. Using the Extended Finite Element Method (XFEM), this tutorial shows how to predict crack propagation without re-meshing and provides a practical approach to fracture mechanics simulation.

Crack growth Simulation in a steel part using the Maxpe method
overview of XFEM in crack growth analysis
The Extended Finite Element Method (XFEM) is a powerful numerical technique for modeling crack growth without the need to re-adapt to the crack geometry. It allows the simulation of complex crack propagation paths, including branching and curvature, within a standard finite element framework.
1. Key Concepts of XFEM
1.1 Enrichment Functions:
- Heaviside Function: Models the displacement jump across crack faces.
- Asymptotic Crack-Tip Functions: Capture the stress singularity (square-root behavior) at the crack tip, derived from linear elastic fracture mechanics (LEFM).
1.2. Partition of Unity (PU):
- Allows local enrichment of the displacement field by adding specialized functions to standard FEM shape functions. Enrichments are applied only to nodes near the crack, minimizing computational overhead.
1.3. Level Set Method:
- Often used with XFEM to implicitly track crack interfaces. Level sets describe the crack location and orientation, simplifying updates during propagation.
Click Here to Read more Modeling discontinuities as an enriched feature using the extended finite element method
It is used to model cracks and other discontinuities. This method does not require mesh alignment with the crack. Instead, it enriches the standard elements with special functions. These functions independently represent the crack and describe how to define the crack geometry. It also covers the formulation for simulating crack growth.
2. Advantages Over Traditional FEM
- Mesh Independence: Cracks can propagate through elements without remeshing, reducing computational cost.
- Accuracy: Enrichment functions improve resolution of stress fields near cracks.
Versatility: Handles complex crack paths, branching, and multiple cracks.
3. Crack Growth Analysis Workflow
3.1. Enrichment Strategy:
- Nodes near the crack are enriched with step functions (for displacement jumps) and asymptotic functions (for crack-tip singularities).
3.2. Propagation Criteria:
- Direction and growth rate determined by criteria like maximum hoop stress or energy release rate (e.g., J-integral).
3.3. Integration:
- Elements intersected by cracks use subdomain integration to account for discontinuities, ensuring accurate stress/strain calculations.
3.4. Update Mechanism:
- As the crack grows, enrichment functions and level sets are dynamically updated to reflect the new geometry.
Challenges
- Computational Cost: Additional degrees of freedom from enrichments increase matrix size.
- Implementation Complexity: Subdomain integration and enrichment management require sophisticated algorithms.
- Convergence: Requires careful handling to ensure numerical stability.
Step by Step Crack Growth Analysis in Abaqus
1. Define Material Properties
- Material Model:
- Use a linear elastic or elastic-plastic material model (e.g., Young’s modulus, Poisson’s ratio).
- Define damage criteria for crack initiation and evolution (e.g., traction-separation law for cohesive behavior).
2. Create Geometry and Assembly
- Part: Create a 2D/3D geometry (e.g., a plate with a pre-existing crack or notch).
- Assembly: Position the part in the global coordinate system.
3. Define XFEM Crack
- Definition:
- In the Interaction Module, go to Special > Crack > Create.
- Select Type: XFEM.
- Crack Domain: Assign the region where the crack may propagate.
- Enrichment Radius: Define the radius around the tip where enrichment functions apply (default = 0.1 × element size).
- Initial Crack: Specify the location using a point, edge, or surface.
4. Set Up Interaction Properties
- Fracture Criterion:
- Under Property Module, create a Contact Property for the crack.
- Assign Damage criteria (e.g., Max Principal Stress (MAXPS) for crack initiation).
- Define Damage Evolution (e.g., energy-based or displacement-based softening).
5. Apply Loads and Boundary Conditions
- Loads: Apply mechanical loads (e.g., tension, bending).
- BCs: Fix relevant edges/faces to simulate real-world constraints.
6. Configure the Step (Analysis Step)
- Step Module:
- Create a Static, General step.
- Enable Nonlinear Geometry (if large deformations are expected).
- Under Field Output Requests, enable:
STATUSXFEM(to track crack propagation).S,E,DAMAGEC,DAMAGET(stress, strain, damage variables).
- Adjust Incrementation (e.g., set initial/minimum/maximum increments for convergence).
7. Mesh the Model
- Mesh Module:
- Use structured/unstructured meshing (no need to conform to the path).
- Refine the mesh near the crack tip for accuracy.
- Element Type:
- For 2D: CPE4 (plane strain) or CPS4 (plane stress).
- For 3D: C3D8 (standard 3D elements).
8. Submit the Job
- Job Module:
- Create a job and submit.
- Monitor the solution progress in the .msg or .sta files.
9. Post-Processing (Visualization Module)
- Crack Visualization:
- Plot
STATUSXFEMto view crack propagation (elements with STATUSXFEM=0 are fully damaged).
- Plot
- Stress/Strain:
- Analyze stress intensity factors (SIFs), J-integral, or T-stress using Contour Integrals.
- Damage Variables:
- Plot
DAMAGEC(compressive damage) orDAMAGET(tensile damage).
- Plot
Key Settings in Abaqus/CAE
- Enrichment Activation:
- Ensure XFEM is enabled in the Interaction properties.
- Crack Propagation Criteria:
- Use MAXPS (maximum principal stress) or VCCT (virtual crack closure technique) for growth direction.
- Stabilization:
- Add viscous stabilization (e.g.,
STABILIZE=0.0001) to avoid convergence issues.
- Add viscous stabilization (e.g.,
Example Workflow for a 2D Plate with Edge Crack
- Geometry: A rectangular plate with an initial edge crack.
- Material: Linear elastic steel with
E=210 GPa,ν=0.3, andMAXPS=500 MPa. - Load: Tensile stress applied to the top edge.
- Result: propagates perpendicular to the loading direction.
Common Issues & Solutions
- Non-Convergence:
- Reduce step size or increase stabilization.
- Refine the mesh near the crack tip.
- Not Propagating:
- Check if the stress exceeds the initiation criterion.
- Verify damage evolution parameters (e.g., fracture energy).
Tips
- Use Python Scripting to automate repetitive tasks (e.g., parametric studies).
- Validate results with analytical solutions (e.g., SIFs from LEFM).
For advanced cases (e.g., fatigue, ), combine XFEM with submodeling or cohesive elements. Refer to the Abaqus Analysis User’s Guide for XFEM-specific keywords like *ENRICHMENT, *CRACK, and *DAMAGE INITIATION
Solving Crack Growth Example in Abaqus
Create Part → Modeling Space: 2D, Type: Deformable, Base Feature: Shell, Type: Planar, Approximate size: 5→ Continue

Rectangle Line: Create

Name: Aluminum, Mechanical:
Elasticity → Young’s Module: 70 × 109 ,Poisson’s Ratio: 0.33 → ok Elasticity → Damage for Traction Seperation Laws → Maxps Damage: 10
Click on the Damage Evolution Suboption and enter a value of 0.1 for the change in position at the moment of damage. Then click OK twice to close the material Edit window.

Click on the Section Create icon and make the following settings:
Create Section → Category: Solid, Type: Homogeneous → Continue → ok


Assign Section → Select the whole model → Aluminum section→ ok
After applying the cross section and material, the entire model will turn green.

Importing the model into the assembly module
For this purpose, enter the assembly module and in the tree diagram, double-click on Instance from the Assembly sub-branch,
then make the settings in the window shown in the figure and click OK.
Create Instance → Independent → ok

result:

Click here to download the complete tutorial file on crack growth simulation in Abaqus software.



