
[Sponsors] 
June 27, 2013, 10:35 
Boundary Conditions for Atmospheric flow

#1 
New Member
Øystein Myrmo
Join Date: Jun 2013
Location: Oslo
Posts: 6
Rep Power: 6 
I am fairly new to OpenFOAM, so please bear with me. I am looking to set up an atmospheric flow around an offshore platform. The inlet wind conditions can be set by using the atmBoundaryLayerInletVelocity BC. I am wondering about the other BCs, however. What are the best BCs for the sides, top, outlet and bottom of the domain? The bottom of the domain is assumed to be water (flat). Also, what are the best BCs for the structure itself? My physical variables are velocity, pressure, k and epsilon.
So far I am thinking the following, please correct me where I am wrong and fill in where I am wondering: Velocity:  Inlet: atmBoundaryLayerInletVelocity  Outlet: ???  Sides: ???  Top: slip ???  Water: fixedValue 0  Walls: fixedValue 0 Pressure:  Inlet: inletOutlet  Outlet: outletInlet  Sides: ???  Top: ???  Water: zeroGradient  Walls: zeroGradient k and epsilon:  Same as for velocity? Any comments are highly appreciated! Are there any good references for descriptions of the BCs other than Doxygen? 

July 9, 2013, 03:40 

#2 
New Member
Øystein Myrmo
Join Date: Jun 2013
Location: Oslo
Posts: 6
Rep Power: 6 
I will give you my current take on this. Please correct me if I'm wrong.
Velocity:  internalField uniform (Ux Uy Uz)  Inlet: atmBoundaryLayerInletVelocity  Outlet: inletOutlet (inletValue uniform (0 0 0) )  Sides: slip  Top: slip  Water: fixedValue (value uniform (0 0 0) )  Walls: fixedValue (value uniform (0 0 0) ) Pressure:  internalField uniform 0  Inlet: zeroGradient  Outlet: fixedValue (value $internalField)  Sides: slip  Top: slip  Water: zeroGradient  Walls: zeroGradient k:  internalField uniform ( (3/2)*(U*I)^2 as given here: http://www.cfdonline.com/Wiki/Turbu...ary_conditions )  Inlet: fixedValue (value $internalField)  Outlet: inletOutlet (inletValue uniform 0)  Sides: slip  Top: slip  Water: zeroGradient  Walls: kqRWallFunction (value $internalField) epsilon:  internalField uniform ( C_mu^(3/4) * k^(3/2) / L as given here: http://www.cfdonline.com/Wiki/Turbu...ary_conditions )  Inlet: fixedValue (value $internalField)  Outlet: inletOutlet (inletValue uniform 0)  Sides: slip  Top: slip  Water: zeroGradient  Walls: epsilonWallFunction (value $internalField) I am a bit uncertain of whether I should use inletValue $internalField or uniform 0 for k and epsilon. Does anybody have any recommendations for this? Should the water be treated by wall functions rather than zeroGradients? The scale of the cells at the water level is likely to be around 1 m. 

July 29, 2013, 10:29 
Boundary conditions

#3 
Member
niru
Join Date: Apr 2012
Posts: 55
Rep Power: 7 
hi
Reg the boundary conditions. Offshore platforms and atmosphere surrounding it is an open environment and flows in open environment are called external flows. I dont know about open foam , but in CF, we can use the Open boundary conditions for side walls and top of atmosphere. A opening BC will allow velocity to go inside and outside the domain reflecting the actual wind in atmosphere. Usually pressure values are not known in external flows. You have to run a steady state run for few iterations using outflow pressure conditions (usually 0 pressure difference) , find the pressure values from steady state run and use the values for transient run. The offshore platform as such is considered as a rigid body in the simulation. BTW Your work on "Numerical modeling of pool spreading, heat transfer and evaporation in liquefied natural gas (LNG)" was good. I am assuming that you wrote this thesis. 

July 29, 2013, 10:52 

#4 
Senior Member
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 297
Rep Power: 15 
Hi all,
Although it seems like a very simple problem to set the boundary conditions, it is actually quite tricky. Have a look at the following papers for more information: * Richards, P., & Hoxey, R. (1993). Appropriate boundary conditions for computational wind engineering models using the kÏµ turbulence model. Journal of Wind Engineering and Industrial Aerodynamics, 47, 145–153. * Blocken, B., Stathopoulos, T., & Carmeliet, J. (2007). CFD simulation of the atmospheric boundary layer: wall function problems. Atmospheric Environment, 41(2), 238–252. doi:10.1016/j.atmosenv.2006.08.019 * Sumner, J., & Masson, C. (2011). k epsilon simulations of the neutral atmospheric boundary layer: analysis and correction of discretization errors on practical grids. International Journal for Numerical Methods in Fluids. doi:10.1002/fld It is for example very tempting to set the slip condition at the top of the domain but this will introduce a modeling error which, depending on the extent of the domain, can become nonnegligible... Cheers, Lieven 

August 4, 2013, 07:55 

#5  
New Member
Øystein Myrmo
Join Date: Jun 2013
Location: Oslo
Posts: 6
Rep Power: 6 
Quote:
Yes, you are correct  this is my master's thesis. And thank you! How did you come by it anyway? Boiling of LNG (or mixtures in general) is a relatively small research field. 

August 4, 2013, 08:02 

#6  
New Member
Øystein Myrmo
Join Date: Jun 2013
Location: Oslo
Posts: 6
Rep Power: 6 
Quote:


August 4, 2013, 08:25 
thesis

#7 
Member
niru
Join Date: Apr 2012
Posts: 55
Rep Power: 7 
I am working on LNG pool spreading and evaporation. I am developing my own model for it . Have you graduated? Can you share your experience on working with that topic?


August 4, 2013, 12:35 
thesis

#8 
New Member
Øystein Myrmo
Join Date: Jun 2013
Location: Oslo
Posts: 6
Rep Power: 6 
Cool! Check your personal inbox, so we can continue on topic here


August 4, 2013, 18:24 

#9 
Senior Member
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 297
Rep Power: 15 
I didn't test other models on the problem (simply because the kepsilon model is the most frequently used model for this situation). But I'm pretty sure that this issue will be present in the other models too but maybe not to the same extent.
Cheers, L 

August 6, 2013, 05:04 

#10  
Senior Member
Eloïse
Join Date: Jul 2012
Location: Trondheim, Norway
Posts: 112
Rep Power: 7 
Quote:
For different turbulence models, please check as well this reference: Richards, P. J., and S. E. Norris. "Appropriate boundary conditions for computational wind engineering models revisited." Journal of Wind Engineering and Industrial Aerodynamics 99.4 (2011): 257266. Best regards, Eloïse 

August 13, 2013, 05:21 

#11 
New Member
Øystein Myrmo
Join Date: Jun 2013
Location: Oslo
Posts: 6
Rep Power: 6 
Thank you for the reference, Eloise.
I have digged into the atmBoundaryLayerInletVelocity and atmBoundaryLayerInletEpsilon boundary conditions, and I find it a bit strange that the roughness length (z0_), the minimum coordinate in zdirection (zGround_) and friction velocity (Ustar_) are all defined as scalarFields of the same size as the patch where the BC is applied. Shouldn't all of these parameters be constants (i.e. scalar) in the wind profile? I see in the implementation of atmBoundaryLayerInletVelocityFvPatchVectorField that Ustar_[i] is calculated depending on z0[i] like this: Code:
forAll (Ustar_, i) { Ustar_[i] = kappa_*Uref_/(log((Href_ + z0_[i])/max(z0_[i] , 0.001))); } Code:
forAll(coord, i) { if ((coord[i]  zGround_[i]) < Href_) { Un[i] = (Ustar_[i]/kappa_) * log((coord[i]  zGround_[i] + z0_[i])/max(z0_[i], 0.001)); } else { Un[i] = Uref_; } } Can anyone enlighten me on these issues? 

August 14, 2013, 07:23 

#12 
Senior Member
Eloïse
Join Date: Jul 2012
Location: Trondheim, Norway
Posts: 112
Rep Power: 7 
Hello Øystein,
A simple way to test your BCs is to run an "empty fetch case", i.e. an empty 2D domain on which you use your set of BCs. By comparing your inlet and outlet profiles of U k and epsilon, you will be able to see if your set of BCs are consistent. I haven't try to use the atmBoundaryLayer BCs from OpenFOAM, but I'd not be surprised if it did not maintain the profiles through the domain. Instead, I'd recommend you to implement the recommendations suggested in the above mentioned papers. Regards, Eloïse 

March 17, 2014, 14:09 

#13 
Senior Member
Join Date: Jul 2009
Posts: 246
Rep Power: 11 
Did anybody determine whether they were happy with the way the ABL is currently modelled by atmBoundaryLayerInletVelocity?
To be honest i'm a bit puzzled as to how to implement a turublent gradient at the ceiling of the domain as suggested in "Appropriate boundary conditions for computational wind engineering models revisited". Any thoughts here? 

June 23, 2015, 05:49 

#14 
New Member
Michael
Join Date: Feb 2015
Posts: 17
Rep Power: 4 
Hello!
Did anyone find a solution to the above Problems? I have the same problem. I applied nutkAtmRoughWallFunction and epsilon wall functions at the wall. In order to test if the solution optained with openfoam is consistent with the theory I used a 2D channel an applied a cyclic bounday condition at inlet and outlet. At the top of the domain a used a constant velocity. It is some kind of couette flow. Theoretically the converged velocity solution should be logarithmic at the wall U = U*/kappa ln ( ( z + z0)/z0)). Unfortunately I did not get the theretical profile. Find attached the plot of the velocity 

June 30, 2015, 05:27 

#15 
New Member
Michael
Join Date: Feb 2015
Posts: 17
Rep Power: 4 
Hello! I've tried to implement the discretisation of the Production therm suggesteb by
Richards, P. J., and S. E. Norris. "Appropriate boundary conditions for computational wind engineering models revisited." Journal of Wind Engineering and Industrial Aerodynamics 99.4 (2011): 257266. In openfoam it looks like : volVectorField snGradU("snGradU",fvc::average(fvc::snGrad(U_) ) ); volScalarField G(GName(), nut_*magSqr( snGradU ) ); So I compute first the face area avereg of the gradient and then squared it to get the Production term G. But still I got a turbulent lengthcale which is increasing with hight with a lower inclination compared to kappa*z. Did anyone try this solution? 

August 25, 2016, 06:57 

#16 
Senior Member
Yuehan
Join Date: Nov 2012
Posts: 113
Rep Power: 6 
Is there any progress regarding this problem?


August 26, 2016, 04:00 

#17 
New Member
Michael
Join Date: Feb 2015
Posts: 17
Rep Power: 4 
unfortunately I was not able to solve the problem. but it is definitely a numerical issue. If you use an equidistant mesh an use a very fine resolution the spike of k at the bottom vanishes.
Another guess of me was that the reason is the first order approximation of the velocity gradient at the wall in the calculating the turbulent production. but I hadn't the time to test if this assumption is right. 

Tags 
boundary conditions 
Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Boundary conditions low Mach number flow  lost.identity  Main CFD Forum  0  November 28, 2010 05:44 
3D Compressible Flow Boundary Conditions  Tyler  FLUENT  4  February 5, 2009 20:58 
boundary conditions for boundary layer flow  A. Alzoubi  CFX  0  November 3, 2007 08:11 
Internal flow simulation boundary conditions  Kishore  FLUENT  1  July 10, 2007 11:42 
Please help with flow around car modelling!  Tudor Miron  CFX  17  March 19, 2004 20:23 