CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   Hybrid DSMC-NS solver in OpenFOAM (

anon_a September 20, 2011 05:16

Hybrid DSMC-NS solver in OpenFOAM

In the next months, I will attempt to write a hybrid DSMC-NS solver in OpenFOAM.
The problem at hand is a time-dependent expansion of a gas from atmospheric conditions to vacuum. I don't see any way to treat all Knudsen regimes (10^-6 up to 10^4) other than a hybrid code.

Thus, I have the following questions:
i) First of all, is that even possible? :-D
ii) Does anyone foresee any possible difficulties, something to be extra careful about?
iii) Which NS solver would be more suitable for the simulation of transonic and supersonic flows?
iv) Is there another modeling possibility?


ehsan September 23, 2011 05:06


Thanks for your message.

Yes. as your Kn changes a wide range, it is rational. First, I suggest you to study all works done in the filed of hybrid simulations to get ideas. You could consult my papers simulating micro-nozzle to see how I used the NS solver named "rhoCentralFoam" (in compressible family of solvers) to perform the simulation of nozzle flow. This solver should be merged with dsmcFoam. However, you need to write some functions to

1- calculate KnGLL to divide the continuum and rarefied regions
2- To divide the whole region according to KnGLL and to create meshes in both regions separately

The difficulty will arise during your progress, you should fully understand OPENFoam and dsmcFoam, it needs a good efforts and interests.

Also this paper works on micro-nozzle in a hybrid way:


PS: You could email me for any inquiry and I will reply once I am not very busy.

anon_a September 23, 2011 06:37

Thank you very much for the advice!
I will study the papers and the codes you have provided.

Best regards,

e.ahmadiyan May 24, 2012 02:31

Hi dear anon_a
I need to a solver as you are discussed above. Is there any solver in openFoam at now? If no could you give me your solver ?
Thanks a lot
best regards

anon_a May 24, 2012 03:41

Hello there

Well, there is no official solver for that in OpenFOAM and I am afraid I can not give you my code since it belongs to the institution I am working on. But I can give you some pointers.

The most important question is if your problem is time-dependent or steady state. In the first case, you will have significant programming difficulties and will need a great computational effort. Also, what is your reference Knudsen range?

e.ahmadiyan May 24, 2012 04:05

Thanks dear anon_a
I am beginner and I have a few time about 3 month.To your idea how many time I will need for create this solver?
Best regards

anon_a May 24, 2012 04:10

You have not answered my questions and therefore I can not estimate exactly.
You must also specify your C++ level.

But I would say that for a steady state solver and for someone with a reasonable understanding of C++, a hybrid solver would be possible in 3 months.

All times are GMT -4. The time now is 01:00.