mosquera |
June 28, 2013 10:49 |
Realisable K-Epsilon Model in a Channel
I've been struggling with modelling a flow through a channel. I have it set up as a two dimensional flow.
My objective is to model the flow using a realisable k-epsilon model. I've mapped experimental values at the inlet. I'm using simpleFoam for this. Unfortunately, I can't get the model to converge.
Within my model, SymmWall is the boundary at the top "wall". The boundary layer has been tripped in the flow and so I am using a symmetric boundary condition (I am not sure, but I have been assured by my advisor this is the correct method.
Inlet and Outlet refer to the inlet and outlet.
Wall refers to the bottom wall across which the flow is moving.
Anyway, on to my initial boundary conditions:
U
Code:
dimensions [0 1 -1 0 0 0 0];
internalField uniform (1 0 0);
boundaryField
{
SymmWall
{
type symmetryPlane;
}
Wall
{
type fixedValue;
value uniform (0 0 0);
}
Outlet
{
type zeroGradient;
}
Inlet
{
type timeVaryingMappedFixedValue;
setAverage 0;
perturb 1e-05;
offset (0 0 0);
value uniform (0 0 0);
}
frontAndBackPlanes
{
type empty;
}
}
k
Code:
dimensions [0 2 -2 0 0 0 0];
internalField uniform 1.5e-09;
boundaryField
{
Wall
{
type kLowReWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 8.1323e-04;
}
Outlet
{
type zeroGradient;
}
Inlet
{
type timeVaryingMappedFixedValue;
setAverage 0;
perturb 0;
offset 0;
value uniform 8.1323e-04;
}
frontAndBackPlanes
{
type empty;
}
SymmWall
{
type symmetryPlane;
}
}
epsilon
Code:
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.0008123;
boundaryField
{
Wall
{
type epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.0008123;
}
Outlet
{
type zeroGradient;
}
Inlet
{
type timeVaryingMappedFixedValue;
setAverage 0;
perturb 0;
offset 0;
value uniform 0.0008132;
}
SymmWall
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}
Also, here is my current fvschemes file. The goal is to have the solution be of second order.
Code:
ddtSchemes
{
default steadyState;
}
gradSchemes
{
default Gauss linear;
k Gauss linear;
epsilon Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss linearUpwindV grad(U);
div(phi,k) Gauss linearUpwind grad(k);
div(phi,epsilon) Gauss linearUpwind grad(epsilon);
div(phi,T) Gauss linear grad(T);
div((nuEff*dev(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(nuEff,U) Gauss linear corrected;
laplacian((1|A(U)),p) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
}
interpolationSchemes
{
default linear;
interpolate(U) linear;
interpolate(T) linear;
interpolate(epsilon) linear;
// interpolate(omega) limitedLinear 0 1000000;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
checkMesh yields that my mesh is OK. The mesh was imported from Gambit.
I could additionally attach the mapped values if anyone feels that neccesary. Are there any values I should be on the lookout for there? I'm already positive there's no zeros anywhere in those files.
Again, any assistance would be appreciated. I've been working at this for a couple of days now.
Thanks,
Matt
|