Week - 2 - Explicit and Implicit Analysis
The Finite Element (FE) simulations are performed in FE solver using two main methods:
1. Implict Method
2. Explicit Method
fundamentally any analysis can be performed using both methods, however due to different problem solving approch in the both methods, the ascociated compuational cost for solving same problem with both method varies. The compuational cost plays an important role in the industry as it decides the cost of project.
First consider the general PDE that can be used to represent any dynamic problem:
[M]{x''} +[C]{x'}+[K]{x} = {f} ------ (1)
where:
[M] = Mass Matrix
[C] = Connectivity Matrix
[K] = Stiffness Matrix
{f} = Force Vector
{x''} = Acceleration Vector
{x'} = Velocity Vector
{x} = Displacement Vector
1. Implicit Method
In the implict method is used when there is no signifant imapct of interia on the final results. This means that in the the above eq.(1) the acceleration and velocity vector become zero and the PDE reduces to simaple matrix equation [M]{x} = {f}. So in the given problem the dispalcement values are calculated by inverting the mass matrix and performing simple matrix multiplication with force vector. Though multiplication with force vector is simple and (compuationally) less expensive, the mass matrix intersion is very expensive operation and for the large and complex problem it gets more expensive. For transient or non-linear static problems the matrix equation is solved iteratively with incremental load. Which means that the solution of next step is based on previous step and for that we have to inverse mass matrix more than once. Additionally, the implcit method needs to be unconditinally stable. Which menas for each iteration the system needs to in equllibrium (sum of all forces = 0) and solution has to converge. To achieve convergence iterative methods are used like Newton-Rapshon method and for the highly non-linear problem it needs more iterations to converge and thus more compuatioal cost. Hence, Implcit method is not suitable for all probelms like vehicle crash where we see large defromations, higly non-linear contacts and non-linear material. With such multi-dimensional non-linearity it highly expesnive or sometime impossible for implicit method to converge. Moreover, in the problems like crash influence of intertia is significant and we can not negelect it. Therefore for such problems we use explicit metghod.
2. Explicit Method
It is clear that we choose explicit method when there is significant influence of mass interia. But how to decide when to we have to consider the effect of intertia. The generalised approched it when strain rates or velocities are more than 10 units/sec or 10 m/s respectively. (However this is not a standard but we can consider it as rule of thumb for reference) But why the explict method is preffered over implict? what is difference?
For solving the explcit method acceleration and velcoity terms are not zero so we consider whole equation. In case of explicit method insted of inversing the stiffness matrix, solution is obtained through inversing the mass matrix and dynamic equliibrium is obtained (F = ma). As the in the dynamic equlibbrim the sum of forces is not zero, the solver don't have to converge in each increment. That is why the explicit method is called conditionally stable method. The stability of explict method is defined by 'Courants condition'. Courants consition for 1D elements is given as :
`Delta`t_critical = L/c
where:
L = lenth of 1D element
c = speed of sound => c= `sqrt`(E/`rho`)
E = Young's Modulus
`rho` = Material Density
so as per the stability condition, the time increment in the explicit analysis shold be less than `Delta`t_critical. If we use time steps that are larger than a `Delta`t_critical then we will see large error in the final results.
Quick Note: for the explict simulations also we do matrix inversion (mass matrix) opration that is but why do we say it is compuationally cheaper than the stiffness matrix inversion is that because in the most of the cases these matrix are lumped mass matrix (only digonal elements are present) and inversion of such matrix is really cheap. That is why is compuationally efficient to solve highly non-linear problems with explicit solver.
===========================================================================
Problem Solution:
============================================================================
Given:
f(u) = u^3 + 9u^2 +4u
`Delta`F = dF = 1
No of Incremants = n =3
u0 = 0, tolerance = 0.001
k(u) = df/du = 3u^2 +18u + 4
Solution for Explicit Method ==>
u0 = 0 ==> k(u0) = 4
du0 = dF/k(u0) = 1/4 = 0.25
u1 = u0 + du0 = 0.25
----Step 2----
k(u1) = 8.6875
du2 = dF/k(u1) = 1/866875 = 0.1151
u2 = u1 + du2 = 0.3651
----Step 3 ----
k(u2) = 10.971815
du3 = 0.091142
u3 = u2 + du3 = 0.456242
-----
now we know the displacements in each incremant that can be used to calculate the interal forces in the each steps. We applied external force of 1 unit in each increamement that means total force of 3 unit. Finial internal froce in the system can be calculated using f(u3) = 3.7933.
So the error is 0.7933 units. This error can be minimised using small increment of load, which means more steps.
------
now we will solve the same problem with implict system, here we have to consider the residual error (R) in each step if the error is larger than tolarance (0.001) then we have to perform interations to correct the dispalcements until the error is less than 0.001.
F_ini = Internal forces
---- Step 1 ----
k(u0) = 4 ,
u1 = u0 +du1 = 0.25
R = |dF - F_ini| = | 1 - 1.578125| = 0.578125 > 0.001
Now calulate the correction factor del_u for dispalcement using following formula
del_u = -R/[k(u1)] = -0.0665467
updated displacemement u11 = u1 + del_u = 0.25 + (-0.0665467)
u11 = 0.18345
F_ini(u11) = 1.04285
R1 = |1 - 1.04285| = 0.04288 > 0.001
that means we need one more iteration for correcting displacement value
del_u12 = del_u - R1/[k(u11)] = -0.0723348
now updated displacement is
u12 = u1 +del_u12 = 0.25 + (- 0.0723348)
u12 = 0.177665
F_ini(u12) = 1.000352
R2 = |1 - 1.000352| = 0.000352 < 0.001
now the convergence has reached hence we do not need further iterations
u1 = u12 = 0.177665
---- Step 2 ---- (only final values are mentioned as the procedure is same)
k(u1) = 7.2926645
u2 = 0.314789
F_ini(u2) = 2.182179
R = 0.182179 > 0.001
--iteration 1
del_u = -0.01828467
u21 = 0.296504
F_ini(u21) = 2.00331
R1 = 0.00331 > 0.001
--iteration 2
del_u22 = - 0.0186299
u22 = 0.296159
F_ini(u22) = 2.0000035
R2 = 0.0000035 < 0.001
hence u2 = 0.296159
---- Step 3 ----
k(u2) 9.593992
u3 = 0.40039
F_ini(u3) = 3.108567
R = 0.108567
--iteration 1
del_u = 9.28879E-3
u31 = 0-3911012
F_ini(u31) = 3.00086
R1 = 0.0008 < 0.001
no further iterations are needed
u3 = 0.3911012
--------------
So for the implicit method the final internal force is 3.00086 unit which has less error due to multiple iterations perfromed to converge the solution for defined tolarance. Without the convergence we can not move to next step, this is why the implicit method is called unconditionally stable (equlibrimum at each step(sum of all forces is zero)).