CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (http://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   Buggy twoPhaseEulerFoam turbulence Model (http://www.cfd-online.com/Forums/openfoam-pre-processing/126994-buggy-twophaseeulerfoam-turbulence-model.html)

Kenna December 1, 2013 05:52

Buggy twoPhaseEulerFoam turbulence Model
 
Hello everyone,

I am working on a multiphase Simulation with twoPhaseEulerFoam/compressibleTwoPhaseEulerFoam And have a problem with a buggy turbulence model. My case works fine in buoyantPimpleFoam, but when I try to use wall functions (i.e. epsilonWallFunction) for Epsilon, I always get this message:


Code:

--> FOAM FATAL ERROR:

    request for turbulenceModel turbulenceModel from objectRegistry region0 failed
    available objects of type turbulenceModel are

0
(
)


    From function objectRegistry::lookupObject<Type>(const word&) const
    in file /home/andreas/OpenFOAM/OpenFOAM-2.2.0/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 136.

FOAM aborting


When I replace the boundary conditions with "Dummy" to get shown available BC's, I see a lot possibilities. But only the simple ones like zeroGradient work.

It gets even more curious. When I calculate the Epsilon-value with the buoyantPimpleFoam-Case and copy them into the twoPhaseEulerFoam-Case with a 'fixedValue' BC, nothing changes at all.

In the solver/twoPhaseEulerFoam dictionary exist even special files called 'kEpsilon.H' or 'wallFunctions.H'.

But my case still doesn't work properly.

I have to add, I am calculating with kineticEnergy off. I did it because I try to make the dispersed Phase act more like a simple gas. Could this be part of the problem?

I am using OF220.

Thanks you for your attention or help.

Sincerly,
Andreas

wyldckat December 1, 2013 10:03

Greetings Andreas,

I had a quick look at the tutorials for twoPhaseEulerFoam and they do not seem to use the conventional turbulence models. In addition, I checked to which libraries the solver links to, by running this command:
Code:

ldd $(which twoPhaseEulerFoam)
and it indicates that it does not link to any of the turbulence related libraries.
This explains why you're seeing that error message.

Problem is: why don't even the tutorials for this solver use the specific turbulence models, but still use the k-epsilon fields?
Specially, if we look at the output from this command:
Code:

ldd $(which interFoam)
it does indicate that it links to the libraries needed for these models, namely:
Code:

libincompressibleTurbulenceModel.so
libcompressibleTurbulenceModel.so
libincompressibleRASModels.so

Now, the hackish way to add these libraries to the application is to edit the file "system/controlDict" and add this piece of code:
Code:

libs (
libincompressibleTurbulenceModel.so
libcompressibleTurbulenceModel.so
libincompressibleRASModels.so
);

This will tell the solver to load these libraries, before it starts to try to solve anything ;).


But the thing is... why is twoPhaseEulerFoam able to compute the k-epsilon fields without these libraries in the first place? So lets try looking at the source code: https://github.com/OpenFOAM/OpenFOAM...PhaseEulerFoam
:eek: This feels like really old OpenFOAM code... the turbulence model is coded into the solver directly (have a look at the file "kEpsilon.H").

OK, from what I can figure out: this solver is too specifically coded for certain simulation scenarios. You cannot use the generic case preparation that most of the other solvers can handle, because this solver seems to be very restricted to what it was developed to simulate.

I had a quick look at the solver multiphaseEulerFoam and is relies on LES for the turbulence modelling, instead of having it coded directly: https://github.com/OpenFOAM/OpenFOAM...phaseEulerFoam
Of course the issue now is: which one is more suitable to your simulation?

Best regards,
Bruno

Kenna December 2, 2013 08:43

I give up and start something else
 
Thanks wyldckat for your advice. I inserted those libraries in the controlDict.

Code:

libs ( libincompressibleTurbulenceModel.so libcompressibleTurbulenceModel.so libincompressibleRASModels.so );
But got the same error.

I tried a second time bye changing a version of the solver itself bye looking on the buoyantPimpleFoam Solver and inserted the missing library entries in the main file.

I inserted in the EEqn.H the missing turbulence part
Code:

      - fvm::laplacian(turbulence->alphaEff(), he)
and the same for the velocity UEqn.H
Code:

      + turbulence->divDevRhoReff(U)
and adjusted a phi into it, to make it fit with the rest of the code.

Both were missing in the compressibleTwoPhaseEulerFoam

But after adding them... i gain still got the same error message.
So I can give up now peacefully in trying further implementing the turbulence in this solver. I will start in creating an own solver.
http://www.cfd-online.com/Forums/ope...imulation.html


All times are GMT -4. The time now is 15:14.