CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

buoyantBoussinesqPimpleFoam - false result in the corner

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By ErenC

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 20, 2019, 09:17
Default buoyantBoussinesqPimpleFoam - false result in the corner
  #1
Member
 
Grivalszki Péter
Join Date: Mar 2019
Location: Budapest, Hungary
Posts: 39
Rep Power: 7
GrivalszkiP is on a distinguished road
Hi,

I'm trying to simulate a simple heat transfer case (getting to know the software for further researches) with buoyantBoussinesqPimpleFoam. Unfortunately, I have some numeric error in the results (pictures attached).

Why is this weird field in the corner? How can I get rid of it?

Thank you in advance!

Griva
Attached Images
File Type: png 01.PNG (165.4 KB, 33 views)
File Type: png 02.PNG (161.5 KB, 27 views)
File Type: png 03.PNG (105.6 KB, 19 views)
File Type: png 04.PNG (182.6 KB, 28 views)
File Type: jpg 05.jpg (70.5 KB, 19 views)

Last edited by GrivalszkiP; September 21, 2019 at 06:19.
GrivalszkiP is offline   Reply With Quote

Old   September 23, 2019, 14:00
Default
  #2
Member
 
Eren
Join Date: Aug 2018
Posts: 86
Rep Power: 9
ErenC is on a distinguished road
As a novice myself, you need to share your files too. All I can assume is you have way too course mesh. I modified buoyantBoussinesqPimpleFoam and used many times and never had this kind of issue.
GrivalszkiP likes this.
ErenC is offline   Reply With Quote

Old   September 23, 2019, 15:46
Default
  #3
Member
 
Grivalszki Péter
Join Date: Mar 2019
Location: Budapest, Hungary
Posts: 39
Rep Power: 7
GrivalszkiP is on a distinguished road
Thank you, but I don't think so... Anyway, here are my files:

U
PHP Code:
dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0.1 0 0);

boundaryField
{
    
inlet1
    
{
        
type            fixedValue;
        
value           uniform (0.1 0 0);
    }

    
inlet2
    
{
        
type            fixedValue;
        
value           uniform (0.141 -0.141 0);
    }

    
outlet
    
{
        
type            zeroGradient;
    }
    
    
walls
    
{
        
type            noSlip;
    }

p
PHP Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    
inlet1
    
{
        
type            zeroGradient;
    }
    
    
inlet2
    
{
        
type            zeroGradient;
    }
    
    
outlet
    
{
        
type            fixedValue;
        
value            uniform 0;
    }

    
walls
    
{
        
type            zeroGradient;

    }

alphat
PHP Code:
dimensions      [0 2 -1 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    
inlet1
    
{
        
type            calculated;
        
value            uniform 0;
    }
    
    
inlet2
    
{
        
type            calculated;
        
value            uniform 0;
    }
    
    
outlet
    
{
        
type            calculated;
        
value            uniform 0;
    }
    
    
walls
    
{
        
type            alphatJayatillekeWallFunction;
        
Prt             0.85;
        
value           uniform 0;
    }


T
PHP Code:
dimensions      [0 0 0 1 0 0 0];

internalField   uniform 293.15;

boundaryField
{
    
inlet1
    
{
        
type            fixedValue;
        
value           uniform 293.15;
    }
    
    
inlet2
    
{
        
type            fixedValue;
        
value           uniform 303.15;
    }

    
outlet
    
{
        
type            zeroGradient;
    }

    
walls
    
{
        
type            zeroGradient;
    }

nut
PHP Code:
dimensions      [0 2 -1 0 0 0 0];

internalField   uniform 0;

boundaryField
{

    
inlet1
    
{
        
type            calculated;
        
value           uniform 0;
    }

    
inlet2
    
{
        
type            calculated;
        
value           uniform 0;
    }
    
    
outlet
    
{
        
type            calculated;
        
value           uniform 0;
    }

    
walls
    
{
        
type            nutkWallFunction;
        
value           uniform 0;
    }

k
PHP Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0.1;

boundaryField
{
    
inlet1
    
{
        
type            fixedValue;
        
value           $internalField;
    }
    
    
inlet2
    
{
        
type            fixedValue;
        
value           $internalField;
    }

    
outlet
    
{
        
type            inletOutlet;
        
inletValue      $internalField;
        
value           $internalField;
    }
    
    
walls
    
{
        
type            kqRWallFunction;
        
value           uniform 0.1;
    }

epsilon
PHP Code:
dimensions      [0 2 -3 0 0 0 0];

internalField   uniform 0.01;

boundaryField
{

    
inlet1
    
{
        
type            fixedValue;
        
value           uniform 0.01;
    }
    
    
inlet2
    
{
        
type            fixedValue;
        
value           uniform 0.01;
    }
    
    
outlet
    
{
        
type            inletOutlet;
        
inletValue      uniform 0.01;
        
value           uniform 0.01;
    }

    
walls
    
{
        
type            epsilonWallFunction;
        
value           uniform 0.01;
    }

p_rgh
PHP Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    
inlet1
    
{
        
type            zeroGradient;
    }

    
inlet2
    
{
        
type            zeroGradient;
    }

    
outlet
    
{
        
type            zeroGradient;
    }
    
    
walls
    
{
        
type            fixedFluxPressure;
    }

transportProperties
PHP Code:
transportModel Newtonian;

// Laminar viscosity
nu              1e-06;

// Thermal expansion coefficient
beta            2e-04;

// Reference temperature
TRef            293.15;

// Laminar Prandtl number
Pr              7.56;

// Turbulent Prandtl number
Prt             0.7
fvSchemes
PHP Code:
ddtSchemes
{
    default         
Euler;
}

gradSchemes
{
    default         
Gauss linear;
}

divSchemes
{
    default         
none;

    
div(phi,U)      Gauss upwind;
    
div(phi,T)      Gauss upwind;
    
div(phi,k)      Gauss upwind;
    
div(phi,epsilonGauss upwind;
    
div(phi,R)      Gauss upwind;
    
div(R)          Gauss linear;
    
div((nuEff*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         
Gauss linear uncorrected;
}

interpolationSchemes
{
    default         
linear;
}

snGradSchemes
{
    default         
uncorrected;

fvSolution
PHP Code:
solvers
{
    
p_rgh
    
{
        
solver          PCG;
        
preconditioner  DIC;
        
tolerance       1e-8;
        
relTol          0.01;
    }

    
p_rghFinal
    
{
        
$p_rgh;
        
relTol          0;
    }

    
"(U|T|k|epsilon|R)"
    
{
        
solver          PBiCGStab;
        
preconditioner  DILU;
        
tolerance       1e-6;
        
relTol          0.1;
    }

    
"(U|T|k|epsilon|R)Final"
    
{
        
$U;
        
relTol          0;
    }
}

PIMPLE
{
    
momentumPredictor no;
    
nOuterCorrectors 1;
    
nCorrectors     2;
    
nNonOrthogonalCorrectors 0;
    
pRefCell        0;
    
pRefValue       0;
}

relaxationFactors
{
    
equations
    
{
        
"(U|T|k|epsilon|R)" 1;
        
"(U|T|k|epsilon|R)Final" 1;
    }

controlDict
PHP Code:
application     buoyantBoussinesqPimpleFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         10;

deltaT          0.1;

writeControl    adjustableRunTime;

writeInterval   1;

purgeWrite      0;

writeFormat     ascii;

writePrecision  7;

writeCompression on;

timeFormat      general;

timePrecision   7;

runTimeModifiable yes;

adjustTimeStep  yes;

maxCo           1;
maxAlphaCo      1;
maxDeltaT       1
blockMeshDict
PHP Code:
scale   0.01;

vertices
(

    (-
67 -15 -15)    //0
    
(-34 -15 -15)    //1
    
(-15 -15)        //2
    
(83 -15 -15)    //3
    
    
(-67 -15 15)    //4
    
(-34 -15 15)    //5
    
(-15 15)        //6
    
(83 -15 15)        //7
    
    
(-67 15 -15)    //8
    
(-34 15 -15)    //9
    
(0 15 -15)        //10
    
(83 15 -15)        //11

    
(-67 15 15)        //12
    
(-34 15 15)        //13
    
(0 15 15)        //14
    
(83 15 15)        //15
    
    
(-67 45 -15)    //16
    
(-34 45 -15)    //17
    
    
(-67 45 15)        //18
    
(-34 45 15)        //19

);

blocks
(
    
hex (0 1 9 8 4 5 13 12) (15 15 15simpleGrading (1 1 1)        //A
    
hex (1 2 10 9 5 6 14 13) (15 15 15simpleGrading (1 1 1)        //B
    
hex (2 3 11 10 6 7 15 14) (30 15 15simpleGrading (1 1 1)        //C
    
hex (9 10 17 16 13 14 19 18) (15 15 15simpleGrading (1 1 1)    //D
    
);

edges
(
);

boundary
(
    
inlet1
    
{
        
type patch;
        
faces
        
(
            (
0 4 12 8)
        );
    }
    
inlet2
    
{
        
type patch;
        
faces
        
(
            (
16 18 19 17)
        );
    }
    
outlet
    
{
        
type patch;
        
faces
        
(
            (
11 15 7 3)

        );
    }
    
    
walls
    
{
        
type wall;
        
faces
        
(
            (
0 1 5 4)
            (
1 2 6 5)
            (
2 3 7 6)
            
            (
4 5 13 12)
            (
5 6 14 13)
            (
6 7 15 14)
            
            (
0 8 9 1)
            (
1 9 10 2)
            (
2 10 11 3)
            
            (
8 12 13 9)
            (
10 14 15 11)
            
            
            (
9 13 18 16)
            (
17 19 14 10)
            
            (
13 14 19 18)
            (
9 16 17 10)
        );
    }
);

mergePatchPairs
(
); 

Last edited by GrivalszkiP; September 24, 2019 at 09:33.
GrivalszkiP is offline   Reply With Quote

Old   September 28, 2019, 09:39
Default
  #4
Member
 
Kirk Jarvis
Join Date: Mar 2009
Posts: 31
Rep Power: 17
kcjarvis56 is on a distinguished road
The boundary conditions for the outlet appears to be a problem.

for p_rhg try something like:

outlet
{

type fixedValue;
value $internalField;
}

for U try something like:

outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
value uniform (0 0 0);
}

for T try something like:
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}

You should get good results with the above recommendations.
kcjarvis56 is offline   Reply With Quote

Old   September 30, 2019, 06:00
Default
  #5
Member
 
Grivalszki Péter
Join Date: Mar 2019
Location: Budapest, Hungary
Posts: 39
Rep Power: 7
GrivalszkiP is on a distinguished road
Thank you, it's working!!
GrivalszkiP is offline   Reply With Quote

Reply

Tags
boussinesq, buoyant, corner, error, heat


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[snappyHexMesh] How to generate Layers at the corner amin.nbkh OpenFOAM Meshing & Mesh Conversion 3 June 22, 2023 11:46
[snappyHexMesh] Problem with prism layers at corner edges Fauster OpenFOAM Meshing & Mesh Conversion 1 September 30, 2016 01:25
Corner flows akivarma Main CFD Forum 0 February 15, 2016 04:00
Sharp corner with O-grid non-convergence dlinton OpenFOAM Running, Solving & CFD 16 October 7, 2015 06:54
[GAMBIT] 3D Wedge Corner Shape? cjz ANSYS Meshing & Geometry 1 October 29, 2010 04:03


All times are GMT -4. The time now is 07:09.