Professional Documents
Culture Documents
Chap 2
Chap 2
CHAP 2
Nonlinear Finite Element Analysis
Procedures
Nam-Ho Kim
1
Goals
2
Nonlinear Structural Problems
• What is a nonlinear structural problem?
– Everything except for linear structural problems
– Need to understand linear problems first
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
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
5
What types of nonlinearity
exist?
6
Linear vs. Nonlinear Problems
• Nonlinear Problem:
– Everything except for linear problems!
Prescribed Applied
displacement force
8
Geometric Nonlinearity
• Relations among kinematic quantities (i.e., displacement,
rotation and strains) are nonlinear
8.
C1 C2
6.
4.
2.
C3
C0
0.
0.0 0.2 0.4 0.6 0.8 1.0
Normalized couple
0.10
– Undeformed domain 0
0
0 0.05 0.10 0.15 0.20 0.25 0.30
du/dx
– Deformed domain x
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
Displacemen
Contact boundary
t
13
Mild vs. Rough Nonlinearity
14
Nonlinear Finite Element Equations
• Equilibrium between internal and external forces
Linear problems
P(d) F(d) [K]{ d} {F }
Stress Loads
Strain
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
Kd 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
– Superposition is possible
• Nonlinear Problems
P(d) F, P(2d) 2F F
KT
– How to find d for a given F?
Incremental Solution Procedure di d
18
Newton-Raphson Method
• Most popular method
• Assume di at i-th iteration is known
• Looking for di+1 from first-order Taylor series expansion
• Solve
KTi for
di incremental
F P(di ) solution P(d)
F
KTi 1
KTi Solution
P(di+1)
i 1 i i
• Update
d solution
d d
P(di) di+1
di di+1 di+2 dn d 19
N-R Method cont.
• Observations:
i
– The matrix equation solves for incremental displacement d
i i
– RHS is not a force but a residual force R F P ( 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 j 1 ( 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 0 3
KT R F P( d )
d 2d1 2d2 17
• Iteration 1
1 1 d10 3 d10 1.625
2 10 0 17 0
1.375
d2 d2
1 0 0.625
0
d d d
3.625
0
R1 F P(d1 )
4.531
22
Example – N-R Method cont.
• Iteration 2
1 1 d11 0 d11 0.533
1.25 7.25 1 4.531 1
d2 d
2 0.533
0.092 2 2 0
2 1 1
d d d R F P( d )
3.092 0.568
• Iteration 3
1 1 d12 0 d12 0.089
0.184 6.184 2 0.568 2
d2 d2 0.089
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 3 0.016 3
d2 d
2 0.003
0.000 4 4 0
4 3
d d d 3
R F P( d )
3.000 0
Residual
20
Iter ||R||
16
0 17.263
12
8
1 4.531
4 2 0.016
0 3 0.0
0 1 2 3 4
Solution P(d)
P
d
F
P
d
di+2 di dn di+1 d
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
C D
A
E
E
Displacement
26
Modified N-R Method
• Constructing KTi (and
di ) solving KTi di isRiexpensive
– Forward/backward substitution ~ N
P 1 1 0 3
0
KT R F P( d )
d 2d1 2d2 17
• Iteration 1
1 1 d10 3 d10 1.625
2 10 0 17 0
d2 d2 1.375
0.625 1 0
1
1 0 0
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 1 4.531 1
d2 d2 0.566
0.059 2 0
2
2 1
d d d 1
R F P( d )
3.059 0.358
Residual Iter ||R||
20
0 17.263
16
1 4.5310
12 2 0.3584
8 3 0.0831
4
4 0.0204
5 0.0051
0
0 1 2 3 4 5 6 7 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
i i 1 ( di1 )T (Ri 1 Ri ) i
v R 1 R
( di )T Ri1
i di1
w
( di1 )T (Ri 1 Ri )
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 u3 un uA uB uC uD
35
Nonlinear Solution Steps
1. Initialization: d0 0; i 0
4. Linearization
i i
– Calculate tangent stiffness KT (d )
5. Incremental Solution:
i i i i
– K
Solve T ( d ) d R
6. State Determination
di1 di di
– Update displacement and stress
i1 i i
7. Go To Step 2 36
Nonlinear Solution Steps cont.
• State determination
– For a given displ dk, determine current state (strain, stress, etc)
uk ( x) N( x) dk k B dk k f(k )
• Residual calculation
– Applied nodal force − Nodal forces due to internal stresses
Weak form: ( u )T d u T t d u T fb d, u
s
Discretization: d
T
B T d s
NT t d NT fb d ,
d h
k
Residual: R NT t d NT fb d BT k d
s
37
Example – Linear Elastic Material
• Governing equation (Scalar equation)
u Nd
( 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 NT fb d
P(d) F
R F P(d)
• Residual F
100
80
1 2 F = 10kN 60
x 40
L = 1m 20
0
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 k
2 k k
mAE cos d F A
L E
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
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
F FC C
B A
FB B D
C D Force
A
E
E
Displacement
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 is 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
Tension of Elastoplastic Bar Example
Material properties x3
11kN 11kN
Y H 9 11kN
11kN 12
110.7 GPa 80.2 GPa 400 MPa 100 MPa
10 11
%
% Material properties PROP=[LAMDA MU BETA H Y0]
MID=1;
PROP=[110.747E9 80.1938E9 0.0 1.E8 4.0E8]; 4
%
% Set program parameters
ITRA=70; ATOL=1.0E5; NTOL=6; TOL=1E-6;
% 0 0.4 0.8 0.9 1 1.1
% Calling main function Time
NOUT = fopen('output.txt','w');
NLFEA(ITRA, TOL, ATOL, NTOL, TIMS, NOUT, MID, PROP, EXTFORCE, SDISPT, XYZ, LE);
fclose(NOUT);
57
Tension of Elastoplastic Bar Example
Convergence iteration outputs (output.txt)
Time Time step Iter Residual
0.40000 4.000e-01 2 3.80851e-12