Sei sulla pagina 1di 16

 +31(0) 85 0498 165  info@simuleon.

com

    

Simuleon FEA Blog


Modelling crack propagation
using XFEM
Posted by Dolf Broekaart on Mar 7, 2017 10:00:00 AM

Find me on:

Tweet Share Like 1 Share

In a previous blog I showed how to model a stationary crack and


calculate the J-integral to determine whether the crack
propagates. Abaqus offers different techniques to simulate crack
propagation, including surface- and element-based cohesive
behaviour and the virtual crack closure technique. When using
one of these methods with conventional FEM, the location of the
crack needs to be prescribed beforehand. When the eXtended
Finite Element Method (XFEM) is used, this is not necessary. In
this case, enrichment terms are added to the normal
displacement interpolation, so a crack within an element can be
described. In this blog I will explain how to model crack
propagation using the surface-based cohesive behaviour
approach and XFEM.

As an example, loading will be applied to a gear, similar to the


stationary crack example. Only in this case, no crack will be
present initially and it will develop based on the loading.

Meshing
Meshing is much simpler, because it is not necessary to partition
an initial crack or circular regions around the crack tip.
Partitioning is only used to allow a finer mesh in the region
where the crack will develop compared to the rest of the gear.
Linear brick elements are used (quadratic elements are not
available for XFEM). Half of the gear is modelled, for reasons of
symmetry.

Defining damage – damage


initiation
To model crack propagation in Abaqus both damage initiation
and damage evolution need to be taken into account. Different
criteria are available for damage initiation, in this case the
maximum principal stress criterion will be used. Compared to
criteria based on nominal stress or strain, using the principal
stress or strain has the advantage that the crack plane can be
perpendicular to the direction of the maximum principal stress,
making it solution dependent. Damage initiation is defined as
part of the material properties, using damage for Traction
Separation laws => Maxps Damage. With this option, damage
will initiate when the maximal principal stress exceeds the value
given.

Defining damage – damage


evolution
By specifying damage initiation, you do not yet define how the
material changes due to damage. Within Abaqus, damage is
modelled using a scalar damage parameter, D. This can range
between 0 (no damage) and 1 (complete failure). The stress that
would have been there without damage is multiplied by (1-D) to
calculate the stress including damage. Without damage (D=0)
this leads to the undamaged response, with complete failure
(D=1) the stress is 0 and in between a fraction of the stress will
remain.

In this example, damage is defined using a traction-separation


law and damage evolution is a suboption of Maxps Damage.
Either the maximal displacement or the fracture energy, which is
the area under the curve in a graph of traction versus
separation, must be specified. Different options are possible to
specify the softening behaviour: how the traction-separation
graph goes from the point at the onset of damage to the
completely failed state. In this case linear softening is used,
corresponding to a straight line in the traction-separation graph.
It is possible to take into account mode mixing, with the BK law,
power law or tabularly specified data. Alternatively, mode-
independent behaviour can be specified.

Defining damage - damage


stabilization
Simulations including damage evolution often lead to
convergence difficulties because of the softening in the material
model. Abaqus allows the use of viscous regularization to
stabilize the response during damage. For sufficiently small time
steps, the tangent stiffness matrix will then be positive definite. A
viscosity coefficient can be specified as a suboption of Maxps
damage. It should be chosen in such a way that the influence of
the stabilization on the final results is small. To check this, the
output ALLVD (viscous dissipation) can be compared to ALLSE
(strain energy). If ALLVD is not small compared to ALLSE, the
viscous stabilization is likely influencing results. Playing around
with the viscosity coefficient can help obtain a reasonable result
within a reasonable amount of time.
Define crack
Apart from defining when the material will damage and how it
will behave after damage is initiated, the region where a crack
can occur must be specified. This is the region where the
enrichment terms will be added. Choosing
Special => Crack => Create in the interaction module and
selecting the type XFEM in the Create Crack dialog box that
appears, allows you to select a crack domain. In this case, the
cell where the crack will develop is chosen.

The ‘allow crack growth’ box should be checked, to allow the


crack to propagate. XFEM can also be used for stationary
cracks, allowing contour integrals such as the J-integral to be
calculated with less meshing effort. This is not discussed here.
In this example, no initial crack is defined: it will develop based
on the damage initiation criterion. If an initial crack is wanted, it
is very easy to define with XFEM. A separate part representing
the crack (without properties or mesh) can be instanced into the
assembly and moved to the correct position. By choosing this
part as crack location, the crack is defined. The crack does not
need to be along the element edges. In fact, the XFEM method
works best if the crack crosses through the element. Frictionless
small-sliding contact can be defined for the contact between
both sides of the crack.

Solution controls
To aid in obtaining a converged solution, the solution controls
can be modified. From the step module, select other => general
solution controls => edit => step in which solution controls are
to be edited. Press continue when a warning message is
displayed. In the time incrementation tab, discontinuous
analysis can be checked. This allows Abaqus to do more
iterations before checking whether the solution is going
anywhere. In the first More tab, the parameter IA can be
increased from the default 5, to allow Abaqus more attempts
before aborting the simulation. If large cut-backs are required,
increasing the number of attempts is useful.
Request output
For a simulation using XFEM, it is important to request PHILSM
as output. This is the signed distance function to describe the
crack surface using the level set method. If PHILSM is
requested, Abaqus automatically creates an isosurface view cut
based on this output, which shows the location of the crack. If it
is not requested, the crack will not be visible and results shown
will be counterintuitive. STATUSXFEM is also specific for XFEM.
It gives the status of the enriched elements, it is 0.0 if the
element is undamaged, 1.0 if the element is completely cut
through (no traction forces remaining) and a value in between if
the element is damaged but some traction forces remain. Of
course the normal outputs such as stress and strain are
available as well.

Results
With the isosurface view cut based on PHILSM on (default) the
results of this simulation nicely show the crack developing in
time. By applying translucency, the internal part of the crack is
also visible.

SIMULIA Abaqus - Fracture on gear usi…


usi…

Are you interested to investigate if cracks will cause a potetial


failure?

Talk to one of our FEA specialists


today!
Topics: Modelling crack propagation

hamida fekirini
3/24/2017, 5:44:01 AM

Many thanks for this information


I have a question
what is the best, sketch a crack in the model or consider
a crack as another part and in mode assembly we
group the model with a crack

Reply to hamida fekirini

Christine Obbink-Huizer
3/24/2017, 8:17:05 PM

It is best to create a separate part, instance it into the


assembly at the appropriate position and refer to it in the
crack definition. Apart from ease of meshing, this has the
advantage that the crack will probably not be located at
element edges, which is beneficial for the X-FEM method.

Reply to Christine Obbink-Huizer

Ricardo Dias
4/7/2017, 10:45:53 PM

Thanks for sharing this information! I have some


questions regarding my work and I would be gratefull if
you could give me some feedback:
I'm doing a crack propagation on a three point bending
test to extract the values of J-Integral and Factor
Intensive Stress using XFEM. My goal is compared the
results (J-Integral and FIS) between XFEM and Contour
Integral Analysis. The simulation with Contour Integral
analysis was carried out without any warning and I get
my results. However, with the XFEM method I get
warnings that I don't know how to solve, the warnings
are:
"Displacement increment for contact is too big."
"There is zero FORCE everywhere in the model based
on the default criterion. please check the value of the
average FORCE during the current iteration to verify
that the FORCE is small enough to be treated as zero. if
not, please use the solution controls to reset the
criterion for zero FORCE."
"The loading condition might make main crack under
compression at nset 1. The crack propagation direction
cannot be predicted. A value of zero is provided for it."

I have been looking in the internet and wasn't able to


find any reliable information about this.
Best regards, Ricardo Dias

Reply to Ricardo Dias

Christine Obbink Huizer


4/10/2017, 1:14:13 PM

It is impossible to really know what is going on without


seeing the model, but my guess would be that there is
something wrong in the model definition. For example, if
the wrong side of a surface is defined in contact, this may
result in strange behaviour. I recommend you to gradually
build up the complexity of the model, so that it becomes
clear what is causing these issues.

Reply to Christine Obbink Huizer

Ricardo Dias
4/17/2017, 5:04:23 PM

Thanks for this information! I will follow your advice.


Can you explain why you choose "discontinuous
analysis" in general solution controls Step? For default
this option is OFF. Should I turn ON?

Best regards, Ricardo Dias

Reply to Ricardo Dias


Christine Obbink Huizer
4/18/2017, 1:27:31 PM

Dear Ricardo,
Abaqus uses Newton’s method to solve non-linear
equations. The ‘discontinuous analysis’ option
increases I0 (the number of iterations after which
the check is made that the residuals are not
increasing in two consecutive iterations) and IR
(the number of equilibrium iterations after which
the logarithmic rate of convergence check begins).
So, with this setting more iterations are allowed
before the solution needs to get closer each
iteration. This can be beneficial for extremely non-
linear problems, such as those involving X-FEM.
The simulation may take longer, because it will
continue to work on an increment that is too big
longer. Apart from that, I do not expect negative
effects, so it makes sense to try it for severely
non-linear problems.

Bensari Ahmed
4/22/2017, 3:15:41 AM

Hello,
please i need help.
i do a simulation of a fatigue crack propagation, my
question is: how do i get the cuve lenght of crack vs
number of cycle from odb data in abaqus.
thanks in advance.

Reply to Bensari Ahmed

Reshma G
5/28/2017, 12:50:50 AM

I have a doubt... Does reaction force vary with change


is mesh size?? That is from coarse to finer? If yes which
solution is correct for tat model.... I'm doing panel with
stiffener analysis but have a problem the reaction force
displacement plot is varying with mesh size i.e with
varying mesh size reaction force is varying then what is
the effect of stiffener I'm not getting?? Could anyone tell
correct procedure for plate with stiffener analysis

Reply to Reshma G

Christine Obbink Huizer


5/30/2017, 12:28:34 PM

In principle results, including the reaction force, should not


depend on mesh size if a converged mesh is used. If
results do change with mesh refinement, the mesh may not
yet be converged. In this case, the finer mesh should give
more accurate results. In some cases it is not possible to
obtain a converged mesh, for example when there is a
singularity in the model. In this case, the analytical result
would be infinite, and refining the mesh brings the result
closer to this infinite value, but never reaches it. I cannot
tell what is going on in your plate with stiffener model.

Reply to Christine Obbink Huizer

Muhammad Niazi
6/8/2017, 6:08:54 AM

A local damage criterion is used in the article. Local


damage models always show pathalogical mesh
dependency. Using viscosity can be a technique to
regularize the mesh dependence (as mentioned in the
article). However im afraid that it does not work always
and introducing too much viscous effect can render the
results meaningless. Choosing very fine mesh is not a
solution because it will make the energy dissipation ~0
in the damaging region which is obviously not the
case. Another option is to use a nonlocal damage
model. You can find many articles on pathalogical
mesh dependence of local damage models.

Reply to Muhammad Niazi

Ricardo Dias
7/12/2017, 3:46:29 PM
I have another doubt... In my analysis I have this error:

"ERROR: SYSTEM ERROR IN TIMEUP.


DTIME=ZERO"

when my TIME INCREMENT INCREASE TO 1.82752E-


36.

Does anyone know the reason of this error and how to


solve it?
In other forums, some people say, the mesh is too fine
(I cannot imagine). Others say, the minimum increment
step is too low, that also stumps me.

Best regards, Ricardo Dias

Reply to Ricardo Dias

Nikolaos Mavrodontis
7/12/2017, 5:48:06 PM

Dear Ricardo,

“This error can relate to output requests for specific time


points. Perhaps you can verify if indeed you request
outputs for specific time points , try to cancel these output
requests and check if the error remains.
It would be a helpful contribution, if you can provide us with
the type of analysis you are performing (e.g. static, direct
cyclic etc.) as well as the software version you are using.”
Regards, Nikos

Reply to Nikolaos Mavrodontis

First Name*

Last Name*
Email*

Comment*

protected by reCAPTCHA
Privacy - Terms

Submit Your Comment

About our FEA Blog:


Simuleon blog topics related to Finite Element Analysis like;
Structural Analysis and CFD analysis performed with SIMULIA
Abaqus FEA, XFlow CFD, Isight Simulation Automation, Tosca
Topology Optimization and Fe-Safe accurate Fatigue.

Subscribe to our Blog.

Your Email (to subscribe)

Country*

- Please Select -

Subscribe

Search All Blogs

Search criteria (and push enter)


Recent Posts
Abaqus 2020: What's new?
Abaqus 2020: Download & Installation
Join our online webinar: Meshing native geometry in
Abaqus/CAE
Adding translucency for enhanced post processing in Abaqus
7 tips when you are getting started with Abaqus python
scripting

Most Popular Posts


6 Tips solving non convergence with Abaqus FEA
Converting Engineering Stress-Strain to True Stress-Strain in
Abaqus
How to submit and monitor Abaqus jobs through command
window
8 Tips solving Abaqus FLEXnet License server issues
5 reasons why you should use a mid-surface shell mesh for
thin-walled parts

Read All Blogs


View All

Upcoming Events
Introduction to Abaqus Training Course – December
December 11, 2019 9:00:00 AM CET

Hands-on Workshop: Introduction to Abaqus FEA – December


December 20, 2019 9:00:00 AM CET

Recent Posts
Abaqus 2020: What's new?
Abaqus 2020: Download & Installation
Join our online webinar: Meshing native geometry in
Abaqus/CAE
Subscribe to our newsletter

Contact
Pettelaarpark 84
5216 PP 's-Hertogenbosch
The Netherlands
TEL +31(0)85 - 0498165
www.simuleon.com
info@simuleon.com

Copyright © 2019 Simuleon™

    

Potrebbero piacerti anche