Professional Documents
Culture Documents
CHAP 2
Nonlinear Finite Element Analysis
Procedures
Nam-Ho Kim
1
Goals
What is a nonlinear problem?
2
Nonlinear Structural Problems
What is a nonlinear structural problem?
Everything except for linear structural problems
Need to understand linear problems first
What is linearity?
Input x y ax Output y
(load, heat) (displ, temp)
x1 y1
x1 x2
x2 y2
y ax
2x1 2y1 Y
2x1 +3x2 2y1+3y2
3
What is a linear structural problem?
Global Local Local Global
Linear Linear Linear
Force Stress Strain Displacement
A0 A = E
F/2
L0 L
F/2 L
F F E
? L L
A0 A(F) ? ?
A0E L0 L
F A0 A0E L
L0
Linearity is an approximation
Assumptions:
Infinitesimal strain (<0.2%)
Infinitesimal displacement
Small rotation
Linear stress-strain relation 4
Observations in linear problems
Which one will happen?
M M
F
Truss Truss
5
What types of nonlinearity
exist?
6
Linear vs. Nonlinear Problems
Linear Problem:
1 ui uj
Infinitesimal deformation: ij
2 xj xi
Linear stress-strain relation:
D:
Undeformed coord.
Constant displacement BCs
Constant
Constant applied forces
Nonlinear Problem:
Everything except for linear problems!
7
Nonlinearities in Structural Problems
Prescribed Applied
displacement force
8
Geometric Nonlinearity
Relations among kinematic quantities (i.e., displacement,
rotation and strains) are nonlinear
8.
displacement
C1 C2
6.
4.
Tip
2.
C3
C0
0.
0.0 0.2 0.4 0.6
0.8 1.0
Normalized couple
Displacement-strain relation
Linear: du
(x)
dx
2
Nonlinear: du 1 du
E(x)
dx 2 dx
9
Geometric Nonlinearity cont.
Displacement-strain relation 0.3
5
0.3 E
E has a higher-order term 0
0.2
(du/dx) << 1 (x) ~ E(x). 5
e
Strain
0.2
0
0.1
5
Domain of integration 0.1
0
a( u, u ) (u ) : ( u) d
10
Material Nonlinearity
Linear (elastic) material
{ } [D]{ }
Only for infinitesimal deformation
Visco-elastic material
Time-dependent behavior
Creep, relaxation
E E
time
Visco-elastic spring model
12
Boundary and Force Nonlinearities
Nonlinear displacement BC (kinematic nonlinearity)
Contact problems, displacement dependent conditions
dmax
Force
Displacem
Contact
ent
boundary
Nonlinear force BC (Kinetic nonlinearity)
13
Mild vs. Rough Nonlinearity
Mild Nonlinear Problems
Continuous, history-independent nonlinear relations between
stress and strain
Nonlinear elasticity, Geometric nonlinearity, and deformation-
dependent loads
14
Nonlinear Finite Element Equations
Equilibrium between internal and external forces
Linear problems
P(d) F(d) [K]{ d } {F }
Stress Loads
Strain
15
Solution Procedure
16
Example Nonlinear Springs
Spring constants k1 k2
k1 = 50 + 500u F
u1 u2
k2 = 100 + 200u
Governing equation
300u12 400u1u2 200u22 150u1 100u2 0 P1
200u12 400u1u2 200u22 100u1 100u2 100 P2
17
Solution Procedure
Linear Problems
K d F or P(d) F
2F
Stiffness matrix K is constant K
F
P(d1 d2 ) P(d1 ) P(d2 )
P(d) P(d) F d 2d
If the load is doubled, displacement is doubled, too
Superposition is possible
Nonlinear Problems
P(d) F, P(2d) 2F F
i
The matrix equation solves for incremental displacement d
n n
j 1
(Ri 1 2
j ) j 1
( ui 1 2
j )
conv n
Or, conv n
1 (F
j 1 j
)2
1 j1 ( uj0 )2
20
N-R Algorithm
1. Set tolerance = 0.001, k = 0, max_iter = 20, and initial
estimate u = u0
2. Calculate residual R = f P(u)
3. Calculate conv. If conv < tolerance, stop
4. If k > max_iter, stop with error message
5. Calculate Jacobian matrix KT
6. If the determinant of KT is zero, stop with error message
7. Calculate solution increment u
8. Update solution by u = u + u
9. Set k = k + 1
10. Go to Step 2
21
Example N-R Method
d1 d2 3 0 1 0 6
P(d) 2 2 F d P( d )
d1 d2 9 5 26
P 1 1 0 3
0
KT R F P(d )
d 2d1 2d2 17
Iteration 1
1 0 0.625
0
d d d
3.625
1 1 0
R F P( d )
4.531
22
Example N-R Method cont.
Iteration 2
1 1 d11 0 d11 0.533
1.25 7.25
d 1
2 4.531
1
d2 0.533
0.092 2 2 0
2 1
d d d 1
R F P(d )
3.092 0.568
Iteration 3
3 2 2 0.003 0
d d d R3 F P(d3 )
3.003 0.016
23
Example N-R Method cont.
Iteration 4
1 1 d13 0 d13 0.003
0.005 6.005
d3
2 0.016
3
d2 0.003
0.000 4 4 0
4 3 3
d d d R F P( d )
3.000 0
Residual
Iter ||R||
0 17.263
1 4.531
2 0.016
3 0.0
Solutio P(d)
P n
d
F
P
d
di+ di d di+ d
2 n 1
25
When N-R Method Does Not Converge cont.
Convergence difficulty occurs when
Jacobian matrix is not positive-definite
F FC C
B A
FB B D
Forc
e
C D
A
E
E
Displaceme
nt
26
Modified N-R Method
Constructing KTi (and
di ) solving isKTi expensive
di Ri
Forward/backward substitution ~ N
P 1 1 0 3
0
KT R F P(d )
d 2d1 2d2 17
Iteration 1
1 0 0.625
0 1 10
d d d R F P( d )
3.625 4.531
28
Example Modified N-R Method cont.
Iteration 2
1 1 d11 0 d11 0.566
2 10
d2 4.531
1
1
d2 0.566
0.059 2 2 0
2 1
d d d 1
R F P(d )
3.059 0.358
Residual Iter ||R||
0 17.263
1 4.5310
2 0.3584
3 0.0831
4 0.0204
5 0.0051
6 0.0013
Iteration 7 0.0003
29
Incremental Secant Method
Secant matrix
Instead of using tangent stiffness, approximate it using the
solution from the previous iteration
Ksi di F P(di ) P
Solutio
x
The secant matrix satisfies n
Secant
i i i 1 i i 1
K
Not as (d dprocess
unique ) P(din) high
P(ddimension
) stiffnes
d0 d1 d2 d3 dns d
Start from initial KT matrix, iteratively update it
Rank-1 or rank-2 update
Hsi ( I wi v iT )Hsi 1 ( I wi v iT )
i i 1 ( di1 )T (Ri 1 Ri ) i
v R 1 R
( di )T Ri 1
di1
wi
( di1 )T (Ri1 Ri )
31
Incremental Force Method
N-R method converges fast if the initial estimate is close
to the solution
Solid mechanics: initial estimate = undeformed shape
Convergence difficulty
occurs when the applied
load is large
(deformation is large)
IFM: apply loads in
increments. Use the
solution from the
previous increment
as an initial estimate
Commercial programs
call it Load Increment
or Time Increment 32
Incremental Force Method cont.
Load increment does not have to be uniform
Critical part has smaller increment size
Solutions in the intermediate load increments
History of the response can provide insight into the problem
Estimating the bifurcation point or the critical load
Load increments greatly affect the accuracy in path-dependent
problems
33
Load Increment in Commercial Software
Use Time to represent load level
In a static problem, Time means a pseudo-time
Required Starting time, (Tstart), Ending time (Tend) and increment
Load is gradually increased from zero at Tstart and full load at Tend
Load magnitude at load increment Tn:
T n Tstart
n
F F T n n T Tend
Tend Tstart
F F
P(u)
Fn
FC
P(u)
F3 FB
F2
F1 FA
u u
u1 u2 u un uA uB u uD
35
Nonlinear Solution Steps
1. Initialization: d0 0; i 0
uk ( x) N( x) dk k B dk k f(k )
Residual calculation
Nodal forces due to internal stresses = -applied nodal forces
Rk NT t d NT fb d BT k d
s
37
Example Linear Elastic Material
Governing equation (Scalar equation)
u N d
( u )T d u T t d u T fb d
s ( u ) B d
Collect d
dT B d
T
s
NT t d N
T b
f d
P(d) F
Residual R F P(d)
F
Linear elastic material
D D B d KT
P(d)
KT BT DB d
d d 38
Example Nonlinear Bar
Rubber bar E tan 1 (m)
d1
d
Discrete weak form d T L BT Adx d T F d2
0
R
Scalar equation L A F
R F dx F
0 L
R F (d)A 1
B 1 1
L
120
100
80
60
1 2 F = 10kN Stre
ss
40
x
20
L=
0
1m
0 0.01 0.02 0.03
0.04 0.05
Strain 39
Example Nonlinear Bar cont.
Jacobian
dP d(d) d d 1
A A mAE cos2
dd dd d dd L E
N-R equation
1 2 k k k
mAE cos d F A
L E
Iteration 1
d1 d0 d0 0.025m
mAE 0 1 d1 / L 0.025
d F
L
Iteration 2 1 E tan 1 (m1 ) 78.5MPa
mAE 2 1 1 1 d2 d1 d1 0.0357m
cos d F A
L E 2 d2 / L 0.0357
2 E tan 1 (m2 ) 96MPa
40
N-R or Modified N-R?
It is always recommended to use the Incremental Force Method
Mild nonlinear: ~10 increments
Rough nonlinear: 20 ~ 100 increments
For rough nonlinear problems, analysis results depends on increment size
41
Accuracy vs. Convergence
Nonlinear solution procedure requires
Internal force P(d)
P
Tangent stiffness KT (d)
d
They are often implemented in the same routine
42
Convergence Criteria
Most analysis programs provide three convergence criteria
Work, displacement, load (residual)
Work = displacement * load
At least two criteria needs to be converged
Use displacement
criterion
Displacement 43
Solution Strategies
Load Step (subcase or step)
Load step is a set of loading and boundary conditions to define an
analysis problem
Multiple load steps can be used to define a sequence of loading
conditions
Load
LS1 LS2 Time
NASTRAN
SPC = 1
SUBCASE 1
LOAD = 1
SUBCASE 2
LOAD = 2
44
Solution Strategies
300
Load Increment (substeps) 250 Loading
Linear analysis concerns max load 200
150
Nonlinear analysis depends on
Force
100
load path (history) 50
Convergence Iteration F
Within a load increment, an iterative Fa 5
method (e.g., NR method) is used to 34
2
find nonlinear solution
1
Bisection, linear search, stabilization, etc
u
45
Solution Strategies cont.
Automatic (Variable) Load Increment
Also called Automatic Time Stepping
Load increment may not be uniform
When convergence iteration diverges, the load increment is halved
If a solution converges in less than 4 iterations, increase time
increment by 25%
If a solution converges in more than 8 iterations, decrease time
increment by 25%
Subincrement (or bisection)
When iterations do not converge at a given increment, analysis
goes back to previously converged increment and the load
increment is reduced by half
This process is repeated until max number of subincrements
46
When nonlinear analysis does not converge
NR method assumes a constant curvature locally
When a sign of curvature changes around the solution, NR
method oscillates or diverges
Often the residual changes sign between iterations
Line search can help to converge
P (u ) u tan 1 (5u )
dP
1 5 cos2 (tan 1 (5u ))
du
47
When nonlinear analysis does not converge
F FC C
B A
FB B D
C D Force
A
E
E
Displaceme
nt
48
When nonlinear analysis does not converge
Mesh distortion
Most FE programs stop analysis when mesh is distorted too much
Initial good mesh may be distorted during a large deformation
Many FE programs provide remeshing capability, but it is still
inaccurate or inconvenient
It is best to make mesh in such a way that the mesh quality can be
maintained after deformation (need experience)
Initial mesh
49
MATLAB Code for Nonlinear
FEA
50
NLFEA.m
Nonlinear finite element analysis program
Incremental force method with N-R method
Bisection method when N-R failed to converge
Can solve for linear elastic, hyperelastic and elasto-plastic material
nonlinearities with large deformation
Global arrays
Name Dimension Contents
GKF NEQ x NEQ Tangent matrix
FORCE NEQ x 1 Residual vector
DISPTD NEQ x 1 Displacement vector
DISPDD NEQ x 1 Displacement increment
SIGMA 6 x 8 x NE Stress at each integration point
XQ 7 x 8 x NE History variable at each integration point
51
Input data
T = T + T
Bisection control
Yes
Final time? Stop
No
Increase load & BC
T = T T ITER = 0
T = T/2
Calculate R & K
Displacement BC
Converged? Yes
No
Yes Max ITER?
ITER=ITER + 1
No
Solve U = K\R
U = U + U
52
NLFEA.m cont
Nodal coordinates and element connectivity
the node numbers are in sequence
nodal coordinates in XYZ(NNODE , 3)
eight-node hexahedral elements LE(NELEN, 8)
Applied forces and prescribed displacements
EXTFORCE(NFORCE, 3): [node, DOF, value] format
SDISPT(NDISPT, 3)
Material properties
Mooney-Rivlin hyperelasticity (MID = -1), PROP = [A10, A01, K]
infinitesimal elastoplasticity (MID = 1), PROP = [LAMBDA, MU,
BETA, H, Y0]
53
NLFEA.m cont.
Control parameters
ITRA: maximum number of convergence iterations
if residual > ATOL, then solution diverges, bisection starts
The total number of bisections is limited by NTOL
The convergence iteration converges when residual < TOL
Program prints out results to NOUT after convergence
function NLFEA(ITRA,TOL,ATOL,NTOL,TIMS,NOUT,MID,PROP,EXTFORCE,SDISPT,XYZ,LE)
%***********************************************************************
% MAIN PROGRAM FOR HYPERELASTIC/ELASTOPLASTIC ANALYSIS
%***********************************************************************
54
Extension of a Single Element Example
%
% Nodal coordinates
XYZ=[0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1];
%
% Element connectivity
LE=[1 2 3 4 5 6 7 8];
%
% External forces [Node, DOF, Value]
EXTFORCE=[5 3 10.0; 6 3 10.0; 7 3 10.0; 8 3 10.0];
%
% Prescribed displacements [Node, DOF, Value]
SDISPT=[1 1 0;1 2 0;1 3 0;2 2 0;2 3 0;3 3 0;4 1 0;4 3 0];
%
% Load increments [Start End Increment InitialLoad FinalLoad]
TIMS=[0.0 0.5 0.1 0.0 0.5; 0.5 1.0 0.1 0.5 1.0]';
%
% Material properties
%PROP=[LAMBDA MU BETA H Y0]
MID=1;
PROP=[110.747, 80.1938, 0.0, 5., 35.0];
%
% Set program parameters
ITRA=20; ATOL=1.0E5; NTOL=5; TOL=1E-6;
%
% Calling main function
NOUT = fopen('output.txt','w');
NLFEA(ITRA, TOL, ATOL, NTOL, TIMS, NOUT, MID, PROP, EXTFORCE, SDISPT, XYZ, LE);
fclose(NOUT);
55