Vous êtes sur la page 1sur 5

International Conference on Extended Finite Element Method Recent Developments and Applications

XFEM 2009
T. P. Fries and A. Zilian (Eds)
RWTH Aachen, Germany, 2009

SOME TECHNICAL NOTES ABOUT IMPLEMENTING XFEM IN A
STANDARD FINITE ELEMENT CODE (FEAP)
M. A. FERNNDEZ
*
, N. DOMNGUEZ
*

Seccin de Estudios de Posgrado e Investigacin (SEPI), ESIA-UZ, Instituto Politcnico
Nacional Av. Juan de Dios Btiz s/n edif. 12. 07738 Mxico D.F., Mxico,
e-mail: {mfernandezt0800, ndominguez}@ipn.mx


Key words: XFEM, FEAP, computational implementation.


1 INTRODUCTION
XFEM
1
is a well-adapted method to describe crack propagation without remeshing, which
is a great problem in traditional FEM codes. In despite of other important advantages, one of
the main problems of XFEM is how to implement it in a typical standard Finite Element code,
which are built over the basis of solving a single element, and by assembling the whole set of
finite elements solve the complete structural system. On the contrary XFEM solve the system
by arranging the whole set of nodes independently of the elements arrays.

In this work we describe the main issues of XFEM implementation into the Finite Element
code FEAP
2
, whose internal-logical structure is very representative of a lot of commercial /
free FEM codes. One of the variants in this work is the internal coupling of the Level Set
Method to represent crack geometry and to deal with the process of its evolution using one of
the methods proposed by Duflot
3
( u | r ' method) and the internal coupling of the algorithms
for SIFS extraction
4
. This key feature avoids the need of the use of external tools for the
different phases of the analysis
5
.

2 XFEM AND FEAP GENERALITIES
2.1 XFEM for crack modeling
Basically in XFEM a discontinuous displacement field is introduced along the crack
surface by the introduction of additional basic functions to the approximation. The
incorporation of this enrichment is based on the Principle of Partition of Unity of finite
elements
6
. Thus for a single crack modeling under Lineal Elastic Fracture Mechanics
hypothesis, the general equation for displacements can be written as follow:
( ) ( ) ( ) ( ) ( ) ( )

e = e e
+ + =
asinto disc
K
aK K K
J
J J J
I
I I
h
B H
N N N
b x x a x x u x x u
4
1
~ ~
o
o

(1)
M. A. Fernandez, N. Dominguez.
2
Where Heaviside functions ( ) x
J
H are used to enrich the nodes whose nodal shape functions
support is cut by the crack and near tip asymptotic fields functions, ( ) x
K
B
o
, for those nodes
whose support intersect the crack-tip. Additional degrees of freedom are associated with these
new terms. The multiplication of these special functions with the standard shape functions
gives a local character to the approximation, being solely activated in the regions of interest.

2.2 FEAP Program
FEAP is a general purpose finite element analysis program which is designed for research
and educational use. The implementation of new formulations for finite elements and testing
of particular solutions algorithms for non typical problems are the most common activities.
FEAP is written in Fortran and due to its simplicity, owner developments can be
incorporated without affecting the global programming structure, this feature enables to
choice the better strategy solution according to the specific needs.

The general structure of the input file for the preprocessing phase consist of alphanumeric
data, which are independent commands that are processed to build the mesh or to execute an
specific action over it, for example, nodal coordinates specification, boundary and load
conditions, material properties, etc.

The solution module is based on a command language strategy. This can be built
completely by the user. The command language as specified in
7
is associated with a set of
compact subprograms, each one designed to compute one or more basic steps in a finite
element process. Examples in the language are commands to form a global stiffness matrix, as
well as commands to solve equations, display results, or enter graphics mode, etc. All the
modules can be written at the same file when using a bath mode.

In the programming structure, the command language used is associated with the internal
execution of specific tasks, (denoted by ISW). Depending of the stage of the analysis, these
tasks activate sets of subroutines inside the code. In general, the philosophy of FEAP is to
have a central control that identifies since the beginning of the analysis (input file) each of the
tasks requested in the input command file which have an associated ISW.

3 IMPLEMENTED ALGORITHMS
The incorporation of the XFEM theory through the numerical algorithms was done by
exploiting the concept of the macro-programming independent commands. For our particular
case, a user subroutine called elmt04.f was utilized to implement the XFEM capabilities.
In principle, all the necessary tasks are incorporated in order to be solved for a single element
which is used in a problem of quasi-static crack propagation, but they will only be activate as
they will be called by a specific macro-command either using interactive or batch mode.

M. A. Fernandez, N. Dominguez.
3
In a general manner, preprocessing information in FEAP is performed inside each element
subroutine when the task indicates ISW=1. This is done only once in a classical scheme of
solution problem, but can be performed several times in the phase of post-processing through
the use of the command MESH. This feature gave us the idea to integrate all the algorithms
for nodal enrichment evaluation (level set evaluation and update) inside this task. Also for
SIFs extraction, the identification of the domain of elements to the interaction integral
evaluation is performed here. These developments are integrated in a subroutine called
LSMdmk2d.for.

The arrays with nodal information derived from the previous analysis are dynamically
allocated in a subprogram called UALLOC, which controls the allocation of the users arrays.
According to the concept of dynamical storage allocation, dimensions of arrays are set in the
program at the time of execution. Based on this kind of data structure, it is possible to handle
nodal information as it will be required when the code is assembling each element
contribution to the global system.

The basis use of the allocation scheme is provided by an instruction called setvar. For
example:
setvar=ualloc(5,'TELMT',1,2)

where 5 is a numerical location into the dictionary of arrays, TELMT is the name of the
current array to be allocated and the following numbers indicate length and precision (real or
integer) of the array respectively.

For the post-processing stage, a command called JINT was reutilized in order to activate the
algorithms for SIFs extraction; for the code, the associated task ISW is the number 16. Due to
the fact that the system evaluates again all the elements of the mesh with the use of this
command, we have created a kind of filter into the subroutine of the XFEM element that only
enters if the element pertains to the sub-domain established for evaluating the interaction
integral. The array that contains this information is handled from the dynamic allocation
through pointers.

4 NUMERICAL EXAMPLE
4.1 Inclined edge crack
The following example is a lateral inclined crack on 2D plate subjected to remote
tension 1 = o . The dimensions of the referenced plate are: wide (W) = 1, Height (H) =2, with
crack size 5385 . 0 = a and location at (0.0, 1.0) for left tip and (0.5 1.2) for right tip. Elastic
modulus E= 1000 and poisson relation of 0.3.

The values obtained for the SIF are: 497 . 2 = |
.
|

\
|
a
K
I
t o
and 52 . 0 = |
.
|

\
|
a
K
II
t o
.
M. A. Fernandez, N. Dominguez.
4

Figure 1: Lateral edge inclined crack subjected to remote tension: a) initial configuration, b) deformed shape and
c) principal stress field.

5 CONCLUSIONS
- The exploiting of the internal capabilities of the program in combination with the
coupling of short subroutines enables us to simplify the analysis of fracture problems
with XFEM.
- The main issues of XFEM can be implemented into a standard Finite Element code
as FEAP, whose internal-logical structure is very representative of a lot of
commercial / free FEM codes.
- The Level Set Method can be implemented in this kind of codes to represent crack
geometry and to deal with evolution of crack propagation, as well as the internal
coupling of the algorithms for SIFS extraction.
- Plotting capabilities in FEAP must be improved to represent exact crack propagation.

REFERENCES
[1] N. Mos, J. Dolbow, and T. Belytschko, A Finite Element Method for Crack Growth
Without Remeshing. . Int. J. Num. Meth. Engng, 46, 131-150, (1999).
[2] R. Taylor, FEAP - A Finite Element Analysis Program, Version 7.4 - Example Manual,
Programmer Manual, Theory Manual y User Manual. Berkeley, California, (2001).
[3] M. Duflot, A study of the representation of cracks with level sets. Int. J. Num. Meth.
Engng, 70, 1261-1302, (2007).S. Bordas, P. Nguyen, C. Dunant, H. Nguyen and A.
Guidoum, An Extended Finite Element Library. Int. J. Num. Meth. Engng, 2, 1-33,
(2006).
M. A. Fernandez, N. Dominguez.
5
[4] J. Yau, S. Wang, and H. Corten, A mixed mode crack analysis of isotropic solids using
conservation laws of elasticity. Journal of Applied Mechanics, 47: 335-341, (1980).
[5] Bordas, S., Nguyen P., Dunant, C., Nguyen, H., y Guidoum, A., (2006), An Extended
Finite Element Library. International Journal for Numerical Methods in Engineering, 2:
1-33.
[6] I. Babuka and J. Melenk, Partition of unity method. Int. J. Num. Meth. Engng, 40 (4):
727758, (1997).
[7] O.C. Zienkiewicz and R.L. Taylor, The finite element method, Butterworth-Heinemann,
Vol. I., (2001).

Vous aimerez peut-être aussi