CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Nonlinear turbulence model NonlinearShih (https://www.cfd-online.com/Forums/openfoam/77346-nonlinear-turbulence-model-nonlinearshih.html)

Thomas Baumann June 21, 2010 06:32

Nonlinear turbulence model NonlinearShih
 
Hi all,

I've simulated a fully developed channel flow with the nonlinear shih model. The residuals are quite good (R<10e-7). But looking at the pressure it isn't constant over the channel-hight and looking at the veloicty in y-direction, they are nonzero. I have simulated this channel flow with a low-Reynolds-turbulence model and showed the different results in the following plot.
http://www-isl.mach.uni-karlsruhe.de...s_und_shih.png
I have seen results that look nearly the same with the LRR model... Maybe it's because of the pressure near the walls. For BC I'm using zeroGradient for walls and the outlet, for inlet a fixed Value.
I'm using OpenFOAM 1.6 with directMapped bc's for U,k,epsilon at the inlet. The solver is simpleFoam. If someone has any hind please let me know.

Best regards,

Thomas

Thomas Baumann July 15, 2010 03:13

Hi all,

I have simulated a fully developed channel flow using the solver boundaryFoam. Here I have no problems and I get good results using for turbulence modelling NonlinearKEShih or the LienCubicKELowRe.

But starting a simulation with simpleFoam or pisoFoam I get bad results as described above.

Has anybody solved any flow with walls without this problem using simpleFoam or any solver regarding convection?

Thanks a lot,
Thomas

Thomas Baumann July 23, 2010 10:52

Hi all,

I'm nut sure, but could it be the problem of the simple or the piso-algorithm?

I have seen in buoyantboussinesqSimpleFoam that if an additional term is added in the U-equation (here the buoancy-term), that
this term has to be added as flux in phi, too.

In the Navier-Stokes-equations I get here the additional buoancy-term:
g*rho_delta in the U-equation.

And the flux phi is corrected with this term, which is needed for the p-equation:
surfaceScalarField ghf("ghf", g & mesh.Cf());
surfaceScalarField buoyancyPhi = rUAf *ghf*fvc::snGrad(rhok)*mesh.magSf();

phi = phi - buoyancyPhi;

...

Normal turbulence models like the k-epsilon are modelling the turbulence isotropic and because of that, the Reynolds-stresses have not to be regarded in the poisson-equation of the pressure, the same as the viscous stresses. You get the poisson-equation by
div(Navier-Stokes-equations). But in nonlinear turbulence-models and algebraic stress models they are nonzero.
So I have to split my turbulence in a isotropic and the nonisotropic part. And I have to calculate a phi_nonisotropic and have to add it to the phi. I'm not sure if that's right.
Can anybody help me?

Thank you very much,

Thomas



Regards Thomas

Thomas Baumann August 5, 2010 05:17

Hi all,

I have modified the mySimpleFoam-solver to calculate the residuals of continuity-equation about div(U) and the orginal one div(phi), too.

The residuals of div(phi) are about 10^-09,
but the residuals of div(U) are about 0.7

If I'm simulating using an isotropic turbulence-model for example the LaunderSharma I get
div(phi) are about 10^-09,
the residuals of div(U) are about 10^-04. So they are much better here.

The problem of the simple and the piso-algorithmus is, that they are calculating the the pressure-equation using phi.

fvScalarMatrix pEqn
(
fvm::laplacian(1.0/AU, p) == fvc::div(phi)
);

and correct the fluxes afterwards
if (nonOrth == nNonOrthCorr)
{
phi -= pEqn.flux();
}


I have seen in the posting
http://www.cfd-online.com/Forums/ope...ody-force.html
that you can built an additional force to the NS and pressure-equation.
So could it be possible to solve the divdevReff of the turbulence-model isotropic and add the additional explicit nonlinear-part like a force?

Regards Thomas

Moelfus August 30, 2010 09:48

Hi Thomas,

maybe there is something wrong with your BC's. I used the anisotropic model and it works perfectly for my needs. I used the following BC's:

U:

INLET
{
type fixedValue;
value uniform (.619552 0 0);
}

WALL
{
type fixedValue;
value uniform (0 0 0);
}

OUTLET
{
type zeroGradient;
}


p:

INLET
{
type zeroGradient;
}
WALL
{
type zeroGradient;
}
OUTLET
{
type fixedValue;
value uniform 0;
}

epsilon:

INLET
{
type fixedValue;
value uniform .0003532;
}

WALL
{
type zeroGradient;
}
OUTLET
{
type zeroGradient;
}

k:

INLET
{
type fixedValue;
value uniform .000605;
}

WALL
{
type zeroGradient;
}
OUTLET
{
type zeroGradient;
}

nut:

INLET
{
type calculated;
value uniform 0;
}

WALL
{
type nutWallFunction;
value uniform 0;
}
OUTLET
{
type calculated;
value uniform 0;
}

nuTilda:
INLET
{
type fixedValue;
value uniform 0;
}
WALL
{
type zeroGradient;
}
OUTLET
{
type zeroGradient;
}

Is your mesh 2d or 3d? Are the dimensions/scaling of the domain right? Are the results mesh independent? What is the Reynoldsnumber? ... This would be some questions I'd usually ask.

Best regards,

Olli

Outbound November 29, 2016 12:00

Greetings,

I'm trying to use the Non-linear Shih k-e model in porousSimpleFoam.

I'm missing something in the divScheme part of the fvSchemes file but I don't know what I have to add (all I know is that it has something to do with the non-linear term).

The error message is as follows:

Quote:

--> FOAM FATAL IO ERROR:
keyword div(nonlinearStress) is undefined in dictionary "case_folder/system/fvSchemes.divSchemes"

file: /case_folder/system/fvSchemes.divSchemes from line 30 to line 35.

From function dictionary::lookupEntry(const word&, bool, bool) const
in file db/dictionary/dictionary.C at line 402.
I was unable to find any tutorial which makes use of this model.

Any help would be appreciated.

Outbound November 29, 2016 13:09

OK, so i just added the following line to the fvSchemes.divSchemes:

Quote:

div(nonlinearStress) Gauss upwind;

However, I'm still getting the following error message on the first time step:

Quote:

--> FOAM FATAL IO ERROR:
attempt to read beyond EOF

file: /case_folder/system/fvSchemes.divSchemes.div(nonlinearStress) at line 36.

From function ITstream::read(token&)
in file db/IOstreams/Tstreams/ITstream.C at line 83.

FOAM exiting
Given that I'm trying to use a non-linear turbulence model do I also have to adjust the schemes for the other parameters?

Outbound November 29, 2016 15:25

OK, so I tried the following and so far it seems to be working (although beats me if it actually is the proper scheme):

Quote:

div(nonlinearStress) Gauss cubic;
Other Schemes must be contingent on parameters not specified by the case I'm running (which FYI is the explicit duct case for porousSimpleFoam).


All times are GMT -4. The time now is 21:42.