CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   Deep modification of turbulence model (

Phicau April 4, 2012 12:49

Deep modification of turbulence model
Hi all,

I am currently working in porous media flow with free surface using a customized interFoam (OF2.1.0). So far the model has proven to be stable, but it runs for laminar turbulence model. Now I have to modify kEpsilon to add the closure terms needed. In order to do so I have to make kEpsilon to accept another field (porosity) at the time of creation, but that is kind of a secondary question for now.

As a first step I am trying to eliminate the unwanted functions e.g. R(), as I will only be using the model for myInterFoam. I changed the name of the model to kEpsilonPor and it compiles flawlessly. Then I removed all the references to R() in kEpsilonPor.H and kEpsilonPor.C and it did not compile.

To proceed I changed "files" and "options" from Make folder:


LIB = $(FOAM_USER_LIBBIN)/libPorousRASModels


    -I$(LIB_SRC)/finiteVolume/lnInclude \

    -lincompressibleTurbulenceModel \
    -lfiniteVolume \

and copied several files to the folder, in order to modify them: RASModel.C, RASModel.H, transportModel.C, transportModel.H, turbulenceModel.C, turbulenceModel.H, backwardsCompatibilityWallFunctions.C, backwardsCompatibilityWallFunctions.H and backwardsCompatibilityWallFunctionsTemplates.C.

Everything compiles well, getting rid of the mentioned references to R() in RASModel.C, RASModel.H and turbulenceModel.H.

The problem is that when I run any case using the new turbulence model I keep getting:


    Cmu            0.09;
    C1              1.44;
    C2              1.92;
    sigmaEps        1.3;

time step after time step, not only the first one, as expected.

Any hints on what could be happening and how to fix it?



Phicau April 9, 2012 05:57

Kind of solved:

Peter Müller January 29, 2013 11:18

Hi everybody

In the createFields of my solver I create a pointer on an RASModel named turbulence (same as for example in the createFields of simpleFoam). My problem is that I would like to access the name of the turbulence model. I'm using OF2.1.x. In other versions this was possible with turbulence->typeModel() but this is no more available.
Do you have any suggestions?

Thanks in advance

All times are GMT -4. The time now is 13:05.