0% found this document useful (0 votes)
22 views27 pages

ABAQUS Implementation of The Phase Field Fracture

Uploaded by

zainmalik347
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views27 pages

ABAQUS Implementation of The Phase Field Fracture

Uploaded by

zainmalik347
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

ABAQUS implementation of the phase field fracture

method
Emilio Martı́nez-Pañedaa,∗, Alireza Golahmarb
a
Department of Engineering, Cambridge University, CB2 1PZ Cambridge, UK
b
Department of Mechanical Engineering, Technical University of Denmark, DK-2800
Kgs. Lyngby, Denmark

Abstract
Documentation that accompanies the user element (UEL) subroutine for im-
plementing the phase field model for fracture in Abaqus. Several Fortran
files are provided, each associated with a particular choice of element or time
integration scheme, along with the corresponding input files (see Appendix
B). If using this code for research or industrial purposes, please cite:

E. Martı́nez-Pañeda, A. Golahmar, C.F. Niordson. A phase field formulation


for hydrogen assisted cracking. Computer Methods in Applied Mechanics and
Engineering 342: 742-761 (2018)

Keywords:
ABAQUS, Phase field, Fracture, Crack growth, Finite element analysis

1. The phase field method for fracture


The phase field model for fracture builds upon the pioneering thermo-
dynamic framework established by Griffith, where crack growth will take
place if a critical energy release rate is attained. Frankfort and Marigo [1]
were the first to embed Griffith’s approach into variational formulations by
including in the total potential energy the surface energy dissipated by the
formation of a crack. Bourdin et al. [2, 3] regularized the discrete crack


Corresponding author. Tel: +44 1223 7 48525.
Email address: [email protected] (Emilio Martı́nez-Pañeda)

Preprint submitted to December 24, 2018


topology by means of a scalar damage variable and a diffuse crack repre-
sentation. This variable is termed as the phase field, or phase field order
parameter. Important contributions to the model have also been made by
Miehe and co-workers [4, 5]. Due to its robustness, the phase field fracture
model enjoys great popularity and has not only been successfully applied to
model brittle fracture but also to ductile damage [6, 7], hydraulic fracturing
[8, 9], composites delamination [10, 11], and hydrogen assisted cracking [12],
to name a few. We provide an efficient and robust implementation of the
phase field method in the commercial finite element package Abaqus, en-
abling to model interactions and branching of cracks of arbitrary topological
complexity. Readers familiar with the theoretical and numerical foundations
of the phase field method can jump to Section 2.3 to read about the usage
of the files provided.

1.1. Representation of crack surface density function


Consider a 1D problem consisting of an infinitely expanded bar of con-
stant cross sectional area Γ being aligned along the x-axis and occupying the
solid domain Ω (see Fig. 1a). Assume that the bar is fully cut by a crack at
the axial position x = 0, where Γ represents the fully broken crack surface.
The sharp crack topology (see Fig. 1b) can be described by an auxiliary field
variable φ(x) ∈ [0, 1] with (Dirac delta function)
(
1 if x = 0
φ(x) = (1)
0 if x 6= 0
Here, φ(x) is denoted as the crack phase field, with φ = 0 characterizing
a completely intact state and φ = 1 a fully broken state of the material. As
such, a suitable approach, grounded on continuum damage mechanics 1 , is to
smear out the crack over the axial domain of the bar. Thus, the non-smooth
crack phase field (1) can be approximated by the exponential function (2),
|x|
φ(x) = e− ` (2)

that represents a regularized or diffusive crack topology as illustrated in Fig.


1c.

1
The crack itself is not a discrete phenomenon but initiates with micro-cracks and nano
voids.

2
crack (cross section: )
F F
x
(a)
(x)
1

x
(b)
(x)
1

x
(c) -l l

Figure 1: Sharp and diffusive crack modeling. (a) 1D bar cut by a crack with cross section
Γ. (b) Sharp crack at x = 0. (c) Diffusive crack at x = 0 modeled with length scale `.

The length-scale parameter ` governs the amount of diffusion of the crack,


and for ` → 0 the function (2) equates (1), meaning that the sharp crack
case is approached. It should be emphasized that ` does not represent the
actual width of the diffusive crack, since the crack is smoothed out over the
entire domain. The exponential function (2) is actually never zero but decays
monotonically to zero as we move away from the crack location. Thus,

φ(0) = 1
(3)
φ(x) → 0 as x → ±∞
Taking derivatives of (2) gives

0 sgn(x) − |x|
φ (x) = − e `
`
 2 |x| (4)
00 sgn(x) 1 |x| 1
φ (x) = e− ` = 2 e− ` = 2 φ(x)
` ` `

3
implying that (2) is the solution of the following ordinary differential equation
for x 6= 0
00 1
φ (x) − φ(x) = 0 in Ω (5)
`2
subject to Dririchlet-type boundary conditions (3). Thus, the differential
equation (5) is the Euler-Lagrange equation of the variational problem
 
φ = arg inf I(φ) (6)
φ∈W

in which W is the set of functions satisfying (3). The associated quadratic


functional is then given by
Z ∞ h
1 2 2 0 2
i
I(φ) = φ + ` (φ ) dx (7)
−∞ 2

The functional (7) is simply constructed by integrating a Galerkin-type weak


formulation (8) of the differential equation (5)
Z ∞ h
1 0 0
i
∂I(φ) = υ φ + `2 υ φ dx = 0 (8)
−∞ 2

where υ represents a test function. Plugging (2) into the functional (7) yields
the identification Z ∞ 2|x|
I(φ) = e− ` dx = ` (9)
−∞
Now, considering the integration over the volume domain dV = Γdx,
|x|
I(φ = e− ` ) = `Γ (10)
Thus, the crack surface Γ is related to the crack length scale parameter `.
Consequently, the crack surface density is introduced by means of the regu-
larized crack functional as
Z Z
1 1 h 2 2 0 2
i 0
Γ` (φ) = I(φ) = φ + ` (φ ) dV = γ(φ, φ ) dV (11)
` Ω 2` Ω
0
where γ(φ, φ ) is the crack surface density function in 1D. Similarly, in higher
dimensions it can be expressed as
1 2 `
γ(φ, ∇φ) = φ + |∇φ|2 (12)
2` 2
4
1.2. Strain energy degradation
In order to couple the fracture phase field with the deformation problem, the
total potential energy functional of a solid body takes the following form

Ψ(u, φ) = Ψb (u, φ) + Ψs (φ) (13)


where the former term refers to the stored bulk energy while the latter term
refers to the surface energy associated with the formation of a crack. Let
Ω ⊂ Rδ be the reference configuration of a material body with dimension
δ ∈ [1, 2, 3] in space and δ ⊂ Rδ−1 its surface as illustrated in Fig. 2. The
crack and the displacement field is studied in the range T ⊂ R of time.
Consequently, the time-dependent crack phase field is introduced as
(
Ω × T → [0, 1]
φ: (14)
(x, t) → φ(x, t)
and the displacement field as
(
Ω × T → Rδ
u: (15)
(x, t) → u(x, t)

Ω Ω
φ

Ω Ω
(a) (b)

Figure 2: Sharp and diffusive crack topology. Adapted from [5]. (a) The sharp crack
surface Γ embedded into the solid Ω and (b) the diffusive crack surface Γ` (φ) is a functional
of the crack phase field φ.

1.2.1. Isotropic degradation of the stored bulk energy


In the total potential energy functional (13), the stored bulk energy can be
written as

5
Z
b
Ψ (u, φ) = ψ ((u), φ) dV (16)

that depends on the displacement u and the fracture phase field φ. The
energy storage function ψ describes the stored bulk energy of the solid per
unit volume

ψ (, φ) = g(φ)ψ0 () (17)


where ψ0 is the elastic strain energy density. Assuming the standard linear
theory of elasticity for the unbroken isotropic solid, the elastic strain energy
density takes the form
1
ψ0 () = T C0  (18)
2
with C0 being the linear elastic stiffness matrix in Voigt notation. Linear
elasticity is assumed here for simplicity but the extension to J2 plasticity is
straightforward and can be provided upon request. Additionally, one should
note that a linear elastic description of crack tip stresses is closer to the pre-
dictions of implicitly multi-scale plasticity formulations (e.g., strain gradient
plasticity) than conventional plasticity [13, 14]. Considering the plane strain
condition in 2D
 
1−ν ν 0
E
C0 = (1+ν)(1−2ν)  ν 1−ν 0  (19)
 
1−2ν
0 0 2

with E and ν being the Young’s modulus and Poisson’s ratio, respectively.
Assuming small strains, the standard strain tensor  can be defined as
1 T 
= ∇ u + ∇u (20)
2
where u is the vector of displacements and ∇u its gradient. The monoton-
ically decreasing function g(φ) describes the degradation of the stored bulk
energy due to damage evolution by,
0
g(0) = 1, g(1) = 0, g (1) = 0 (21)

The first two constraints are the limits for the unbroken and fully broken
state while the last constraint ensures that ∂ψ/∂φ converges to a final value

6
for the fully broken state φ = 1. Consequently, the parabolic degradation
function g(φ) is introduced as

g(φ) = (1 − φ)2 + k (22)

where k is a parameter chosen to be as small as possible such that the system


of equations are kept well-conditioned for the partly-broken state.

1.2.2. Fracture surface energy


In the total potential energy functional (13), the fracture energy dissipated
by the formation of a crack can be written as
Z
s
Ψ (φ) = Gc γ(φ, ∇φ) dV (23)

where the parameter Gc is the critical Griffith-type energy release rate of


the solid material per unit area. By using the formulation of the stored and
fracture energy outlined above, the total potential energy functional can be
written as
Z   
 2
 1 2 ` 2
Ψ(φ, u) = (1 − φ) + k ψ0 () + Gc φ + |∇φ| dV (24)
Ω 2` 2

1.3. Governing balance equations of coupled problem


1.3.1. Basic fields and boundary conditions
With the constitutive formulation of the total potential energy in a frac-
turing solid outlined above, one can now formulate the governing equations.
These equations determine the fracture phase field φ and the displacement
field u of the solid introduced in (14) and (15), respectively. With respect
to the displacement field, the outer surface of the body is decomposed into a
part ∂Ωu , where the displacement is prescribed by Dirichlet-type boundary
conditions
u(x, t) = uD (x, t) at x ∈ ∂Ωu (25)
and into a part ∂Ωh , where the traction h is prescribed by Neumann-type
boundary conditions (see Fig. 3a). With respect to the fracture phase field,
a cracked region can be prescribed through the Dirichlet-type boundary con-
dition
φ(x, t) = 1 at x ∈ ΓD (26)

7
where ΓD is a possible given sharp crack surface inside the solid Ω (see Fig.
3b). The crack phase field φ is considered to be driven by the displacement
field u of the solid. Consequently, no prescribed external loading is considered
corresponding to the crack phase field φ. The external mechanical loading is
then defined by the variation of the external work increment as
Z Z
δWext = b · δu dV + h · δu dA (27)
Ω ∂Ωh

where b is a prescribed body force field per unit volume while h is a bound-
ary traction field per unit area. Furthermore, the variation of the internal
potential energy increment is given by
   
∂Ψ ∂Ψ
∂Wint = ∂Ψ(φ, u) = : δ + δφ (28)
∂ ∂φ
which for the case of (24) yields
Z   
1
∂Wint = σδ − 2(1 − φ)δφψ0 () + Gc φδφ + `∇φ · ∇δφ dV (29)
Ω `
where the Cauchy stresses,
∂Ψ
= g(φ)σ0 = (1 − φ)2 + k σ0
 
σ= (30)
∂

Ω Ω

∈Ω
Ωh
∈Ω

b
φ

Ωu
(a) (b)

Figure 3: Two-field approach of phase field-type crack propagation in deformable solids.


Adapted from [5]. The displacement field u is constrained by the Dirichlet- and Neumann-
type boundary conditions u = uD on ∂Ωu and σ · n = h on ∂Ωh . (b) The crack phase
field φ is constrained by the Dirichlet- and Neumann-type boundary conditions φ = 1 on
Γ and ∇φ · n = 0 on ∂Ω.

8
are given in terms of the stress tensor of the undamaged solid

σ0 = C0  (31)

1.3.2. Coupled balances


In order to derive the weak and strong form of the governing equations,
the equilibrium of the external and internal virtual works is imposed for the
quasi-static process
∂Wint − ∂Wext = 0 (32)
which by inserting (27) and (29) yields

Z   
1
σδ − 2(1 − φ)δφψ0 () + Gc φδφ + `∇φ · ∇δφ dV
Ω `
Z Z (33)
− b · δu dV + h · δu dA = 0
Ω ∂Ωh

for all admissible δφ and δu of the phase field and the displacement field,
which satisfy the homogeneous form of the Dirichlet-type boundary condi-
tions. Application of the Gauss theorem gives
Z     
1
− [Div [σ] + b] · δu − 2(1 − φ)ψ0 () − Gc φ − Div [`∇φ] δφ dV
Ω `
Z Z
+ [σ · n − h] · δu dA + [Gc `∇φ · n] δφ dA = 0
∂Ωh ∂Ω
(34)

where n denotes the outward unit vector normal to the surface ∂Ω. Thus, this
leads to the strong form of the governing balance equations of the coupled
problem

Div [σ] + b = 0

1
 (35)
Gc φ − `∆φ − 2(1 − φ)ψ0 () = 0
`

along with the Neumann-type boundary conditions

9
σ·n=h on ∂Ωh and ∇φ · n = 0 on ∂Ω (36)
(35)1 is the macroscopic equilibrium condition while (35)2 determines the
evolution of the phase field, where ∆φ refers to the Laplacian of the phase
field.

2. Finite element implementation


2.1. Finite element discretization of variational principles
In order to obtain numerical solutions of the coupled system of partial dif-
ferential equations (35) using the finite element method, it is more convenient
to work with the weak form

Z Z
{σδ − b · δu} dV + h · δu dA = 0
Ω ∂Ωh
Z    (37)
1
−2(1 − φ)δφψ0 () + Gc φδφ + `∇φ · ∇δφ dV = 0
Ω `

Using Voigt-notation in a 2D space, the displacement field u and the


phase field φ can be discretized as
m
X m
X
u= Nui ui and φ= Ni φi (38)
i=1 i=1

where the shape function matrix is expressed as


" #
Ni 0
Nui = (39)
0 Ni

Here, Ni denotes the shape function associated with node i, m is the total
number of nodes per element, and ui = {ux , uy }T and φi are the displacement
and phase field values at node i. Consequently, the corresponding derivatives
can be discretized as
m
X m
X
= Bui ui and ∇φ = Bφi φi (40)
i=1 i=1

10
where  = {xx , yy , xy }T . The strain-displacement matrices are expressed
as  
Ni,x 0 " #
φ Ni,x
Bui =  0 Ni,y  and Bi = (41)
 
Ni,y
Ni,y Ni,x
where Ni,x and Ni,x are the derivatives of the corresponding shape function
with respect to x and y, respectively. Similarly, the virtual quantities δu and
δφ and their derivatives can be discretized as
m
X m
X
δu = Nui δui and δφ = Ni δφi
i=1 i=1
(42)
m
X m
X
δ = Bδu
i ui and ∇δφ = Bφi δφi
i=1 i=1

Using the above expressions and due to the fact that (37) must hold for
arbitrary values of δu and δφ, the discrete equation corresponding to the
equilibrium condition can be expressed as the following residual with respect
to the displacement field
Z Z Z
 u T u T
u 2
(Nui )T h dA (43)

ri = (1 − φ) + k (Bi ) σ0 dV − (Ni ) b dV −
Ω Ω ∂Ωh

Similarly, the residual with respect to the evolution of the crack phase field
can be expressed as
Z   
φ 1 φ T
ri = −2(1 − φ)Ni ψ0 () + Gc Ni φ + `(Bi ) ∇φ dV (44)
Ω `

In order to obtain the solutions for which ru = 0 and rφ = 0 and due to the
fact that the corresponding residuals are nonlinear, an incremental-iterative
scheme using Newton-Raphson method is employed
( ) ( ) " #−1 ( )
u u Kuu Kuφ ru
= − (45)
φ φ Kφu Kφφ rφ
t+∆t t t t

11
in which the tangent stiffness matrices are calculated as
∂rui
Z
uu
(1 − φ)2 + k (Bui )T C0 Buj dV
 
Kij = =
∂uj Ω

∂rui
Z

Kij = = −2 (1 − φ) (Bui )T σ0 Nj dV
∂φj Ω
(46)
∂rφ
Z
Kφu
ij = i = −2 (1 − φ) Ni σ0 T Buj dV
∂uj Ω

∂rφ
Z   
Gc φ T
Kφφ
ij = i = 2ψ0 () + φ
Ni Nj + Gc `(Bi ) (Bj ) dV
∂φj Ω `
The displacement field u and the phase field φ in the coupled system (35) can
now be solved simultaneously as fully coupled monolithic fields. It should be
noted that above system of equations does not guarantee the irreversibility
of the evolution of the crack phase field, i.e.

φt+∆t ≥ φt (47)

However, such a constraint can approximately be enforced by implementing


a penalty term in the crack phase field equations as described in [5]. This
comes at the cost of adding (artificial) parameters to the model.

2.2. Staggered approach


The monolithic model tends to encounter convergence problems in the
cases where unstable crack propagation is present. When the crack starts to
grow, the stress field rearranges due to the newly degraded stiffness matrix.
Consequently, the implicit solver fails to find a stable equilibrium solution.
In order to obtain a stable implicit model, the displacement field u and
the phase field φ in the coupled system (35) can be solved separately as
sequentially coupled staggered fields. It represents an operator split algorithm
in which the phase field and the displacement field are updated sequentially.
First, consider the minimization problem of the internal potential energy
with respect to the phase field. It yields the strong form of the evolution of
the crack phase field along with the Neumann-type boundary condition (36)2
 
1
Gc φ − `∆φ − 2(1 − φ)H = 0 (48)
`

12
in which H is introduced as so-called history variable field
(
ψ0 () if ψ0 () > Ht
H= (49)
Ht otherwise
where Ht is the previously calculated energy obtained in history in terms
of the displacement field ut at time increment t. The calculation of the
current history field is the main idea for the algorithmic split of the coupled
equations. Being in fact a variable field which couples the phase field and
the displacement field in the staggered scheme. Furthermore, it enforces
the irreversibility of the evolution of the crack phase-filed, i.e. the growth
constraint (47). Consequently, the history field satisfies the Kuhn-Tucker
conditions [4],
ψ0 − H ≤ 0, Ḣ ≥ 0, Ḣ(ψ0 − H) = 0 (50)
for both loading and unloading case. Thus, no penalty term is needed in
contrast to the monolithic approach. In the same manner as outlined in
section 2.1, the residual corresponding to the evolution of the crack phase
field is then as follows
Z   
φ 1 φ T
ri = −2(1 − φ)Ni H + Gc Ni φ + `(Bi ) ∇φ dV (51)
Ω `
Similarly, the residual corresponding to the displacement field is then as
follows
Z Z Z
 u T u T
u 2
(Nui )T h dA (52)

ri = (1 − φ) + k (Bi ) σ0 dV − (Ni ) b dV −
Ω Ω ∂Ωh

Employing the Newton-Raphson method, the following system of equations


can be solved iteratively
( ) ( ) " #−1 ( )
u u Kuu 0 ru
= − (53)
φ φ 0 Kφφ rφ
t+∆t t t t

in which the tangent stiffness matrices are calculated as


∂rui
Z
uu
(1 − φ)2 + k (Bui )T C0 Buj dV
 
Kij = =
∂uj Ω
(54)
∂rφ
Z   
Gc φ T
Kφφ
ij = i = 2H + φ
Ni Nj + Gc `(Bi ) (Bj ) dV
∂φj Ω `

13
The new formulation results in above-decoupled system of equations for the
sequential update of the phase field and the displacement field. Then, the
staggered scheme for Phase-field model is outlined as follows
1. The displacement, phase and history fields ut , φt and Ht are known at
the previous time increment t. Then, the prescribed load vectors b and
h are updated at the current time increment t + ∆t

2. The current phase field φt+∆t and the current displacement field ut+∆t
are now computed using the corresponding linear algebraic Euler equa-
tions
Kφφ
t φt+∆t = −rt
φ
(55)
Kuu u
t ut+∆t = −rt (56)
where Kφφ
t and rφt are built from Ht , and Kuu
t and rut are built from
φt .
The use of a Newton-Raphson backward Euler scheme implies that the
numerical solution is unconditionally stable, i.e., achieving convergence im-
plies attaining the equilibrium solution. Hence, the solution is independent of
the time increment, although small load increments may be needed to achieve
convergence if there is a sudden change in the solution (as in, e.g., unstable
crack propagation). In the staggered scheme adopted here, the phase and the
displacement fields are solved - within a Backward Euler approach - indepen-
dently. This is unlike the monolithic case, where convergence is fulfilled for
both coupled fields at the same time, retaining the unconditional stability.
The price to pay in the monolithic approach is the need to include a penalty
term (introducing additional parameters into the model) and difficulties to
achieve convergence in the very computationally demanding problem of un-
stable crack propagation. By solving for the phase and the displacement
fields independently, the staggered scheme can track the equilibrium solution
in a semi-implicit manner, leading to a more robust numerical implementa-
tion. One should, however, perform a time increment sensitivity study.

The specific staggered scheme outlined has proven to be the more robust
one and is therefore chosen for our implementation. Files are provided with
other two options: (1) a semi-implicit approach where Kuu t and rut are built
from ut + ∆t (denoted file B), and (2) an implicit, weakly coupled, approach
where ut + ∆t and Ht+∆t are used to build the linearized system through

14
an extrapolation procedure (denoted file A) - differences and similarities are
discussed at large in Appendix A. Msekh et al. [15] implemented the phase
field fracture method in Abaqus by means of an implicit approach. A more
robust approach is the one presented by Molnar and Gravouil [16]; how-
ever, they make use of a cumbersome multi-layer system that hinders the
implementation.

2.3. Numerical implementation in Abaqus


The phase field model is implemented by means of Abaqus UEL sub-
routine which allows for user-defined computation of the element tangent
stiffness matrices and the nodal force vectors. We consider isoparametric 2D
quadrilateral elements (linear and quadratic) with 3 degrees of freedom per
node, i.e. ux , uy and φ, and four integration points. The extension to a three
dimensional case is straightforward.

A number of quantities are stored as solution-dependent state variables


SVARS to use semi-implicit staggered schemes and ease the extension to
history-dependent problems (e.g., plasticity). These are shown in Table 1.
The stress variables refer to the undamaged stress tensor σ0 .

Variable SVARS numbering


Axial stresses - σ11 , σ22 , σ33 SVARS(1), SVARS(2), SVARS(3)
Shear stress - σ12 SVARS(4)
Axial strains - 11 , 22 , 33 SVARS(5), SVARS(6), SVARS(7)
Shear strain - 12 SVARS(8)
History variable field - H SVARS(9)
Crack phase field - φ SVARS(10)
Table 1: List of solution dependent state variables for the UEL.

The use of user element subroutines has the drawback that integration
point variables cannot be visualized in Abaqus/Viewer. This limitation is
intrinsic to the fact that the only information that Abaqus requests from the
UEL subroutine are the stiffness matrix and the right-hand side nodal force
vector - the magnitude of the stresses and the strains, as well as the choice of
shape functions, is information that is not available as output. To overcome
this limitation we here make use of an auxiliary dummy mesh consisting of

15
standard Abaqus elements that resemble the user defined element in terms of
number of nodes and integration points (i.e., CPE4 or CPE8R). The material
response at each integration point in the auxiliary mesh is defined using
a user material subroutine (UMAT), which enables the user to define the
constitutive matrix and the stresses from the strain values. In this auxiliary
mesh, the stress components and the constitutive matrix are made equal to
zero (i.e., they have no influence in the solution of the global system). The
data from our UEL that we want to observe in Abaqus/Viewer is stored in
a Fortran module, which allows transferring to the UMAT subroutine. In
the UMAT the information is passed to the built-in array STATEV for each
corresponding element and integration point. If SDV variables are requested
as Field Output we would be able to visualize the results. Table 2 shows the
equivalence between model variables and SDVs.

Variable SDVs numbering


Axial stresses - σ11 , σ22 , σ33 SDV1, SDV2, SDV3
Shear stress - σ12 SDV4
Axial strains - 11 , 22 , 33 SDV5, SDV6, SDV7
Shear strain - 12 SDV8
Crack phase field - φ SDV9
Table 2: List of solution dependent state variables.

2.4. Usage instructions


The first step is to create the model in Abaqus/CAE. The procedure is
the same as with standard Abaqus models with the following subtleties:

• The material has to be defined as a user material with 9 solution-


dependent variables. (General → Depvar: 9 & General → User Mate-
rial - Mechanical Constants: 0).

• SDV, Solution dependent state variables, have to be requested as Field


Output (as well as displacement, reaction forces and other relevant
quantities). (Field Output Request - State/Field/User/Time: SDV,
Solution dependent state variables)

• In the (Static, General) Step definition we will define the incrementa-


tion type as “Fixed” (as opposed to “Automatic”) to use a constant

16
time increment. This is due to the semi-implicit staggered scheme
adopted (see discussion in Section 2.2).
• The mesh has to be very refined in the expected crack propagation
area. As discussed in our publication [12], the characteristic element
size has to be at least 5 times smaller than ` to resolve the fracture
process zone. If the crack path is unknown a common strategy is to
start with a coarser uniform mesh and refine in subsequent calculations.
Use as element type CPE4 (or CPE8R if you run the analysis with the
quadratic element file).
Once the model has been developed, we create a job and write the input
file (Right click on the Job name and click “Write Input”). A few modifica-
tions have to be done to the input file to define the user element, the use of a
code editor like Notepad++ is recommended. First, we create the dummy vi-
sualization mesh. For this purpose we use the Matlab script VirtualMesh.m,
which is part of the Abaqus2Matlab package [17]. Running VirtualMesh.m
on the same folder as the input file (Job-1.inp) will create a new file (Vi-
sualMesh.inp) with the element connectivity of the visualization mesh.

The first step is to replace the element type,


*Element, type=CPE4
with the user element definition,
*User element, nodes=4, type=U1, properties=5, coordinates=2, var=40
1,2
1,3
*ELEMENT, TYPE=U1, ELSET=SOLID
where we have defined the number of nodes (linear version), the number of
properties that will be defined in the input file, the number of coordinates
(2D), and the number of SVARS (10 per integration point). We have defined
the ordering of the DOFs in a way that (53) corresponds to the element
system (as opposed to the node system). Thus, the variable U contains the
components: u1x , u1y , u2x , u2y , u3x , u3y , u4x , u4y , φ1 , φ2 , φ3 and φ4 . Accordingly, if
one wishes to prescribe a cracked region through the phase field parameter,
the boundary condition φ = 1 should be enforced on the DOF 3.

After the element connectivity list one inserts,

17
*UEL PROPERTY, ELSET=SOLID
210000., 0.3, 0.025, 2.7, 1e-07
*Element, type=CPE4, elset=Visualization

and immediately afterwards the visualization connectivity list (i.e., the con-
tent of the file VisualMesh.inp created by the Matlab script). Here, we have
defined the user element properties following Table 3. Throughout our model
we employ SI (mm) units.

UEL PROPERTY Description


PROPS(1) E - Young’s modulus [MPa]
PROPS(2) ν - Poisson’s ratio
PROPS(3) ` - Phase field length parameter [mm]
PROPS(4) Gc - Critical energy release rate [MPa mm]
PROPS(5) k - well-conditioning parameter
Table 3: List of user element properties.

And finally, note that, since we have defined our dummy connectivity
list within the element set “Visualization”, we need to modify the Section
definition,

*Solid Section, elset=Set-1, material=Material-1

to change the name of the element set,

*Solid Section, elset=Visualization, material=Material-1

Additionally, one should note that a Fortran module has been defined in
the first lines of the subroutine for visualization purposes. One has to be
sure that the first dimension of the variable UserVar is larger than the total
number of elements.

2.5. Representative results


We consider as benchmark the case of a square plate with a horizontal
crack placed at the middle point of the left side of the plate. The geometric
set-up as well as the boundary conditions are illustrated in Fig. 4. The
bottom side is fixed while the top edge is moved vertically. Young’s modulus
is chosen to be E = 210000 MPa, Poisson’s ratio ν = 0.3 and critical energy

18
release rate Gc = 2.7 MPa mm. The load is applied by prescribing a constant
total displacement of u = 0.01 mm.

Figure 4: Notched square plate subjected to tension test, geometry and boundary condi-
tions.

Since the goal is to provide an example file, a coarse mesh is adopted to


allow for a rapid simulation (the job finishes in minutes). A total of 5409
quadrilateral elements are employed, with the characteristic element length
along the crack propagation path being equal to h = 0.005 mm. We adopt a
length scale that is 8 times larger than h to ensure mesh-independent results,
` = 0.04 mm. To run the calculation type in the command line:

abaqus job=Job-1 user=PhaseField.for

Linux users may have to change the extension of the subroutine, converting
the PhaseField.for file to PhaseField.f. The Python script ResultsQ4.py
can be used to obtain relevant results. Representative results are shown in
Figs. 5 and 6. Specifically, Fig. 5 shows the force versus displacement
curve obtained. As observed in the figure, damage brings in an important
drop in the load, with the crack propagating in an unstable manner across
the specimen. Computations persist beyond the point of almost complete
breakage. The resulting fracture patterns at different steps are illustrated in
Fig. 6. Blue and red colors correspond to the completely intact and the fully
broken state of the material, respectively. The response is not symmetric, as
the lower bound is fully clamped, and the crack is rather diffuse, as expected
given the choice of `. A quantitative agreement with the results of Miehe

19
et al. [5] can be adopted by choosing the same value of ` and refining the
mesh (see details in our paper [12]). A time sensitivity analysis should also
be conducted (a relatively large time increment is chosen to enable a fast
demonstration).

700

600

500
Force (N)

400

300

200

100

0
0 0.002 0.004 0.006 0.008 0.01
Displacement (mm)
Figure 5: Load-deflection curve obtained in the simple benchmark of a cracked square
plate subjected to tension.

20
Figure 6: Notched square plate subjected to tension test. Fracture pattern at a displace-
ment of (a) u = 0.06 mm, (b) u = 0.065 mm, (c) u = 0.07 mm and (d) u = 0.075
mm.

In addition to the main subroutine and the input file for this simple
boundary value problem, subroutines and input files are provided for other
integration schemes and type of elements (see Appendix B).

3. Conclusions
We have provided a robust implementation of the phase field fracture
method for the commercial finite element package Abaqus. As discrete meth-
ods (see, e.g., [18]), the phase field fracture method requires a refined mesh
along the potential crack propagation path to resolve the fracture process
zone. However, by decoupling the damage and displacement variables the
method is very robust and it is able to model unstable crack propagation
without the need of control algorithms [19, 20]. Also, as shown in our journal
publication [12], the phase field method is well-suited to deal with arbitrary
crack propagation paths. In summary, the method holds promise and we
hope that the present implementation will facilitate research in this field.

4. Acknowledgements
E. Martı́nez-Pañeda acknowledges financial support from the People Pro-
gramme (Marie Curie Actions) of the European Union’s Seventh Framework
Programme (FP7/2007-2013) under REA grant agreement n◦ 609405 (CO-
FUNDPostdocDTU).

21
Appendix A. Assessment of staggered schemes in Abaqus
Let us consider the simple case of a displacement-based finite element
scheme without any additional fields. We aim at computing the displacement
field u of the following linearised problem,

Ku = f (A.1)

If our problem is non-linear, we need to prescribe the external load f


incrementally to facilitate convergence of the Newton-Raphson algorithm,

K∆u = ∆f (A.2)

such that we are subsequently computing the incremental displacement solu-


tion. One can readily obtain the total solution at the current time increment
by,
ut+∆t = ut + ∆u (A.3)
Abaqus provides to the UEL subroutine the incremental solution ∆u
(variable DU) and the total solution at the current time increment ut+∆t
(variable U). From ∆u one can readily compute the increments of strain,
that are added to the stored strain quantities, and this information is passed
to a UMAT subroutine where the stiffness matrices and the stresses are com-
puted. If we are dealing with a history dependent problem (e.g., plasticity),
our stiffness matrix will be computed from the updated total strains and
stresses.

In non-linear problem, several iterations may be needed to achieve conver-


gence. Abaqus adopts by default an extrapolation scheme by which ∆ut+∆t ,
needed to build K, will be assumed to be equal to the converged solution
of the previous increment ∆ut . Thus, for the first iteration we build our
stiffness matrix using ∆u0 (= ∆ut ). If we do not achieve convergence we add
the new solution ∆u = ∆u0 +∆u1 , update ut+∆t = ut +∆u and compute K.
The process is repeated until convergence is achieved: ∆uk , and the residual,
are sufficiently small.

In the context of our phase field implementation this implies that we


have, at the UEL, the proposed (it may not converge) solution for the cur-
rent load ut+∆t and φt+∆t . Miehe et al. [5] suggest solving the phase field
problem with Kφφ and rφ computed from Ht , and then solve the displacement

22
problem with the recently obtained φt+∆t . One can exactly reproduce this
scheme in Abaqus using sub-increments, solving for ∆φ and ∆u in alternate
sub-increments. Another approach, taken here, is to solve at the same time
for both ∆φ and ∆u. One can choose to build Kφφ and rφ from Ht , as done
by Miehe et al. [5], or follow a more implicit procedure where we employ
Ht+∆t , as computed from the proposed solution for the current increment
ut+∆t . This latter implicit approach may consider Ht instead of Ht+∆t , as
dictated by the Kuhn-Tucker conditions. We found that convergence im-
proves if Ht is updated during the non-converged increments as well. While
this sceme is unconditionally stable, we struggle to achieve convergence in
many of our tests; files are nevertheless provided, we refer to it as approach
A. Another option, referred to as approach B, is to follow Miehe et al. [5],
computing Kφφ and rφ from Ht , and build Kuu and ru from the proposed
φt+∆t (1 field, semi-implicit). A third approach (C), more robust, consists in
computing Kφφ and rφ from Ht , and build Kuu and ru from the converged
φt (2 fields, semi-implicit).

Two additional files are provided, although we never found the need to
use them for the computations conducted in [12]. However, they may be
useful for studies that entail strong convergence problems. One, denoted
as approach D, is the same as the 2 fields semi-implicit approach (C) but
we update Ht even if the increment does not converge. This has proven
to help in some of our convergence tests. The other one is a fully forward
Euler approach with equilibrium correction; this is referred to as approach E.
While it seems to work very well, one should be very careful to ensure that
the increment is sufficiently small such that we are not going away from the
equilibrium solution. In our tests we found that the explicit version works
best with approach B - semi-implicit, one field.

Appendix B. List of files


Main folder

Job-1.inp - Input file for the benchmark problem of a cracked square sub-
jected to tension.

PhaseField.for - UEL Subroutine with the phase field fracture model. 4-


node element and semi-implicit integration scheme (2 fields, C).

23
ResultsQ4.py - Python script to automatically extract the load displace-
ment curve and show contours.

ExtraFiles folder

Job-1.inp - Example of input file as obtained from Abaqus/CAE, to be


read by VisualMesh.m.

VisualMesh.m - Matlab script from [17] to create the element connec-


tivity list of the visualization mesh.

Job-1a.inp - Input file for the implicit case (A), to be used with Phase-
FieldQ4a.for.

Job-1b.inp - Input file for the semi-implicit (1 field) case (B), to be used
with PhaseFieldQ4b.for.

Job-1d.inp - Input file for the semi-implicit (2 fields) case storing non-
converged Ht (D), to be used with PhaseFieldQ4d.for.

Job-1e.inp - Input file for the forward Euler case with residual correc-
tion (E), to be used with PhaseFieldQ4b.for.

PhaseFieldQ4a.for - Subroutine for the implicit case (A).

PhaseFieldQ4b.for - Subroutine for the semi-implicit case (1 field, B).

PhaseFieldQ4d.for - Subroutine for the semi-implicit (2 fields) case


storing non-converged Ht (D).

Q8 folder

Job-1c.inp - Input file for quadratic quadrilateral elements (semi-


implicit, 2 fields, C).

PhaseFieldQ8c.for - Subroutine for the quadratic element case (semi-


implicit, 2 fields, C).

24
References
[1] G. Francfort, J.-J. Marigo, Revisiting brittle fracture as an energy mini-
mization problem, Journal of the Mechanics and Physics of Solids 46 (8)
(1998) 1319–1342.

[2] B. Bourdin, G. A. Francfort, J. J. Marigo, Numerical experiments in


revisited brittle fracture, Journal of the Mechanics and Physics of Solids
48 (4) (2000) 797–826.

[3] B. Bourdin, G. A. Francfort, J. J. Marigo, The variational approach to


fracture, Springer Netherlands, 2008.
[4] C. Miehe, F. Welshinger, M. Hofacker, Thermodynamically consistent
phase-field models of fracture: Variational principles and multi-field FE
implementations, International Journal for Numerical Methods in Engi-
neering 83 (2010) 1273–1311.

[5] C. Miehe, M. Hofacker, F. Welschinger, A phase field model for rate-


independent crack propagation: Robust algorithmic implementation
based on operator splits, Computer Methods in Applied Mechanics and
Engineering 199 (45-48) (2010) 2765–2778.

[6] M. J. Borden, T. J. R. Hughes, C. M. Landis, A. Anvari, I. J. Lee,


A phase-field formulation for fracture in ductile materials: Finite defor-
mation balance law derivation, plastic degradation, and stress triaxiality
effects, Computer Methods in Applied Mechanics and Engineering 312
(2016) 130–166.
[7] C. Miehe, F. Aldakheel, A. Raina, Phase field modeling of ductile frac-
ture at finite strains: A variational gradient-extended plasticity-damage
theory, International Journal of Plasticity 84 (2016) 1–32.
[8] A. Mikelic, M. Wheeler, T. Wick, A phase-field method for propagating
fluid-filled fractures coupled to a surrounding porous medium, Multiscale
Modeling and Simullation 13 (2015) 367–398.
[9] Z. A. Wilson, C. M. Landis, Phase-field modeling of hydraulic fracture,
Journal of the Mechanics and Physics of Solids 96 (2016) 264–290.

25
[10] J. Reinoso, M. Paggi, C. Linder, Phase field modeling of brittle fracture
for enhanced assumed strain shells at large deformations: formulation
and finite element implementation, Computational Mechanics 59 (6)
(2017) 981–1001.

[11] V. Carollo, J. Reinoso, M. Paggi, A 3D finite strain model for intralayer


and interlayer crack simulation coupling the phase field approach and
cohesive zone model, Composite Structures 182 (2017) 636–651.

[12] E. Martı́nez-Pañeda, A. Golahmar, C. F. Niordson, A phase field for-


mulation for hydrogen assisted cracking, Computer Methods in Applied
Mechanics and Engineering 342 (2018) 742–761.

[13] E. Martı́nez-Pañeda, C. F. Niordson, On fracture in finite strain gradient


plasticity, International Journal of Plasticity 80 (2016) 154–167.

[14] E. Martı́nez-Pañeda, S. Natarajan, S. Bordas, Gradient plasticity crack


tip characterization by means of the extended finite element method,
Computational Mechanics 59 (5) (2017) 831–842.

[15] M. A. Msekh, J. M. Sargado, M. Jamshidian, P. M. Areias, T. Rabczuk,


Abaqus implementation of phase-field model for brittle fracture, Com-
putational Materials Science 96 (PB) (2015) 472–484.

[16] G. Molnar, A. Gravouil, 2D and 3D Abaqus implementation of a ro-


bust staggered phase-field solution for modeling brittle fracture, Finite
Elements in Analysis and Design 130 (March) (2017) 27–38.

[17] G. Papazafeiropoulos, M. Muñiz-Calvente, E. Martı́nez-Pañeda,


Abaqus2Matlab: A suitable tool for finite element post-processing, Ad-
vances in Engineering Software 105 (2017) 9–16.

[18] S. del Busto, C. Betegón, E. Martı́nez-Pañeda, A cohesive zone frame-


work for environmentally assisted fatigue, Engineering Fracture Mechan-
ics 185 (2017) 210–226.

[19] J. Segurado, J. LLorca, A new three-dimensional interface finite element


to simulate fracture in composites, International Journal of Solids and
Structures 41 (11-12) (2004) 2977–2993.

26
[20] E. Martı́nez-Pañeda, S. del Busto, C. Betegón, Non-local plasticity ef-
fects on notch fracture mechanics, Theoretical and Applied Fracture
Mechanics 92 (2017) 276–287.

27

You might also like