## You are here

# Implicit and Explicit finite element method

i am not clear about implicit and explicit FEM

kindly let me know the difference of two and where to use which one

»

- vijay310105's blog
- Log in or register to post comments
- 182398 reads

## Comments

## difference between explicit and implicit FEM

Hello,

The following is how I understand it. I have done some of both in graduate school. The following is a brief answer, since this would take a lot to answer thoroughly.

1. Preliminary comments regarding the incremental nature of Explicit and Implicit Analysis

A geometric and/or material nonlinear analysis requires incremental load (or displacement) steps. At the end of each increment the structure geometry changes and possibly the material is nonlinear or the material has yielded. Each of these things, geometry change or material change, may then need to be considered as you update your stiffness matrix for the next increment in the analysis.

2. Explicit

An Explicit FEM analysis does the incremental procedure and at the end of each increment updates the stiffness matrix based on geometry changes (if applicable) and material changes (if applicable). Then a new stiffness matrix is constructed and the next increment of load (or displacement) is applied to the system. In this type of analysis the hope is that if the increments are small enough the results will be accurate. One problem with this method is that you do need many small increments for good accuracy and it is time consuming. If the number of increments are not sufficient the solution tends to drift from the correct solution. Futhermore this type of analysis cannot solve some problems. Unless it is quite sophisticated it will not successfully do cyclic loading and will not handle problems of snap through or snap back. Perhaps most importantly, this method does not enforce equilibrium of the internal structure forces with the externally applied loads.

3. Implicit

An Implicit FEM analysis is the same as Explicit with the addition that after each increment the analysis does Newton-Raphson iterations to enforce equilibrium of the internal structure forces with the externally applied loads. The equilibirium is usually enforced to some user specified tolerance. So this is the primary difference between the two types of anlysis, Implicit uses Newton-Raphson iterations to enforce equilibrium. This type of analysis tends to be more accurate and can take somewhat bigger increment steps. Also, this type of analysis can handle problems better such as cyclic loading, snap through, and snap back so long as sophisticated control methods such as arc length control or generalized displacement control are used. One draw back of the method is that during the Newton-Raphson iterations one must update and reconstruct the stiffness matrix for each iteration. This can be computationally costly. (As a result there are other techniques that try to avoid this cost by using Modified Newton-Raphson methods.) If done correctly the Newton-Raphson iterations will have a quadratic rate of convergence which is very desireable.

A suggestion. If you'd like to learn further about these two techniques it would be instructive for you to use both techniques and compare on the same problem. Explicit can be done by simply turning off Newton-Raphson iterations in an Implicit routine, or by setting the equilibrium tolerance to a large number in an implicit routine.

As to the question of which method to use, the answer is that it depends. The type of analysis that is sufficient for your needs will depend on the type of problem that you are trying to solve. Often times since dynamic analyses are computationally intensive they are done with the explicit method. However, for static problems now days it is becoming more common to do the full Implicit type of analysis.

Nonlinear analysis takes lots of experience and a careful understanding of what you want to accomplish and also a careful understanding of the anlaysis capabilities of the software you are trying to use. As I mentioned I have worked with the above methods of analysis in graduate school and know a little about it, however, I would be happy for others here at iMechanica who have more experience than me to give their thoughts on this as well.

It is indeed a very big topic that is difficult to cover in just a brief blog. You should consider looking at Crisfield's book volume 1 for additional information. Also, look at the following location for nonlinear fem information http://www.colorado.edu/engineering/CAS/courses.d/NFEM.d/Home.html

I hope this helps,

Louie

## good

thanks

## thanks a lot for the

thanks a lot for the information that u have posted.

using abaqus/explicit is that possible to do machining simulation?

## Machining simulation is indeed possible with ABAQUS/Explicit.

Hi, It is ofcourse possible to simulate machining process. I have performed simulation of drilling in ABAQUS/Explicit

## Yawlou,

Yawlou,

Thanks a lot!

I have to say this is the best (not one of ) answer for me so far to tell about the Implicit and Explicit in Abaqus, Cause many time I mixed this with the Explicit and Implicit integration scheme, that's totally a different story.

Lei Xu

PhD candidate

Texas A&M University

## Thanks a lot for your

Thanks a lot for your explanation.

It is also quite useful for me.

## Implicite vs Explicit solution

Normal

0

MicrosoftInternetExplorer4

/* Style Definitions */

table.MsoNormalTable

{mso-style-name:"Table Normal";

mso-tstyle-rowband-size:0;

mso-tstyle-colband-size:0;

mso-style-noshow:yes;

mso-style-parent:"";

mso-padding-alt:0cm 5.4pt 0cm 5.4pt;

mso-para-margin:0cm;

mso-para-margin-bottom:.0001pt;

mso-pagination:widow-orphan;

font-size:10.0pt;

font-family:"Times New Roman";}

Hi Vijay;

Generally there are two methods to solve a dynamic

equilibrium equation at every time step. One method is to predict the solution at

time t+dt by using the solution at time t. This is called explicit. In this

method, one does not need to inverse the stiffness matrix (see the book Finite Element Procedures, 1996,

Bathe, page 770 for explanation). This may seem at first a good method, however

one should note that it is not stable (i.e. it diverges from the correct

answer) unless the time step is very small. This is why it is called

conditionally stable. So it is used only when the time duration of the problem

is short (like crash problems).

On the other hand, one can solve the equation at time t+dt

based on itself, and also using the solution which has been found for time t. This is called

implicit, and the most famous one is Newmark method. In this case you need to inverse the stiffness matrix (because of

the nature of the equations), however since it can be unconditionally stable you

may be able to choose a larger time step. This is a great advantage, which

enables us to finish the problem faster.

For more information refer to the above book.

Cheers

Peyman

## the words explicit and implicit used in dynamics and statics

Thanks Peyman

I'm glad that Peyman has added his comments. My experience using the words explicit and implicit has been in the context of static problems. However, Peyman has wisely added comments for the case when the words explicit and implicit are used in a dynamic context. This added information provided by Peyman makes the discussion more complete.

regards,

Louie

## Question for Louie

Dear Sir,

While you were talking about "Explicit" analysis above, you said:

"Perhaps most importantly, this method does not enforce equilibrium of the internal structure forces with the externally applied loads. "

I have a simple question (pleae excuse me if fundamentally wrong)

While we upgrade the stiffness matrix, following geometry or/and material change (if applicable), we solve F = ku, which indeed is the equilibrium equation, then, how ican we say equilibrium is not enforced?

Thanks,

kajal

## answer for kajal

Hi Kajal,

In an incremental analysis the equation F=kU is really ΔF=(kcurrent)Δu, so you apply an incremental force and get an incremental corresponding displacement using the current stiffness matrix. The current stiffness matrix is based on the current material properties and possibly the current geometry if significant geometry changes have taken place.

If you sum up all the incremental externally applied forces and compare them to the current internal forces they will not be in equilibrium.

You are asking a very good question that is one of the very fundamental issues of a nonlinear static analysis. The fact that the forces are not in equilibrium, between internal and external forces, is the very reason that we must use Newton-Raphson iterations to correct each Δu until external and internal forces are in equilibrium for the load step we are currently working on.

As a first step to understanding this it would be helpful for you to go over the Newton-Raphson method for a single nonlinear equation f(x). You may find this in standard numerical analysis text books. Then usually the books also discuss how to extend the method to a set of simultaneous nonlinear equations. Essentially, we are solving F=F(u), where if we linearize this equation the stiffness matrix k(u) is a nonlinear function of u. We keep updating it and it does not stay constant. Hence, the sum of our incremental internal forces are not equal to the sum of the incrementally applied external forces.

This is indeed a difficult thing to explain in words. You will need to consult some nonlinear finite element textbooks and ponder this for a while. Perhaps do a single bar in tension with a geometrically nonlinear stiffness equal to k(u)=1+u^2,(therefore since df/du=k(u), by integration it follows that f(u)=u+u^3/3). Apply three equal load increments of 1 unit each. The results are as follows by repeatedly using the relation Δf=k(u)Δu:

Step1, uo=0, k(uo)=1, Δf=1, Δu1=Δf/k(uo)=1

Step2, u1=uo+Δu1=1, k(u1)=2, Δf=1, Δu2=Δf/k(u1)=1/2

Step3, u2=u1+Δu2=1.5, k(u2)=3.25, Δf=1, Δu3=Δf/k(u2)=1/3.25

u3=u2+Δu3≈1.81

The sum of external applied forces is 1+1+1=3=Fext

The current internal forces are f(u3)=Fint=(u3+(u3)^3/3)≈3.79

Hence it is clear that Fext≠Fint, not in equilibrium.

To be clear, my example is an illustration of an explicit analysis with just 3 load steps. If instead we applied 6 load steps of 0.5 units of force Fint and Fext would be closer to each other in value. For an Implicit analysis, using Newton-Raphson iterations, Fint would be equal to Fext to the precision that we specify/ or at best to the precision of the computer.

I hope this helps and hopefully I didn't make any computational mistakes above.

regards,

Louie

## A correction to my previous comment

Thanks Louie;

I would like to correct my previous comment (I edited that): Regarding the implicit and explicit dynamic analysis methods, no Newton-Raphson iteration is required unless we deal with a problem which is nonlinear in its nature e.g. geometrically nonlinear problems. So the main difference as I said is in the stability of the method and required time step and inversing stiffeness matrix. Overall, explicite methods are not usually recommended.

Another good reference is chapter 20 of the book written by "Edward L. Wilson" which is available on his website for free, however instead of t and t+dt he uses t-dt and t. If you want to use this reference, remember that there used to be some typos in the coefficients of table 20.1. So check it before using it.

Thanks

## questions on louie's example

Dear Sir,

Thank you very much for the reply.

You said:

"----Perhaps do a single bar in tension with a geometrically nonlinear stiffness equal to k(u)=1+u^2,(therefore since df/du=k(u), by integration it follows that f(u)=u+u^3/3).----"

Sorry, if what i am asking is too stupid:

I understand that by integrating we get f(u) = u + u^3/3--here f(u) is the internal force.

1) Can you show me the internal force in the bar at every step of incremental displacement- without using the integrated formula.In other words I do not want that f(u1),f(u2),f(u3) to come from using the integrated formula-I want to physically use summation to get final internal force.Please excuse me for asking a entry level question.

2)Basically, with increase in displacement, the stiffness of the bar should reduce-where in your example is this degradation of stiffness reflected?Can you show me the reduction in stiffness at Step 1, step 2, step 3?

Respects,

kajal

## just an example function to illustrate explicit analysis

Hi Kajal,

Answers to your questions:

1) For the example as given, one cannot calculate the internal force without using the equation. The problem would need to be more elaborate and have strains calculated and stress strain relations prescribed as is done in a normal solid mechanics finite element problem. Then the internal stresses could be calculated from those relations. From the internal stresses the internal forces may be obtained. This is often done by using the common expression "integral of B transpose times sigma".

2)There is no law or requirement that says the stiffness must degrade. In fact, for the example I have given, the stiffness for this problem increases with displacement. Stiffening with increasing displacement is actually possible in real problems, so the problem is not too farfetched.

Additional Comments/observations

1. The example given was constructed to demonstrate an incremental explicit analysis for a simple static problem. The 3 steps provided illustrate the incremental approach and the final comparison between the external applied loads and the final internal force showing that the explicit analysis does not stay in equilibrium. More load steps would be required to achieve better equilibrium or an implicit analysis would be needed to enforce equilibrium by using Newton-Raphson iterations.

2. I say that the example is for a geometrically nonlinear analysis, however, there is really nothing here that establishes it as geometrically nonlinear. We could just as easily have said it was materially nonlinear, for this problem. What is most important for the purposes of this example is that F is a NONLINEAR function of displacement. An explicit analysis is a way to approximately analyze the nonlinear problem as illustrated. It would be helpful for you to plot load versus displacement comparing the exact solution to the explicit data points that are calculated. A simple matlab problem can be constructed to do this and it will illustrate how increasing the number of increments can improve the results.

3. The problem is just a contrived example where force is GIVEN as a nonlinear function of displacement. In general in a nonlinear finite element analysis we do not have an exact closed form expression for the load versus displacement. Instead we would have to keep track of the strains in the structure we are analyzing and from those internal strains we may calculate the internal stresses and from the stresses we may calculate the internal forces. Theses steps are not shown in the simple problem I have posed above. The problem above only illustrates many of the relevant concepts associated with force, stiffness, explicit, implicit, the incremental nature of the solution procedure, external forces, internal forces, lack of equilibrium, and if someone does more steps it illustrates the improvement of results between Fext and Fint.

I hope this helps,

Louie

## explicit and implicit at global level in static context

Several comments.

1. To be complete it may be helpful to recognize that the explicit and implicit methods I have described in previous posts above are for static problems at the global level. (Peyman has mentioned explicit and implicit in a dynamic context) At the constitutive level (at a material point in the structure) it is also possible to have either explicit or implicit computer routines that solve for the amount of plastic flow that the material point has undergone (in the case of plasticity). This process at the constitutive level is at a local material point and I have not discussed that in my previous blogs. Therefore, it is helpful to realize that explicit and implicit may be used in a variety of contexts.

2. For the simple problem I have mentioned above I have created a small tutorial that describes the explicit method and the implicit method. There are also matlab files(which go with the tutorial) I have constructed which demonstrate the explicit and implicit methods for the simple problem. The tutorial is fairly basic and perhaps I will find time to improve it over time, but for now it is short and to the point. The files may be found at the following location.

http://people.wallawalla.edu/~louie.yaw/nonlinear/

This is for iMechanica and all individuals who have a sincere desire to learn.

regards,

Louie

## Solving large plastic deformation quasi-static problems

Normal

0

21

false

false

false

MicrosoftInternetExplorer4

/* Style Definitions */

table.MsoNormalTable

{mso-style-name:"Normale Tabelle";

mso-tstyle-rowband-size:0;

mso-tstyle-colband-size:0;

mso-style-noshow:yes;

mso-style-parent:"";

mso-padding-alt:0cm 5.4pt 0cm 5.4pt;

mso-para-margin:0cm;

mso-para-margin-bottom:.0001pt;

mso-pagination:widow-orphan;

font-size:10.0pt;

font-family:"Times New Roman";

mso-fareast-font-family:"Times New Roman";

mso-ansi-language:#0400;

mso-fareast-language:#0400;

mso-bidi-language:#0400;}

Why are implicit

solvers (implicit FEM software) such as MSC.Marc, Deform, Forge, are preferred

(dominates) to explicit FEM (LS-Dyna) in solving large deformation quasi-static

problems such as e.g. in case of metal forming with an expectation sheet metal

forming/IHU?

Are explicit

solvers (LS-Dyna) are faster in solving large plastic deformation quasi-static

problems? How about the accuracy of the results when compared with implicit

solvers?

Are explicit solvers or contact algorithms used in

explicit FEM (LS-Dyna) faster in Elasto-Plastic slide contact with friction?

## Thank you Prof Louie

Dear Prof Louie

Your handouts are a treat to read. Very nicely written and clear explanations are given.

Thank you very much for enhancing our knowledge

Karthic

NTU, singapore

## Few related queries

Hello everyone,

Can someone please guide me on these queries, so that it will be usefull to all:

1. When we should go for Explicit Analysis(few thumb rules).

2. What is the difference between Implicit Dynamics and Explicit Dynamics. (is Explicit analysis is prefered for all dynamic problems??)

Waiting for the answer.......!

Sagar

## stiffness matrix in explicit method

Hi Everyone,

I have been trying to use DYNA3D for dynamic analysis of very flexible structures. The discussion here is very instructive. I have one question: in the explicit method, is the tangent or the nonlinear stiffness matrix explicitly generated so that it can be output or not? If not, is there any type of stiffness matrix used in the solution process and can be output?

Hope someone here could give me a response. Thanks!

Julian

## Stiffness matrix in explicit method

No, typically tangent matrices are not explicitly generated. I'd be surprised if Dyna3D does this. -Nachiket

## Limitation of ABAQUS for explicit and implicit Method

Hi everyone

I am doing resaech in Damahe Mechanics .

I want to Know , How the result very in Explicit and implicit FEM in ABAQUS.

What is limitation to use ABAQUS at high velocity Impact .

With Regards

Manoj Kumar

## Staitc riks and arc length

can someone help me with static riks method and the associated option of arc length???

## explicit and implicit methods

as we know finite element method is a method for solving gifferential equations that governed to physical problem. beyond many of engineering problems, is a certain differential equation governs that. for example consider heat transfer in a long rod that governing equation is "∂Q/∂t=k*∂2 Q/∂x2" (0) that Q is temprature and t is time and x is coordinate along the rod. by using taylor aproximation we can write:

∂2 Q/∂x2 =(Q(x+Δx)-2*Q(x)+Q(x-Δx))/Δx2 (1)

proof:Q(x+Δx)=Q(x)+Q'(x)*Δx+(Q''(x)/2)*Δx2

Q(x-Δx)=Q(x)-Q'(x)*Δx+(Q''(x)/2)*(-Δx)2 =Q(x)-Q'(x)*Δx+(Q''(x)/2)*Δx2

putting this data to equation (1), we can write: ∂2 Q/∂x2 =Q''(x)

and ∂Q/∂t=(Q(x,t+Δt)-Q(x,t))/Δt (2)

main difference between explicit and implicit method start in here that in the explicit method we calculate equation(0) in time=t. by using explicit formulation we can write:

∂2 Q/∂x2 =(Q(x+Δx)t-2*Q(x)t+Q(x-Δx)t)/Δx2=(1/k)(Q(x,t+Δt)-Q(x,t))/Δt

lets we name Q(x,t)=Qmt and Q(x+Δx,t)=Qm+1 t Q(x,t+Δt)=Qm t+1 that super script t refer time and subscript m refer to segment that we consider for solve the equation(m= a certain element in the rod that is created by meshing in the finite element method).

then we can write :

k*(Qm+1 t -2*Qmt + Qm-1 t )/Δx2= (Qm t+1 -Qmt )/ Δt → (k*Δt/Δx2)*(Qm+1 t -2*Qmt + Qm-1 t) +Qmt=Qm t+1 (3)

that as see temprature at time t+1 is explicitly calculate, cause we know all quantities at left side of equation (3) at time t(for example we know the temprature at the end and start of the rod at time t=0 from boundary condition). as show in here this is a progressive procedure that dont satisfy the equilibirium of temperature in all of the rod, but satisfy this in certain level.

what about the implicit method?

in the implicit method the equation (0) is solved at time t+Δt. let thinking about this.

we can write equation (1) at time t+Δt (or for simplicity t+1):

k*(Qm+1 t+1 -2*Qmt+1 + Qm-1 t+1 )/Δx2= (Qm t+1 -Qmt )/ Δt → (k*Δt/Δx2)*(Qm+1 t+1 -2*Qmt+1 + Qm-1 t+1) +Qmt=Qm t+1 (4)

as see in above equatin (4) for solving this equation and obtain temperature at time t+1 at certain location, we need to know all quantities at the left side of equation (4) in time t+1. cause we dont know at first this quantities at time t+1 (our oubject really is obtain this values at time t+1), we should solve a set of equation to obtain solution. by enforcing boundary condition at the end and start of the rod, we can solve heat transfer equation. as you see using the implicit method satisfy the heat equilibirium at all location of the rod.since we must solve a set of equation in this method,the calculation time is more than explicit method, particulary when our problem's domain is relatively large. really in heat conduction problem, if we devide the rod to n element, we should solve n simultaneous equation to obtaing solution in each time steps. if our problem be 2 or 3 dimensional problem, and in each nodes of the domain after meshing, we have certain degrees of freedom, the advantages of using explicite metod apear. cause for implicit method we should solve (n=number of nodes)*(dof) simultaneous equation for obtain solution at each step.

## Explicit vs Implicit for material properties varying with time

Hi all,

I followed comments on this topic. I know about mathematical

background of both methods and little bit and stability and conditional

stability of these methods. I have a general question about material

nonlinearity and choosing between one of these methods.

I'm modeling a viscoelastic material in Abaqus. As you know this

type of material is history dependent material and based on this fact my

supervisor says since in explicit method, we update material properties in each

step directly from previous step, we should use explicit procedure and not

implicit one. Mathematically I think, providing proper time steps for both

methods, the results should not differ but I cannot answer philosophically my

supervisor! What do you guys think?

## Crisfield's book

Dear yawlou

Would you please give some more information about the introduced book of (Crisfield's book volume 1)?

Thanks

## Crisfield's books

The Crisfield books I mentioned are as follows:

M. A. Crisfield, Essentials, Volume 1, Non-Linear Finite Element Analysis of Solids and Structures, Wiley, 1996

M. A. Crisfield, Advanced Topics, Volume 2, Non-Linear Finite Element Analysis of Solids and Structures, Wiley, 1997

## Thanks a lot dear yawlou.

Thanks a lot dear yawlou.

## Arc length method

Can anyone please tell me the alogotithm for E Ramm's arc length method. I am using the following type of algorithm but am not getting the correct result----

u{0}, lamda=0

Fext

n no of steps

Kg (stiffness with u{0})

u1=(Kg)^-1 * Fext'

[L D]=ldl(Kg)

m=det(D)

arc_length=norm(u1)

lamda= 0.1*arc_length/sqrt(u1'*u1+1)

if m<0

lamda=-lamda

end

u=lamda*u1

iterations:

Kg(u{0}+u)

Fint(u{0}+u)

Fres=Fint-lamda*Fext

ur=-inv(Kg)*Fres'

u1=inv(Kg)*Fext

del_lamda=-(u'*ur)/(u'*u1)

del_ur=ur+del_lamda* u1

u==u+del_ur

lamda=lamda+del_lamda

if norm(Fres)<10^-5)

end

u{0}=u{0}+u

if lamda>=2

end

So please help me..Waiting for the solution eagerly .

Thanks

Md Rushdie Ibne Islam

## hi

salam