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

Low-Re Boundary Conditions for K-omega SST (aerodynamics)

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 1 Post By openfoamer93
  • 1 Post By steddy

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 29, 2020, 11:30
Default Low-Re Boundary Conditions for K-omega SST (aerodynamics)
  #1
New Member
 
Andrea Stedile
Join Date: Feb 2020
Posts: 11
Rep Power: 6
steddy is on a distinguished road
Hi all,
Noob here, having a simple question.
Let's take the Motorbike tutorial, that is included in OpenFOAM:
Code:
/opt/openfoam7/tutorials/incompressible/simpleFoam/motorBike
How would you modify the files in the '0' folder in order to fully resolve the boundary layer of (both) the motorbike and the floor (Low Reynolds, y+ <= 1)?
I have already seen this post, but it is quite old and I am not sure if it is still valid: k-omega SST and wall functions in OpenFOAM-1.5-dev
I will include for your convenience the code of the k, nut, omega, p, U.orig files.

k
Code:
#include        "include/initialConditions"

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform $turbulentKE;

boundaryField
{
    //- Set patchGroups for constraint patches
    #includeEtc "caseDicts/setConstraintTypes"

    //- Define inlet conditions
    #include "include/fixedInlet"

    outlet
    {
        type            inletOutlet;
        inletValue      $internalField;
        value           $internalField;
    }

    lowerWall
    {
        type            kqRWallFunction;
        value           $internalField;
    }

    motorBikeGroup
    {
        type            kqRWallFunction;
        value           $internalField;
    }

    #include "include/frontBackUpperPatches"
}
nut
Code:
boundaryField
{
    //- Set patchGroups for constraint patches
    #includeEtc "caseDicts/setConstraintTypes"

    frontAndBack
    {
        type            calculated;
        value           uniform 0;
    }

    inlet
    {
        type            calculated;
        value           uniform 0;
    }

    outlet
    {
        type            calculated;
        value           uniform 0;
    }

    lowerWall
    {
        type            nutkWallFunction;
        value           uniform 0;
    }

    upperWall
    {
        type            calculated;
        value           uniform 0;
    }

    motorBikeGroup
    {
        type            nutkWallFunction;
        value           uniform 0;
    }
}
omega
Code:
#include        "include/initialConditions"

dimensions      [0 0 -1 0 0 0 0];

internalField   uniform $turbulentOmega;

boundaryField
{
    //- Set patchGroups for constraint patches
    #includeEtc "caseDicts/setConstraintTypes"

    #include "include/fixedInlet"

    outlet
    {
        type            inletOutlet;
        inletValue      $internalField;
        value           $internalField;
    }

    lowerWall
    {
        type            omegaWallFunction;
        value           $internalField;
    }

    motorBikeGroup
    {
        type            omegaWallFunction;
        value           $internalField;
    }

    #include "include/frontBackUpperPatches"
}
p
Code:
#include        "include/initialConditions"

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform $pressure;

boundaryField
{
    //- Set patchGroups for constraint patches
    #includeEtc "caseDicts/setConstraintTypes"

    inlet
    {
        type            zeroGradient;
    }

    outlet
    {
        type            fixedValue;
        value           $internalField;
    }

    lowerWall
    {
        type            zeroGradient;
    }

    motorBikeGroup
    {
        type            zeroGradient;
    }

    #include "include/frontBackUpperPatches"
}
U.orig
Code:
#include        "include/initialConditions"

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform $flowVelocity;

boundaryField
{
    //- Set patchGroups for constraint patches
    #includeEtc "caseDicts/setConstraintTypes"

    #include "include/fixedInlet"

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

    lowerWall
    {
        type            fixedValue;
        value           $internalField;
    }

    motorBikeGroup
    {
        type            noSlip;
    }

    #include "include/frontBackUpperPatches"
}
steddy is offline   Reply With Quote

Old   April 29, 2020, 21:22
Default
  #2
New Member
 
Bssam
Join Date: Nov 2019
Posts: 19
Rep Power: 6
openfoamer93 is on a distinguished road
I assume that the boundary layer is already refined so that y+<1. If not then try to refine the boundary layer using the command:
refineWallLayer 'patchNmae' 0.5

Then

type omegaWallFunction;
value $internalField;

automatically switches to a low Re in case y+<1 and it resolve the boundary layer without using any wall function and switches to wall function when y+ is large.

No need to modify anything
openfoamer93 is offline   Reply With Quote

Old   April 30, 2020, 07:04
Default
  #3
New Member
 
Andrea Stedile
Join Date: Feb 2020
Posts: 11
Rep Power: 6
steddy is on a distinguished road
Bassam, thanks for your answer.

Quote:
I assume that the boundary layer is already refined so that y+<1.
Yes, the average yplus is ~0.04 on the whole surface thanks to tiny layers.

Quote:
No need to modify anything
Do you have any source to back this up; perhaps an OpenFOAM page I didn't read?
steddy is offline   Reply With Quote

Old   May 1, 2020, 00:05
Default
  #4
New Member
 
Bssam
Join Date: Nov 2019
Posts: 19
Rep Power: 6
openfoamer93 is on a distinguished road
For omega wall function I am sure! You can revise the theory behind this wall function which switch automatically.

However, the k and nut should be:
kLowReWallFunction
nutLowReWallFunction

I just realised that they were not a LowRe

Please revise page 27 from this report that support my claims:
A Thorough Description Of How Wall Functions Are Implemented In OpenFOAM - Chalmers
steddy likes this.
openfoamer93 is offline   Reply With Quote

Old   May 1, 2020, 09:39
Default
  #5
New Member
 
Andrea Stedile
Join Date: Feb 2020
Posts: 11
Rep Power: 6
steddy is on a distinguished road
Thank you very much for your help and time, I will modify accordingly!
openfoamer93 likes this.
steddy is offline   Reply With Quote

Old   May 2, 2020, 18:02
Default
  #6
New Member
 
Bssam
Join Date: Nov 2019
Posts: 19
Rep Power: 6
openfoamer93 is on a distinguished road
So did it work with you? I tried the approach in another case and compared the results to experiment which was satisfactory
openfoamer93 is offline   Reply With Quote

Old   May 3, 2020, 07:16
Default
  #7
New Member
 
Andrea Stedile
Join Date: Feb 2020
Posts: 11
Rep Power: 6
steddy is on a distinguished road
Hi, right now I am trying to replicate in OpenFOAM a Simscale case that investigates the Ahmed body, using the boundary conditions that you suggested. I will get back to you as soon as possible and send you the outcomes when the solver will be done; it will take ~ 1 day because the mesh is pretty fine (18M cells and I am using a server with 8 cores only). Thank you again for your dedication
https://www.simscale.com/projects/gs...ni/ahmed_body/
steddy is offline   Reply With Quote

Old   May 3, 2020, 10:50
Default
  #8
New Member
 
Bssam
Join Date: Nov 2019
Posts: 19
Rep Power: 6
openfoamer93 is on a distinguished road
Wow 18M that definitely needs a cluster computer to handle the case. All the best in your simulations!
openfoamer93 is offline   Reply With Quote

Reply

Tags
boundary conditions, boundary layer, k-omega sst, low-re, yplus


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
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 08:38
CFD analaysis of Pelton turbine amodpanthee CFX 31 April 19, 2018 19:02
Basic Nozzle-Expander Design karmavatar CFX 20 March 20, 2016 09:44
Problem in setting Boundary Condition Madhatter92 CFX 12 January 12, 2016 05:39
how to calculate the omega at inlet boundary in k omega sst Scabbard OpenFOAM Running, Solving & CFD 2 September 30, 2014 14:06


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