CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Types of solvers (https://www.cfd-online.com/Forums/main/9369-types-solvers.html)

CFD-Junior June 22, 2005 03:04

Types of solvers
 
Hi I wish to find out about the different types of solvers that can be implemented in a CFD code. For example: CFX uses a Algebraic Multigrid solver Fluent uses either a segregated solver or a coupled implicit/explicit solver. I do not know what the difference between the two are?

Thanks

Ahmed June 22, 2005 05:09

Re: Types of solvers
 
A coupled solver solves for the Energy Equation at the same time it is solving the Momentum Equation The segregated solver solves the Energy equation after solving the momentum equation. If that is too short, ok, think of a time marching scheme and a SIMPLE type scheme

CFD-junior June 22, 2005 11:17

Re: Types of solvers
 
So what's an algebraic multigrid solver?

What type of solver would provide quick answers (though they must be right)

what are structured solvers and unstructured solvers.

are multigrid solvers and structured solvers interlinked by some chance?

noName June 22, 2005 11:48

Re: Types of solvers
 
>> So what's an algebraic multigrid solver?

Algebraic Multigrid only refers to the numerical method used to invert a linear system of equations, such as one arising when solving a Poisson equation for the pressure. It does not refer to a specific strategy to solve the equations of Fluid Dynamics, such as SIMPLE. Other types of numerical methods that can be used are Gauss-Siedel, Successive over/under relaxation, conjugate gradient, etc.

>> What type of solver would provide quick answers (though they must be right)

In the limit, all convergent solvers must give you the same result. Some iterative techniques and their corresponding numerical methods are faster than some others, but it is difficult to generalize this to all problems of Fluid Mechanics. Most of the CFD community would agree that Multigrid Methods are fast in solving the Laplace / Poisson equation.

>> what are structured solvers and unstructured solvers.

I'm not sure of my answer, so please double check. I think: Structured / unstructured solvers refer to the ability of the solver to handle structured / unstructred grids.

>> are multigrid solvers and structured solvers interlinked by some chance?

The Multigrid algorithm can easily (and has) been adapted to problems on unstructured grids. I'm not sure of any interlinking.

zxaar June 22, 2005 22:29

Re: Types of solvers
 
multigrids are more a strategy than a solver.

first of all the basic question is what do we solve when we talk about solvers.

what we solve is set of linear equations we get after descretisation. that is for each variable i get the equation like this

sum(A * phi) = source.

A is coefficient and phi is variable, this variable could be u, v,w, p, kinetic energy, its dissipation etc.

so after descretisation we get a set of such linear equations that we want to solve, for this purpose we need solver.

so the solvers could be classified in three categories

1. segregated 2. coupled 3. krylov subspace solvers

in segregated solvers, first we solve for u then for v then for w then for pressure (correction), then other things , in a segregated way , that is one by one.

in coupled solvers, we make a set of such equations that involves (u,v,w,p) and we solve them together or coupled, hence the name coupled solvers.

krylov subspace solvers like bicongigate gradient, GMRES etc. (i won't be able to write them in detail), for this you can search for some numerical method book.

now what is multigrid, and why do we need it.

the main reason we need multigrid is that the above mentioned solvers they can remove the local errors very fast but they are very slow to remove global errors (that is the errors those you find on larger grid scales). so the effect of this is that the solver stalls or it stops to remove errors (since all the local erros is gone and now the only errors are global erros, for which this is inefficient).

to overcome this problem, what we do is to solve the equations on more coarser level (so when you go to more coarser levels, the global errors for finest level are now local errors), so we then again solve them with similar solvers thus reducing the errors further. and after we have the solution on coarser level , we can transfer the correction back to finest level.

so a multigrid cyle would be : solve at finest level for some n1 iterations move to coaarser grid level solve here again transfer back the correction to finer level solve again at finer level

repeat this till you get converged solution.

, now at finest level or at anylevel you are free to use any solver u want: it could be gauss seidel, it could be Bicongigate stablised etc.

now about structured and unstructured grids, usually gauss seidel works on both of them and so does krylov solvers. but on structured grids we have Stone's strongly implicit procedure that we do not have on unstructured grids.

esha April 14, 2019 10:51

I come to know as I am reading about CFD different solvers are used to solve physical models under certain conditions. But I want to know as my teacher asked me that what is common in between all of these? what is the main purpose of a CFD solver?

fresty April 14, 2019 17:25

My answer may be too general but judging by your teacher's question it seems like there's an effort to provoke fundamental insight. I would welcome any corrections to my humble understanding.
On a very broad scale, the fundamental commonality between (and purpose of) all CFD solvers is to solve the mathematical relations (system of partial differential equations) encapsulating chosen/ all physical characteristics of fluid motion; mapped on spatial (grid) and temporal dimensions, while minimizing the error (maximizing accuracy) as well as computational expense. As maximization of accuracy and minimization of computational expense are known to be in a zero-sum contest. Different CFD solvers differ mainly in choosing available mathematical algorithms to efficiently solve the system of equations and in performing justified trade offs between error and computational expense. The error is defined by the difference between an ideal continuous function on infinitely smooth space and time, and, its closest approximation performed on discrete set of data (i.e. pre-defined intervals of space and time).


All times are GMT -4. The time now is 03:23.