Sunteți pe pagina 1din 42

2007 European Society of Biomechanics thematic workshop on

Finite Element Modelling in Biomechanics and Mechanobiology

Non-Linear Finite Element Analysis:


Finite Element Solution Schemes
I & II
Peter McHugh
Department of Mechanical and Biomedical Engineering
National Centre for Biomedical Engineering Science
National University of Ireland, Galway

Copyright © P. McHugh, 2007


Outline
• Basic Principles of FE
• Solid Mechanics BVP
• Linear Problems
• Non-linear Problems
• Solution Schemes
– Implicit (Newton-Raphson)
– Explicit Methods
– Dynamic Explicit Methods
• Stress Update Algorithm
• Generalisations
• Summary
Introduction to FE

“The finite element method is a means of


obtaining approximate numerical solutions to field
problems”

• Discretise body into regions – elements

• Elements connected at special points – nodes

• Replace solution variable distribution with


approximate distribution based on:
– fixed solution “shapes” over elements
– solution variable values at nodes

Continuous → Discrete
FE Approximation

• Temperature distribution u(x)


– a single degree of freedom case (SDOF)
n
u (x ) ⇒ ∑ N a (x ) ⋅ ua
a =1

• Approximation: assumption of “shape” of solution


throughout element – usually polynomial – linear,
quadratic,…
• More nodes & elements → greater accuracy
• Generally quadratic better than linear
Basic Idea – One element

real FE: 4-noded quad


Nodal values:
• actual unknowns solved for in FEM since
“shape” is assumed
• approximations to exact solution at nodes
Basic Idea – One element
1
Shape Functions 4
4–noded quad =

+
3 2
1
x2 2

x1
+

4
+
3
4
u (x ) = ∑ N a (x ) ⋅ ua
a =1
SDOF → MDOF

Single degree of freedom case (SDOF)


n
u (x ) = ∑ N a (x ) ⋅ ua
a =1

Multi degree of freedom case (MDOF),


e.g. displacements in 2D or 3D
n
u(x ) = ∑ N a (x ) ⋅ u a
a =1

Matrix/Vector notation Vector of nodal


displacements
u = Nu e
One element → Mesh

• 2D: Quad/Triangle – 3D: Hex./Tetrahedral


• Good idea to keep mesh reasonably regular
Field Problems
• Usually Field Problems are posed in the STRONG
FORM
– Partal differential equations PDEs + Boundary
conditions BCs
– PDEs + BCs → Boundary Value Problem (BVP)
– “Pointwise” form

• FE solutions come from the WEAK FORM


– Convert “pointwise” form to integral form
over whole body
– Principle of Virtual Work, Galerkin Method,
etc.
– Same information contained
Solid Mechanics BVP
Principle of Virtual Work (PVW)
f
V
∫ = ∫ fdS
T T
δε σdV δu
V S σ,ε,u
For 2D case: S

δε σ δu f

 δε11   σ11   δu1   f1 


     
   f2 
 δε 22   σ 22   δu 2 
 2δε  σ 
 12   12 
FE Approximation
u = Nu e δu = Nδu e


1  ∂u ∂u 
T
ε= 2 +  = Bu e

δε = B δu e
 ∂x ∂x 

Principle of Virtual Work (PVW):

∫ = ∫ fdS
T T
δε σdV δu
V S

∫ e = ∫ e N fdS
T T T T
δu B σdV δu
V S
FE Approximation

∫ e B σdV =
∫ e N fdS
T T T T
δu δu
V S

Eliminate virtual displacements:

∫ = ∫ fdS
T T
B σdV N
V S

Fundamental FE Equations to solve:

∫ σ(u e )dV = F
T
B
V
Linear Problem
Linear Elasticity
σ = Dε = DBu e

Input into FE equations:

∫ B σdV = F ∫ DBu e dV = F
T
T
B
V V

Reorganise and define stiffness matrix K:


 
 B DBdV u = F
∫B DBu e dV = F
 V∫
T T
 e
V  
Linear Problem
 
 B T DBdV u = F
 V∫  e
 

Numerical Integration (for each element)


Assembly of global matrix/vectors

Ku e = F
• Solution usually “straightforward”
• Can be achieved in a single step
• Apply F, invert K, solve for ue
• Go back and determine ε and σ
Non-Linear Problems
Non-linearities can arise for many reasons, e.g.


1  ∂u ∂u
T
∂u ∂u 
T
• geometric non-linearities ε= 2 + + 
– large deformation kinematics ∂x ∂x ∂x ∂x 
 
– non-linear ε-u relationship = B(u e )u e

• material non-linearities
– non-linear constitutive law σ = σ (u e )
– non-linear σ-ε relationship

• non-linear boundary conditions


– surface contact
Non-linear Material
• Bi-linear elastic material

σ1

ε
ε1
Non-linear Material
• Elastic-plastic material

σ
σy

σ0
Strain hardening

ε
εp εe
Plastic Elastic
Non-Linear Problem
FE equations

∫ e σ(u e )dV = F
T
B (u )
V

∫ e σ(u e )dV − F = G (u e ) = 0
T
B (u )
V

• G is the out of balance/residual force


• G = 0 is a set of non-linear equations in ue
• Solution usually by incremental methods
– applying load in increments/steps: t → t+∆t
– stepping to final time tfinal in time steps ∆t and solving
for each step
– Implicit and Explicit methods used
– drop “e” for convenience
Implicit
Solved for t, wish to solve for t+∆t
t + ∆t
G (u )=0
• Implicit: Solve for t+∆t using state at t and t+∆t
– don’t know state at t+∆t yet
– Newton-Raphson method used typically –
ABAQUS/Standard, ANSYS, MARC,…
– take initial guess and iterate to convergence
– end up solving “linear-like” equation for each
iteration: Ku = F
– very accurate
– can use relatively large time steps
Explicit

• Explicit: Solve for t+∆t using state at t


– know state at t so can calculate Kt
– solve directly for incremental displacements:
Kt ∆u = ∆F
– no iteration
– no convergence check
– usually used in purpose written codes
– method is very robust
– must use very small time steps (x10 → x1000)
Implicit: Newton-Raphson

Material non-linearity
G (u t + ∆t ) = ∫ B T σ (u t + ∆t )dV − F = 0
V

• Assume solved for state at t


• ut are known
• Apply load increment
• Wish to update state to t+∆t
• ut+∆t are main variables
• How does NR method work?
Newton-Raphson
Look at 1D: Wish to solve f(x) = 0
Guess at root xi : Better guess xi+1 → NR formula
−1
Method applied iteratively:  df 
xi +1 = xi −   ⋅ f ( xi )
xi+1 → xi and reapply NR formula  dx  xi

Continue to iterate
until convergence:
xi +1 − xi < Tolerance
f ( xi +1 ) < Tolerance
Newton-Raphson
For FE same principle G (u t + ∆t ) = 0

u t + ∆t
=u t + ∆t  ∂G u
−
( t + ∆t
i ) G (u )
−1
t + ∆t
For ith iteration i +1 i  i
 ∂u 

Reorganise δu i +1 = u t + ∆t
−u t + ∆t  ∂G u
= −
( t + ∆t
i ) G (u )
−1
t + ∆t
i +1 i  i
 ∂u 
K – tangent stiffness matrix

δu i +1 = −K u ( t + ∆t −1
i ) G (u ) t + ∆t
i

( )
K u ti + ∆t δ u i +1 = − G u ti + ∆t ( )
Newton-Raphson
( ) (
K u ti + ∆t δ u i +1 = − G u ti + ∆t )
• Must be solved for each iteration for change
in incremental displacements
• K and G are different for each iteration
• Same form as for linear problems: Ku = F
• Initial guess is usually ut

Convergence: (+ ∆t
G u ti +1 )
< Tolerance

Current increment in displacements - for ith iteration:


i
u t + ∆t
i − u = ∆u i = ∑ δu k
t

k =1
Newton-Raphson
i
u ti + ∆t − u t = ∆u i = ∑ δu k
k =1

Schematic of iteration process:


F
GG((uu t0+)∆t )
t + ∆t
0 G (u1t + ∆t )
Ft+∆t
K (u1t + ∆t )
K (u t0+ ∆t )

Ft

G (uδt0+u
∆t
) δu2
1

ut ∆u ut+∆t
Newton-Raphson
G (u ti + ∆t )
Method requires accurate evaluation of
For each iteration i K (u ti + ∆t )

G requires accurate σ for current estimate of ut+∆t

G (u ti + ∆t ) = ∫ B T σ (u ti + ∆t )dV − F t + ∆t = 0
V

Requires a Stress Update Algorithm (SUA)


Newton-Raphson
Look at K

(
K u ti + ∆t ) =
(
∂G u ti + ∆t )
= ∫ BT
∂σ
dV
∂u V
∂u (u ti +∆t )

∂σ ∂ε T ∂σ
= ∫B T
dV = ∫ B BdV
V
∂ε (u ti +∆t ) ∂u V
∂ε (uti +∆t )
Jacobian of
Consistent ∂σ constitutive law
Tangent Matrix
D tan
=
∂ε (uti +∆t )
( )
K u ti + ∆t = ∫ B T Dtan BdV
V
Form of K

• Same form as for linear problem


• Different for each iteration
• Consistent tangent matrix can be difficult to
evaluate for complex constitutive laws
Newton-Raphson Re-cap

• Load applied incrementally


• For each increment, iteration is performed
until convergence is achieved
• Need to be able to calculate K and G
accurately
Application: Linear Elasticity
• Dtan = D (constant)
• K constant for each iteration
• Convergence reached in 1 iteration
• Can apply full load in one increment
• Same as simple linear one-step solution
F
G (u t0+ ∆t )
Ft+∆t
K (u t0+ ∆t )

Ft

ut ut+∆t Displacement
Newton-Raphson
• Accurate and displays rapid convergence
• However there are modified methods used
– Simplified methods:
• Constant K – from first iteration in increment
• Initial stress method – K from first increment
– Complex methods: BFGS, etc.
• Can modify K but still must calculate G
accurately (SUA)
Non-Linear Solution Methods
• Implicit methods: Newton-Raphson
– NR: Gold Standard
– Rigorous convergence criterion
• Explicit methods: Kt ∆u = ∆F
• Both involve formation and inversion of the
global stiffness matrix K
• Major computational chore – processing and
storage
– Huge efforts made in developing efficient storage
and processing methods
– Skyline solvers, element by element solvers, etc.
• Alternative?
Dynamic Explicit Methods
• Problems reformulated as dynamic
• Include nodal velocities, accelerations
• Include inertia → mass matrix M

&& + G (u, u& ) = 0


Mu
• Problems solved incrementally
• No need to form or invert K at all!
• LS-Dyna, ABAQUS/Explicit,…
• Method is very robust – great for highly non-linear
problems
• No convergence check – must be careful about
accuracy and stability
• Must use very small time steps (x10 → x1000)
• Algorithms for determining ∆t
Central Difference Method
• No formation of K, but accuracy in G still required
• M in diagonal form
• Method works in “half increments”
i-1/2, i, i+1/2, i+1,…
• Solution “marches through time”
• For increment i:

&&i = −M −1G i
u
∆ti +1 + ∆ti
u& i + 1 = u& i − 1 + u
&&i
2 2
2
u i +1 = u i + ∆ti +1u& i + 1
2
Stress Update Algorithm
• To get accurate solution for any
iteration/increment, need accurate Gt+∆t

G (u t + ∆t ) = ∫ B T σ (u t + ∆t )dV − F t + ∆t = 0
V
F
GG((uu t0+)∆t )
t + ∆t
0 G (u1t + ∆t )
Ft+∆t
K (u1t + ∆t )
K (u t0+ ∆t )

Ft

G (uδt0+u
∆t
) δu2
1

ut ∆u ut+∆t
Stress Update Algorithm

• Stress can depend on many


variables/phenomena
– displacement/strain, temperature/heat flux,
diffusion, evolving porosity, etc…
– relevant material properties for each
phenomenon
• Need σt+∆t to be accurately calculated as a
function of changes in the independent
variables: t → t+∆t
• Not trivial for very complex (multi-physics) or
non-linear systems
Stress Update Algorithm

Commerical codes (ANSYS, ABAQUS, MARC,…)


• Using standard material models available
– elasticity, visco-elasticity, plasticity,….
– accuracy usually “guaranteed”
Why Emphasis Here?
Commerical codes (ANSYS, ABAQUS, MARC,…)
• Using User Material modules (ABAQUS-UMAT)
• Now common in mechanics and biomechanics
• Great freedom in describing stress dependence on
different variables – σ(mech, therm, chem, bio)
– Bio: protein synthesis, actin fibre/bundle
formation,…
• Allow material properties to evolve through time

• ABAQUS: ∆t, ut+∆t → UMAT


• UMAT: σt+∆t → ABAQUS
• ABAQUS believes correct – it does not check!!
Why Emphasis Here?
Many constitutive laws are in rate form & non-linear

σ& = f (ε, ε& , T , T& ,......)


t + ∆t
σ = σ + ∆σ
t

Not trivial to determine ∆σ based on ∆t, ut+∆t


• Algorithms: Simple Euler, Backward Euler, Central
Difference, Radial Return,…
• User need to ensure UMAT performing accurately
before use
Other Observations 1

• Considered solid mechanics situation


– Dealing with σ
– Although generalised to multi-physics
problems
• However, general methods and cautions hold
true for other problem types
– Thermal: heat flux and temperature
– Convection+diffusion: mass transport and
concentration
Other Observations 2

• Incremental solution methods vital for non-


linear problems
• However, also very important for any
time/rate-dependent problem
– Both linear and non-linear
– Track how state is changing over time (transient)
– Same methodologies used
– Visco-elasticity
– Creep and visco-plasticity
Summary
• Introduced FE - Linear & Non-linear
• Linear – single K matrix inversion
• Non-linear – incremental methods
– Implicit: Newton-Raphson – iteration – gold standard
– Dynamic Explicit: No K – no iteration – small time steps
– Must have accurate stress update algorithm
– User modules for com. codes → great flexibility to deal
with multi-physics problems
– General principles applicable to other problem types –
thermal, mass transport, etc.
• Incremental methods
– necessary for time dependent problems

S-ar putea să vă placă și