Week - 2 - Explicit and Implicit Analysis
Explicit Analysis:
The explicit method solving allows problems element by elements. Compared with the implicit method it does not require the general matrix, since the velocity and displacement nodes can be counted directly, using the central difference integration.
Time increment in explicit analysis is very short. The time step is limited by the size of the numerical stability. If the time step is too large there will be a significant numerical error.
This method has no requirement for balance, so it is suitable for the higher dynamic analysis, such as high velocity impact.
Implicit Analysis:
In this method the general equilibrium is achieved by interaction at first elements, followed by evaluation of local element variables. If the balance is not achieved, this method becomes expensive for calculation, since the matrix coefficients should recalculated with different time steps.
Implicit method is unconditionally stable, allowing the use of large increment time steps. So it is suitable for problems that tend to be high linear, static and quasi-static.
As demonstrated in the PDF, F(u) = u3+9u2+4u use this equation and solve using both Explicit and Implicit Methods ( have a tolerence of 10-2)
Explicit Method:
If the nonlinear force versus displacement relationship is not known, but the stiffness is known, it is possible to construct the graph of force versus displacement numerically.
It can be done using an increment explicit load control scheme.
The following equation is solved using explicit method as follows,
F(u) = u3+9u2+4u
Differentiating force with request to displacement gives the stiffness (k) of the bar (since F=kx).
K(u) = = 3u2 + 18u + 4
- Here, three equal load increments (or steps) of ∆F = 1 unit each are used to load the tension bar.
Variables are as given below:
- U = Displacement
- F = External Force
- K = stiffness
- ∆u = Incremental Displacement
- ∆F = Incremental externally applied force
Step – 1:
u0 = 0.0
k(u0) = 3(0)2 + 18(0) + 4 = 4
∆F = 1,
∆ u1 = = ¼ = 0.25,
u1 = u0 + ∆ u1 = 0 + ¼ = 0.25
FExternal = ∆F = 1,
FInternal = u13 + 9u12 + 4u1 = (0.25)3 + 9(0.25)2 + 4(0.25) = 1.5781,
R = FI – FE = 1.5781-1 = 0.5781.
Step – 2:
u1 = 0.25,
k(u1) = 3(0.25)2 + 18(0.25) + 4 = 8.6875,
∆F = 1,
∆ u2 = = 1/ 8.6875 = 0.1151,
u2 = u1 + ∆ u2 = 0.25 + 0.1151 = 0.3651,
FExternal = ∆F + ∆F = 1+1 = 2
FInternal = u23 + 9u22 + 4u2 = (0.3651)3 + 9(0.3651)2 + 4(0.3651) = 2.7087,
R = FI – FE = 2.7087 – 2 = 0.7087.
Step – 3:
u2 = 0.3651,
k(u2) = 3(0.3651)2 + 18(0.3651) + 4 = 10.9713,
∆F = 1,
∆ u3 = = 1/ 10.9713 = 0.0971,
u3 = u2 + ∆ u3 = 0.3651 + 0.0971 = 0.4562,
FExternal = ∆F + ∆F + ∆F = 1+1+1= 3,
FInternal = u33 + 9u32 + 4u3 = (0.4562)3 + 9(0.4562)2 + 4(0.4562) = 3.7928,
R = FI – FE = 3.7928 – 3 = 0.7928.
Summary of explicit analysis results:
|
Step i |
∆Fi |
∆ui |
ui |
(Fext)i |
(fint)i |
fint − Fext = R |
|
1 |
1.0 |
0.25 |
0.25 |
1.0 |
1.5781 |
0.5781 |
|
2 |
1.0 |
0.1151 |
0.3651 |
2.0 |
2.7087 |
0.7087 |
|
3 |
1.0 |
0.0911 |
0.4562 |
3.0 |
3.7928 |
0.7928 |
It is evident from the results that external and internal forces are NOT in equilibrium because
Fext /= fint.
Implicit Method:
An implicit analysis is the same as the explicit analysis, except that at the end of each step Newton-Raphson iterations are used to enforce equilibrium before moving to the next step. Basically, an incremental force is applied to advance the solution forward at the beginning of a step. However, internal forces and external forces will not be in equilibrium unless the stiffness is linear for the given step. Hence, in order to achieve equilibrium, corrections must be made to the displacement. This is accomplished by using Newton-Raphson iterations to minimize the residual, R(u) = fint − Fext.
Expanding the residual as a Taylor series about the current displacement uj gives
Rj+1 = Rj uj dR(uj)/du (δuj+1)+…= + k uj (δuj+1)+…
By neglecting higher order terms in the series, setting
Rj+1 = 0 and solving for δuj+1
The correction is obtained
δuj+1 = −[k(uj)]−1Rj
Here, the iteration variable is j and it may take several iterations for the norm of the residual, R, to be reduced below the chosen tolerance criteria of 0.01.
Step – 1:
u0 = 0.0
k(u0) = 3(0)2 + 18(0) + 4 = 4
∆F = 1,
∆ u1 = = ¼ = 0.25,
u1 = u0 + ∆ u1 = 0 + ¼ = 0.25
FExternal = ∆F = 1,
FInternal = u13 + 9u12 + 4u1 = (0.25)3 + 9(0.25)2 + 4(0.25) = 1.5781,
R = FI – FE = 1.5781-1 = 0.5781.
||R0|| > 10−2
Newton-Raphson iterations are necessary.
Calculate the correction to u1 = u10
δu(1) = −[k(u(0))]−1R(0)
u1 = 8.6875 & R0 = 0.578152
δu(1) = −[k(u10)]−1R0 = -[8.6875]-1 (0.578152)
δu1 = -0.0665467,
Now, updating the value,
u1(1)= u1(0) + δu1 = 0.25 – 0.0665 = 0.1835,
Now, checking Residuals,
FExternal = ∆F = 1,
FInternal = (u1(1))3 + 9(u1(1))2 + 4u1(1)
= (0.18346)3 + 9(0.18346)2 + 4(0.18346) = 1.0373
Now, R1 = FI – FE = 1.03736- 1 = 0.03736,
||R0|| > 10−2
So, Newton-Raphson iterations are necessary
k(u1) = 3 u12 + 18u1 + 4
= 3(0.18346)2 + 18(0.18346) + 4
k(u1) = 7.403252
So, calculating new total correction to u1 = u10
δu(2) = δu(1) −[k(u1(1))]−1R(1)
= -0.06654 – [7.4032]-1 (0.03736)
δu(2) = -0.07159
Now, updating the value,
u1(2) = u10 + δu(2)
= 0.25 + (-0.071593)
u1(2) = 0.1784,
Now, Checking Residuals,
FExternal = ∆F = 1,
FInternal = (u1(2))3 + 9(u1(2))2 + 4u1(2)
= (0.1784)3 + 9(0.1784)2 + 4(0.1784)
FInternal = 1.0057
Now, R2 = FI – FE = 1.0557-1 = 0.005767
||R0|| < 10−2
So, Newton-Raphson iterations are not necessary
So, Final value is u1 = u1(2) = 0.1784
Step – 2:
u1 = 0.1784,
k(u1) = 3(0.1784)2 + 18(0.1784) + 4 = 7.3068
∆F = 1,
∆ u2 = = 1/ 7.306813 = 0.1368
u2 = u1 + ∆ u2 = 0.1784 + 0.1368 = 0.3152
FExternal = ∆F + ∆F = 1+1 = 2,
FInternal = (u2)3 + 9(u2)2 + 4u2
= (0.3152)3 + 9(0.3152)2 + 4(0.3152) = 2.1868
R = FI – FE = 2.1868-2 = 0.1868.
||R0|| > 10−2
Newton-Raphson iterations are necessary.
So, k(u2) = 3 u12 + 18u1 + 4
= 3(0.3152)2 + 18(0.3152) + 4 = 9.9727
So, calculating new total correction to u1 = u10
δu(1) = −[k(u(0))]−1R(0)
= -[9.9727]-1 (0.1868)
δu(1) = 0.01873.
Now, updating the value,
U2(1) = u20 + δu(1)
= 0.3152 + (-0.01873)
U2(1) = 0.29653,
Now, checking Residuals,
FExternal = ∆F + ∆F = 1+1 = 2,
FInternal = (u2(1))3 + 9(u2(1))2 + 4u2(1)
= (0.29653)3 + 9(0.29653)2 + 4(0.29653) = 2.003563,
Now, R1 = FI – FE = 2.003563-2 = 0.003563
||R0|| < 10−2
So, Newton-Raphson iterations are not necessary
So, Final value is u2 = u2(1) = 0.2965
Step – 3:
u2 = 0.2965
k(u2) = 3(0.2965)2 + 18(0.2965) + 4 = 9.60133,
∆F = 1,
∆ u3 = = 1/ 9.6013 = 0.1041
u3 = u2 + ∆ u3 = 0.2965 + 0.1041 = 0.4006
FExternal = ∆F + ∆F + ∆F = 1+1+1 = 3,
FInternal = (u3)3 + 9(u3)2 + 4u3 = (0.4006)3 + 9(0.4006)2 + 4(0.4006) = 3.1119
R = FI – FE = 3.1119-3 = 0.1119.
||R0|| > 10−2
Newton-Raphson iterations are necessary.
So, k(u3) = 3 u32 + 18u3 + 4
= 3(0.4006)2 + 18(0.4006) + 4 = 11.6938,
So, calculating new total correction to u2 = u20
δu(2) = −[k(u3(0))]−1R(0)
= -[11.6938]-1 (0.11194)
δu(2) = -0.0095,
Now, updating the value,
u3(1) = u30 + δu(2)
= 0.4006 + (-0.0095)
u3(1) = 0.3911,
Now, checking Residuals,
FExternal = ∆F + ∆F +∆F = 1+1+1= 3,
FInternal = (u3(1))3 + 9(u3(1))2 + 4u3(1)
= (0.3911)3 + 9(0.3911)2 + 4(0.3911) = 3.0009,
Now, R1 = FI – FE = 3.0009-3 = 0.003563
||R0|| < 10−2
So, Newton-Raphson iterations are not necessary
So, Final value is u2 = u3(1) = 0.3911,
Summary of implicit analysis results:
|
Step i |
∆Fi |
ui |
(Fext)i |
(fint)i |
fint − Fext = R |
|
1 |
1.0 |
0.1784 |
1.0 |
1.0057 |
0.0057 |
|
2 |
1.0 |
0.2966 |
2.0 |
2.0035 |
0.0035 |
|
3 |
1.0 |
0.3911 |
3.0 |
3.0009 |
0.0009 |
It is evident from the table s that the external forces and internal forces are coming into equilibrium because
FExternal ≈ FInternal
Plots:
Explicit Metod:

Implicit Method:

Exact solution:

Discussion:
As discussed, we can use both implicit and explicit solvers to solve the same type of problems. The only difference is in approach to time increment.
The implicit analysis allows you to select how big the time increment should be. This increment will take some time to compute since it has to iterate for global equilibrium first. But we can make it reasonably big for our analysis.
Explicit time increments calculate really fast because they do not iterate for global equilibrium, but the time increment there is not the user's choice. Solver simply assumes an acceptable time increment and goes with it.
The speed of computing is exactly the difference between implicit and explicit. Of course, the size of explicit step depends on our model and computing times depends on the system hardware.
The debate on what type of solver is better depends upon the type of problem and accuracy we need.