CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Density-based, fully-coupled, compressible solver in OpenFOAM? (http://www.cfd-online.com/Forums/openfoam-solving/96483-density-based-fully-coupled-compressible-solver-openfoam.html)

francesco_capuano January 24, 2012 09:42

Density-based, fully-coupled, compressible solver in OpenFOAM?
 
Dear all,

I would like to discuss and to share opinions with all you Foamers out there about the lack of a density-based, fully coupled, compressible solver in OpenFOAM.

I've been studying OpenFOAM for about a month and, as far as I have understood, the only density-based solver (by "density-based" I mean that density is calculated from continuity equation) is rhoCentralFoam, which however solves the governing equations separately one from each other (in a so-called segregated way). All the other solvers are of pressure-based type. First of all: is this true?

Second: how hard do you think it would be to create a new density-based solver, which solves the governing equations simultaneously (i.e. a coupled solver), provided with a robust upwind-like scheme such as Roe's or AUSM?

Third: I have found, searching the Forum, that few years ago two Italian students developed a solver called aeroFoam

http://www.cfd-online.com/Forums/ope...-aerofoam.html

which apparently satisfies all the features that I mentioned. However, the solver has not been officially included into one of the OpenFOAM releases and the project has been apparently abandoned. Natural question: why? :D

Hope the discussion will be constructive,
Francesco

cnsidero January 24, 2012 10:05

Quote:

Originally Posted by francesco_capuano (Post 340860)
Dear all,
Second: how hard do you think it would be to create a new density-based solver, which solves the governing equations simultaneously (i.e. a coupled solver), provided with a robust upwind-like scheme such as Roe's or AUSM?
Francesco

The answer is very hard. To be able to solve equations simultaneously, you need to store the variables you're solving for in a "unified" block coupled matrix, ie. each element is a matrix itself. OpenFOAM matrix classes are all for scalar quantities, hence why it solves even the compressible form in a segregated manner.

In addition, the rest of OpenFOAM would be need to made of aware of these new classes, e.g. the linear solvers.

There has been some ongoing development in the -extend branch of OpenFOAM to add block coupled matrix classes. I don't believe a coupled N-S stokes solver has been built yet with it but I have seen work that uses it to couple other quantities. Dig around the last couple of workshops for material.

So as you can imagine, the work is significant and non-trivial.

francesco_capuano January 24, 2012 10:20

Dear Chris,

thanks for your answer. I realize the strong effort needed to extend OpenFOAM towards a coupled strategy. For those interested, the subject is studied in more detail in the following slides:

http://www.openfoamworkshop.org/6th_...ord_slides.pdf

On the other hand, I think that implementing an upwind-like flux scheme in rhoCentralFoam, for instance, should be much easier. Any experience/opinion?

cnsidero January 24, 2012 10:55

One other effort of note is some density-based (segregated) solvers which include some more modern convective schemes, e.g. AUSM, etc, for turbomachinery in the extend repo:

http://openfoam-extend.git.sourcefor...urbo;a=summary

I have seen very little documentation about it's use (presentatations or otherwise) but it's there for you to explore.

francesco_capuano January 24, 2012 14:32

Very interesting, thank you very much!


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