CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   Reaction solvers (

megacrout July 6, 2011 05:17

Reaction solvers

IŽd like to the differences between all possible solvers for reacting systems in OpenFOAM (under "Combustion" either in User Guide 1.7.1 or 2.0.0):
chemFoam, coldEngineFoam, dieselEngineFoam, dieselFoam, engineFoam, fireFoam, PDRFoam, reactingFoam, rhoReactingFoam, XiFoam.

There are only few information in the User Guide. It only roughly tells what kind of systems can be solved with each solver. There is however absolutely no explanation about advantages and disadvantages of each solver with respect to one another.
On websites and forums is not much more to be found (correct me if I am wrong, I sincerely hope I am!).

I know that reactingFoam solves for the precise reaction schemes and uses specific (small) time steps. It thus gives precise concentration profiles but also takes quite a lot of time to solve for the chemistry.
XiFoam is much faster because/but not as precise.

Basically, I did not find any other information. Most users choose one solver or the other without justifying their choice, even though most time several solvers can do the job.

Can you give me more properties of each one of those solvers: for example how fast they are, what kind of systems they are particularly good at solving (laminar/turbulent, single- or multi-phase, ...), accuracy of the different computed parameters, aso... ?
I could look for what input each of these solvers requires and what utilities/libraries it uses but if you can give me those information too, that would spare me a lot of time and most likely help several other Foamers pick up the right solver.

Thanks for your help.


mturcios777 July 6, 2011 13:31

The question isn't as simple as you think. You can't fully compare two solvers without taking into account what discretization scheme and matrix solvers you are using. However, there is a summary of what types of problems each solver is suited for from the User Guide:

megacrout July 7, 2011 06:07

Hi Marco,

Thanks for your answer. However, as I said in my first post, I did read this part of the User Guide and did not find very useful (in general and in my particular case, as I try to solve a case that does not correspond exactly to any of the described cases, or - put the other way around - that several of the "Combustion" solvers could probably solve).

I actually did not know that fvSchemes is so important. Can you tell more about it please? I.e. what do you mean exactly with

Originally Posted by mturcios777 (Post 314976)
You can't fully compare two solvers without taking into account what discretization scheme and matrix solvers you are using.

Can you give me an example?

And again, can someone tell me some of the differences between the "Combustion" solvers?

mturcios777 July 7, 2011 14:53

If it doesn't exactly correspond, then it may be time to write your own solver.

As far as the fvSchemes and fvSolution dictionaries, have a look at the following pages in the user guide:

The solver itself usually specifies which equations to solve and in what order, as well as some top level decisions (full chemistry, turbulence, moving mesh, equation coupling). The schemes and solutions dictionaries then go further and specify how to calculate the terms in the equations and actually solve the equations, which depending on your problem can have a huge impact on your solution.

francescomarra July 8, 2011 06:43

Dear Tibo,

simulation of reacting flows is not a trivial task. Depending upon space and time scales, the type of mixture (premixed or not), the flow regime (laminar or turbulent) and domain configuration (fixed or moving boundaries) and several other parameters, you need to formulate the problem in a deeply different manner to be able to solve it. In most cases, as it happens in several combustion systems, it is better to fully forget about the chemistry and use models that describe the reaction rate as a function of transport mechanisms.

This is the reason for the great number of solvers available in OpenFOAM to apparently solve the same problem. Lack of a complete and detailed documentation is certainly one of the most drawback of OpenFOAM. However I can suggest you to have a look to the tutorials to see which kind of problem are solved by a specific solver.

Maybe could be more effective to describe the problem you need to solve and ask the community to suggest the proper solver.

Best regards,


megacrout July 8, 2011 10:54

Thanks Marco, I knew most of it but I really like the way you put it. Very explanatory.

And thanks a lot Franco, even though I now have the feeling I wonŽt be able to understand all the solvers in the time frame of my project, I also think I better get how to pick the right one.
Following your advice, I started a new, more specific thread in order to know what solver(s) I should use. IŽd really like to have your opinion about it. Could you have a look at it please?

Thanks in advance.


All times are GMT -4. The time now is 17:24.