Direct Solver vs. Iterative solver
Direct Solver vs. Iterative solver
(OP)
Hi everyone,
From bachelor years, I have learned that time-step-schemes can be implicit or explicit.
To solve my problem, I have selected DIRECT SOLVER in the STEP options of abaqus (I have a simple problem and a normal simulation takes like 30seconds to finish). I have a total time of 1 sec(let me use units) and I have given several initial, minimum and maximum time steps to see the evolution of the stresses during this 1 sec once the simulation is finished.
Going through the abaqus manual, i am a little bit confused and maybe you can help me to get rid of this confusion.
Now, to solve the Ku=F matrix equation, I am using the direct solver.
1) Does this mean that I am using explicit time-step-schemes?
2) If yes, is the solution procedure like this:
-From the continous integral equations (by discretization) I get a system of equation Ku=F,
for t=t1
Solve it with a method, like Gauss elimination (actually I do not know which method Abaqus is using, could you please tell me which method does Abaqus use?). Once I get the u values (they were the unknowns at t=0). And then, for the next time step, what is changing, K or F? and how do I get the next displacement values for the next time step, t=t2?
I would really appreciate your help. I am really confused.
From bachelor years, I have learned that time-step-schemes can be implicit or explicit.
To solve my problem, I have selected DIRECT SOLVER in the STEP options of abaqus (I have a simple problem and a normal simulation takes like 30seconds to finish). I have a total time of 1 sec(let me use units) and I have given several initial, minimum and maximum time steps to see the evolution of the stresses during this 1 sec once the simulation is finished.
Going through the abaqus manual, i am a little bit confused and maybe you can help me to get rid of this confusion.
Now, to solve the Ku=F matrix equation, I am using the direct solver.
1) Does this mean that I am using explicit time-step-schemes?
2) If yes, is the solution procedure like this:
-From the continous integral equations (by discretization) I get a system of equation Ku=F,
for t=t1
Solve it with a method, like Gauss elimination (actually I do not know which method Abaqus is using, could you please tell me which method does Abaqus use?). Once I get the u values (they were the unknowns at t=0). And then, for the next time step, what is changing, K or F? and how do I get the next displacement values for the next time step, t=t2?
I would really appreciate your help. I am really confused.
Best Regards,
Sartor





RE: Direct Solver vs. Iterative solver
Theory manual (from Abaqus Documentation) has a chapter on procedures (towards the beginning) that I believe addresses your questions.
I think no decent FE code uses classical Gauss elimination which is would be too slow. FE solvers typically take advantege of sparsiness/bandness of K matrix to use more efficient algorithms.
See for example:
http://en.wikipedia.org/wiki/Frontal_solver
Also, explicit methods do not require solving systems of equations.
RE: Direct Solver vs. Iterative solver
The other option is Iterative solvers. This basically means guess u, evaluate Ku-F, adjust u based on this, and repeat until Ku-F~0. This is usually something like conjugate gradient method.
RE: Direct Solver vs. Iterative solver
I have read the related parts in "Procedures" section of the manual.
For my simulation, I am using:
Equation solver
Method: Direct
Matrix Storage: Use solver default
Solution technique
Solution technique: Full Newton
Now, when I look to Full Newton, it is an iterative method in the manual.
I am really confused. If I choose DIRECT SOLVER, how is it possible that I am using an iterative solution technique?
TERIO:
you are totally right. However, I exactly want to know how I solve my Ku=F (gauss elimination, or LU decomposition...) I know how all these methods are working. But, I could not understand which one ABAQUS is using for my problem?
Best Regards,
Sartor
RE: Direct Solver vs. Iterative solver
This means that a direct solver (I don't know what type) is used to solve a linear system of equations.
Solution technique: Full Newton
Newton's methods solves a nonlinear system of equations (i.e., K depends on u) iteratively by linearizing it. The direct solver would solve the linear systems generated by Newton's method. If your problem happens to be linear then Newton's method converges on the 1st iteration.
RE: Direct Solver vs. Iterative solver
Direct linear equation solver uses a sparse, Gauss elimination method.
Iterative solver uses the domain-decomposition based methods.
Best Regards,
Sartor