Professional Documents
Culture Documents
Chap 2 Nonlinear Finite Element Analysis Procedures: Nam-Ho Kim
Chap 2 Nonlinear Finite Element Analysis Procedures: Nam-Ho Kim
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
3
What is a linear structural problem?
Global Local Local Global
Linear Linear Linear
Force Stress Strain Displacemen
A0 A s = Ee
s
F/2
L0 dL
F/2 L
F F E
? 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
ij
– Infinitesimal deformation: 2 xj xi
– Linear stress-strain relation: σ D : ε
Undeformed coord.
– Constant displacement BCs
Constant
– Constant applied forces
• Nonlinear Problem:
– Everything except for linear problems!
– Geometric nonlinearity: nonlinear strain-displacement relation
– Material nonlinearity: nonlinear constitutive relation
– Kinematic nonlinearity: Non-constant displacement BCs, contact
– Force nonlinearity: follow-up loads
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.
Tip displacement
C1 C2
6.
4.
2.
C3
C0
0.
0.0 0.2 0.4 0.6 0.8 1.0
Normalized couple
Strain
0.15
0.10
– Undeformed domain W 0 0
0 0.05 0.10 0.15 0.20 0.25 0.30
du/dx
– Deformed domain Wx
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
h s
E Ee
s
time
Visco-elastic spring model
12
Boundary and Force Nonlinearities
• Nonlinear displacement BC (kinematic nonlinearity)
– Contact problems, displacement dependent conditions
dmax
Force
Displacement
Contact boundary
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
• Kinetic and kinematic nonlinearities
– Appears on the boundary
– Handled by displacements and forces (global, explicit)
– Relatively easy to understand (Not easy to implement though)
• Material & geometric nonlinearities
– Appears in the domain
– Depends on stresses and strains (local, implicit)
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
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
– 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 0 3
KT R F P(d )
d 2d1 2d2 17
• Iteration 1
0.625
d1 d0 d0
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 1 4.531 1
d2 d2 0.533
0.092 2 2 0
2 1 1
d d d 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 3 0.016 3
d2 d2 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
Force
C D
A
E
E
Displacement
26
Modified N-R Method
• Constructing KTi (and
di ) solving isKTi expensive
di Ri
P 1 1 3
KT R0 F P(d0 )
d 2d1 2d2 17
• Iteration 1
1 0 0.625
0 1 1 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
0.566
d2 d2
0.059 0
2 1
d d d 1
R2 F P(d2 )
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
– At i-th iteration F P(d)
i i 1 ( di1 )T (Ri 1 Ri ) i
v R 1 R
( di )T Ri 1
i di1
w
( di1 )T (Ri1 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
0
1. Initialization: d 0; i 0
5. Incremental Solution:
– Solve KTi (di )di Ri
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
T T T b
Weak form: (
u ) d u t d
s
f d, u
u
Discretization: d
T
B d
T
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
BT d s
NT t d NT fb 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
1
• Rubber bar E tan (m) d1
d
T L T d2
• Discrete weak form d B Adx d TF
0
R
L A F
• Scalar equation R F dx F
L
0
R F (d)A 1
B 1 1
L
120
100
80
1 2 F = 10kN Stress
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
• Iteration 1
d1 d0 d0 0.025m
mAE 0 1 d1 / L 0.025
d F
L
1 E tan 1 (m1 ) 78.5MPa
• Iteration 2
mAE 1
2 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)
– Tangent stiffness K ( d) P
T
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
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 + DT
Bisection control
Yes
Final time? Stop
No
Increase load & BC
T = T – DT ITER = 0
DT = DT/2
Calculate R & K
Displacement BC
Converged? Yes
No
Yes Max ITER?
ITER=ITER + 1
No
Solve DU = K\R
U = U + DU
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
l m sY 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
Time Time step Iter Residual
0.80000 4.000e-01 2 4.32010e-12
Time Time step Iter Residual
Linear elastic region
0.90000 1.000e-01 2 3.97904e-12
Time Time step Iter Residual
1.00000 1.000e-01 2 3.63798e-12
Time Time step Iter Residual
1.10000 1.000e-01 2 6.66390e+02
3 1.67060e-09 Elastoplastic region