Here we go for a detailed explanation of my case, what I have, what I want :)
:::::: Geometry : (2D for now but final will be 3D) ::::::
http://yfrog.com/09geometryp
Very Simple : inlet, outlet, fixedWalls (2D)
I've defined my 6 faces as "rotor" since I want all my geometry to rotate
:::::: Solver, boundary conditions, ... ::::::::
solver : MRFSimpleFoam
turbulence model : LaunderSharmaKE
RANS
Boundary conditions :
k
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.2646;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.2646;
}
outlet
{
type zeroGradient;
}
fixedWalls
{
type fixedValue;
value uniform 1e-06;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
epsilon
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 4.26;
boundaryField
{
inlet
{
type fixedValue;
value uniform 4.26;
}
outlet
{
type zeroGradient;
}
fixedWalls
{
type fixedValue;
value uniform 1e-06;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
nut
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
fixedWalls
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
p
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
fixedWalls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
U
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
fixedWalls
{
type fixedValue;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
}
inlet
{
type fixedValue;
value nonuniform List<vector>
50
(
(0 0.2906 0)
(0 0.9366 0)
(0 1.7184 0)
(0 2.5785 0)
(0 3.3476 0)
(0 3.9615 0)
(0 4.4557 0)
(0 4.8674 0)
(0 5.2249 0)
(0 5.5473 0)
(0 5.8476 0)
(0 6.1343 0)
(0 6.4138 0)
(0 6.6906 0)
(0 6.9686 0)
(0 7.2508 0)
(0 7.5400 0)
(0 7.8379 0)
(0 8.1440 0)
(0 8.4518 0)
(0 8.7389 0)
(0 8.9583 0)
(0 9.0807 0)
(0 9.1344 0)
(0 9.1541 0)
(0 9.1541 0)
(0 9.1344 0)
(0 9.0807 0)
(0 8.9583 0)
(0 8.7389 0)
(0 8.4518 0)
(0 8.1440 0)
(0 7.8379 0)
(0 7.5400 0)
(0 7.2508 0)
(0 6.9686 0)
(0 6.6906 0)
(0 6.4138 0)
(0 6.1343 0)
(0 5.8476 0)
(0 5.5473 0)
(0 5.2249 0)
(0 4.8674 0)
(0 4.4557 0)
(0 3.9615 0)
(0 3.3476 0)
(0 2.5785 0)
(0 1.7184 0)
(0 0.9366 0)
(0 0.2906 0)
);
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
As you can see, I start with a profile. In fact these BC are in the same as in my stationnary case since I want everything to be the same EXCEPT that it's rotating with a specified velocity.
Now about MRF settings :
MRFZones
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object MRFZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
1
(
rotor
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches ();
origin origin [0 1 0 0 0 0 0] (0 -0.3 0.0375);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 10;
}
)
// ************************************************************************* //
origin is like this because : I want axis of rotation to @center on Z and X and below my duct (y position)
Axis of rotation is Z
I set low speed to be "easy" on beginning.
I've done nothing else. Mesh was generated with gambit with, like I said, fluid zone set as "rotor" and exported via fluentMeshToFoam -writeSets -writeZones.
Now when I make MRFSimpleFoam, it's working but solutions are very weird. See velocity field and pressure field :
pressure :
http://yfrog.com/14pfieldp
velocity :
http://yfrog.com/6luyfieldp
vector field :
http://yfrog.com/j1vectorrp
What do you think? To me solution is weird ... but vector field seems to take rotation into account... But inlet BC seems not since vecor field near the inlet is shifted to the left since the beginning of the duct...
Could you please help me? Where am I wrong?
Thank you for the help
Convergence for Ux,Uy,p is OK (10^-6) but k and epsilon say @10^-3