CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

Rough boundary bottom at OpenFOAM

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 1 Post By kostnermo
  • 1 Post By kostnermo
  • 1 Post By clktp

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 22, 2016, 08:42
Default Rough boundary bottom at OpenFOAM
  #1
New Member
 
Join Date: Aug 2016
Posts: 6
Rep Power: 10
burlyga is on a distinguished road
Hello everyone!
I want create new boundary condition for OpenFOAM, which provides logarithmic velocity profile at atmospheric boundary layer. In this boundary condition U will depend from height. But I have a trouble with happening when inlet has rough bottom, because in this case I should be able to determine z0 at any point. Are there any tools at OpenFOAM to get z0 for any point at boundary?
burlyga is offline   Reply With Quote

Old   August 22, 2016, 12:07
Default
  #2
New Member
 
Join Date: Aug 2016
Posts: 6
Rep Power: 10
burlyga is on a distinguished road
For example, for such inlet boundary. You can see that the bottom of this boundary is rough. I want to consider this fact and make dependency from local height at any point
burlyga is offline   Reply With Quote

Old   August 23, 2016, 06:06
Default
  #3
New Member
 
Patrick Kastner
Join Date: Apr 2016
Posts: 10
Rep Power: 10
kostnermo is on a distinguished road
Hi,

if I understand your question correctly, there is a BC which does what you are looking for.

atmBoundaryLayerInletVelocity

Example:

Code:
ground
    {
        type            atmBoundaryLayerInletVelocity;
        n               (1 0 0);
        z               (0 0 1);
        Uref            10.0;
        Zref            20.0;
        z0              uniform 0.1;
        zGround         uniform 0.0;
    }
Best,

Patrick
burlyga likes this.
kostnermo is offline   Reply With Quote

Old   August 23, 2016, 06:55
Default
  #4
New Member
 
Join Date: Aug 2016
Posts: 6
Rep Power: 10
burlyga is on a distinguished road
Quote:
Originally Posted by kostnermo View Post
Hi,

if I understand your question correctly, there is a BC which does what you are looking for.

atmBoundaryLayerInletVelocity

Example:

Code:
ground
    {
        type            atmBoundaryLayerInletVelocity;
        n               (1 0 0);
        z               (0 0 1);
        Uref            10.0;
        Zref            20.0;
        z0              uniform 0.1;
        zGround         uniform 0.0;
    }
Best,

Patrick
Thank you for you reply, Patrick!

If I understand correctly, atmBoundaryLayerInletVelocity doesn't provide tools to consider rough inlet boundary conditions (look at the picture attached to 2 post). I need to make log U profile incipient from a bootom by z-coordinate at my red inlet boundary everywhere.

Best,

Yury
burlyga is offline   Reply With Quote

Old   August 23, 2016, 08:10
Default
  #5
New Member
 
Patrick Kastner
Join Date: Apr 2016
Posts: 10
Rep Power: 10
kostnermo is on a distinguished road
Hi Yury,

I think I understood what you mean. You would like to specify U(z) at your inlet according to the height of the terrain?
You could use groovyBC to specify different equations along the x-axis in negative y-direction, which could be a work-around.

Quote:
But I have a trouble with happening when inlet has rough bottom, because in this case I should be able to determine z0 at any point.
Thinking about your problem again, do you need to specify/consider z_0 at all?
To my knowledge, z_0 is a constant to emulate the roughness imposed by a terrain one usually wouldn't consider in the model.
Why would you want to specify a z_0 to represent a rough terrain, which you use at the ground level of your domain anyway?

Best,

Patrick
burlyga likes this.
kostnermo is offline   Reply With Quote

Old   August 23, 2016, 08:45
Default
  #6
New Member
 
Join Date: Aug 2016
Posts: 6
Rep Power: 10
burlyga is on a distinguished road
Dear Patrick,

I should be able to work with such cases, as in this image.

In this image, red marked inlet. As you can see, height of the terrain here varies quite strongly, so z_0 can not be taken as a constant. Therefore, I would like to be able to identify height of the terrain as z_0 at each point.

Best,

Yury

Last edited by burlyga; August 23, 2016 at 11:30.
burlyga is offline   Reply With Quote

Old   August 24, 2016, 08:54
Default
  #7
Member
 
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11
clktp is on a distinguished road
I've recently worked on something like that but as burlyga says atmBoundaryLayerInletVelocity
is not a proper solution for this kind of problem. Also z_0 is not that height if I'm not terribly wrong, it's something different, simulates ground effects but not huge differences like your case.

If I were, I would use a flat surface at the inlet region and put the terrain in the middle of the domain, so that I would able to use atmBoundaryLayerInletVelocity without any problem. Only thing you need to do is merge a flat surface with your terrain.

In ayn case if you wanna create a whole new boundary condition, which I think it's wrong, you can modify atmBoundaryLayerInletVelocity and calculate reference height not by location of z coordinates, but distance to the patch.
burlyga likes this.
clktp is offline   Reply With Quote

Old   August 25, 2016, 07:15
Default
  #8
New Member
 
Join Date: Aug 2016
Posts: 6
Rep Power: 10
burlyga is on a distinguished road
Thank you for your reply, clktp!

I have already written and compiled a new boundary condition. Now I want to modify it for the case, of which I am writing. Could you tell me more about how you can find the distance from the cell to the patch? I think this is what I need.

Best,

Yury
burlyga is offline   Reply With Quote

Old   August 25, 2016, 10:41
Default
  #9
Member
 
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11
clktp is on a distinguished road
I haven't done it before but I guess you can find a good example for it in the y+ calculation utility. It should be yPlusRANS and yPlusLES.

On the other hand I strongly recommend you to check the theory of ABL velocity profile if you don't know very well the subject. What you are doing doesn't sound correct to me, but of course I might be wrong. I haven't studied particularly ABL profile, but used many times. Anyways, just saying.

I would be grateful if you share your results. Good luck.
clktp is offline   Reply With Quote

Old   September 5, 2016, 07:04
Default
  #10
New Member
 
Join Date: Aug 2016
Posts: 6
Rep Power: 10
burlyga is on a distinguished road
Hello everyone!
Unfortunately, I did not get to determine the distance to a patch to find out the current altitude. I tried using mesh.findCell() and meshSearch class for this, however, the boundary condition at me when it does not work. Maybe someone had to deal with such a task? As in OpenFOAM z_0 can be determined for the current point?
burlyga is offline   Reply With Quote

Reply

Tags
boundaries condition, openfoam 2.4.x, roughness, roughness height


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
Problem in setting Boundary Condition Madhatter92 CFX 12 January 12, 2016 05:39
Radiation interface hinca CFX 15 January 26, 2014 18:11
[Gmsh] 2D Mesh Generation Tutorial for GMSH aeroslacker OpenFOAM Meshing & Mesh Conversion 12 January 19, 2012 04:52
[Gmsh] Import problem ARC OpenFOAM Meshing & Mesh Conversion 0 February 27, 2010 11:56


All times are GMT -4. The time now is 18:46.