View Issue Details

IDProjectCategoryView StatusLast Update
0001384OpenFOAMBugpublic2017-03-06 09:34
Reporteruser990Assigned Tohenry  
Status resolvedResolutionno change required 
PlatformLinuxOSUbuntuOS Version12.04
Summary0001384: U magnitude profile in atmBoundaryLayerInletVelocity seems not to be properly set up !
DescriptionDear all,

I am modelling Atmospheric Boundary Layer in a small empty parallelepipoid box (20 m long on z axis) and I am using the patch atmBoundaryLayerInletVelocity for Velocity Inlet.
I take a look into atmBoundaryLayerInletVelocityFvPatchVectorField.H and.C , the velocity profile U is defined by :

 U = (U*/Κ).ln〖((z+z0+zg)/z)〗 where U* =(Κ*Uref)/(ln(Href+z0/z0))

for zground=0m ,z0=0.15m,Href=10m,Kappa=3.35 J/Kg and Uref=10.3m/s :

we should have a fully logarithm profile for U magnitude and U magnitude should be equal to 12m/s at 20m on z axis. Yet , as you can see on the attached file, I plot U magnitude obtained with OpenFoam along different probe lines on z axis and it seems like the profile is not correctly set up because above 10m the velocity magnitude taken at the inlet not vary.

Did somebody saw this issue ? Maybe the programmers can do something...

Thank you


TagsNo tags attached.



2014-08-28 15:24



2014-08-28 17:10


theoretical_Umagnitude.png (16,165 bytes)   
theoretical_Umagnitude.png (16,165 bytes)   


2014-12-24 15:09

reporter   ~0003362

Reading the code it is clear that for z>Href, you get U=Uref, but this model doesn’t agree with the atmospheric boundary layer references I have seen. In all of them it is suggested to use the logarithmic profile from bottom to top, in the inlet, and I think the users will normally expect this behavior. I suggest that the developers change this model to avoid confusion.
Best Regards,


2014-12-28 14:33

manager   ~0003365

I agree; I see no physical justification for U=Uref when z>Href. Do you have access to the reference cited in the .H file:

        D.M. Hargreaves and N.G. Wright, "On the use of the k-epsilon model
        in commercial CFD software to model the neutral atmospheric boundary
        layer", Journal of Wind Engineering and Industrial Aerodynamics
        95(2007), pp 355-369.

If so is there any mention of U=Uref when z>Href?

My plan is to simply remove this adjustment unless anyone can provide a reason to keep it in which case I could make it an option.


2014-12-29 11:34

reporter   ~0003378

Hi Henry,
    I found about five papers that discuss boundary conditions for wind simulations, the Hargreaves paper is one them. I checked the paper again and no mention is made of a constant velocity layer in the upper region. I think that if some user needs this constant velocity region he could provide this using a separate patch in this region. It wouldn’t be difficult to do that. Thanks for your attention.
Happy new year.


2014-12-29 12:11

manager   ~0003387

Thanks for getting back to me on the paper. I am not sure why a limiter on U was applied and see no physical justification for it. Further, I found no corresponding limit applied to the associated epsilon BC and this inconsistency if further cause for concern.

Based on this I have removed the limit on U and rewritten the expressions in standard OpenFOAM field algebra form. Please let us know if there are any further problems with this BC.

Resolved by commit 8df3ba9ae1136eb60afa244d5e6e6ab07b2339b7


2014-12-29 13:23

manager   ~0003391

Hi Paulo,

As you have the references to hand could you look up and let me know how a consistent turbulent kinetic energy distribution is defined for this profile? I think it would be convenient if in addition to atmBoundaryLayerInletEpsilon a atmBoundaryLayerInletK BC is provided and I would be happy to write it.



2014-12-29 15:42

updater   ~0003400

Quick heads up - This issue is somewhat related to this bug report:


2014-12-29 16:40


Last edited: 2014-12-29 16:42

Dear All,

Thank you very much for your answers. I agree with the points you developed. I think removing the limit U = Uref when z > Href is a good idea because as you said there is no physical justification in the literature. So how can we download the updated atmBoundaryLayerInletVelocity BC ? Moreover , I believe to know that a logarithmic wind profile is generally considered valid for the 10 % of ABL (so from 0 to 100m approximately ) but I do not see any distinction for atmBoundaryLayerInletVelocity between below 100 m and above 100m. It is like if the log wind profile is valid for any height. Maybe someone knows what kind of profile we can apply above 100 m and implement this in the atmBoundaryLayerInletVelocity. It could be useful for simulations which imply skyscrapers and large domain.


2014-12-29 17:24

manager   ~0003407

You can get the latest OpenFOAM-2.3.x from the git repository:

I am just testing an updated atmBoundaryLayerInletVelocity with corrected documentation and will push shortly.

What profile would you like above 100m? If you can provide a specification for the velocity, turbulence intensity and dissiation rate it should be straight forward to implement.


2014-12-30 16:56

reporter   ~0003417

Hi Henry,
The inlet condition used for the turbulent kinetic energy k is a uniform value equal to (U^*)^2/sqrt(cmu) where U^* is the friction velocity and cmu is the constant of the k-epsilon model that usually is used with the value 0.09. It's not difficult calculate this value and edit the ABLConditions file but if you could provide a function for this would be nice.
Best regards,


2014-12-31 23:05

manager   ~0003429

I have rationalized the ABL BCs and added the corresponding k BC by
commit 10ee5c477b96a5957291303df5807c46091bab90


2015-02-24 13:28


Last edited: 2015-02-24 13:29

Thank you for the work. I'm new in the process of using a modified boundary conditions or solver files in OF with github. Can someone please explain me the procedure ( in details) to implement the new boundary conditions in my OF without waiting the new version of OF ?

Thank you !



2015-02-24 13:33

manager   ~0003883

Issue History

Date Modified Username Field Change
2014-08-28 15:24 user990 New Issue
2014-08-28 15:24 user990 File Added: foam_Umagnitude_probe_along_lines.png
2014-08-28 17:10 user990 File Added: theoretical_Umagnitude.png
2014-12-24 15:09 pvatavuk Note Added: 0003362
2014-12-28 14:33 henry Note Added: 0003365
2014-12-29 11:34 pvatavuk Note Added: 0003378
2014-12-29 12:11 henry Note Added: 0003387
2014-12-29 12:11 henry Status new => resolved
2014-12-29 12:11 henry Resolution open => fixed
2014-12-29 12:11 henry Assigned To => henry
2014-12-29 13:23 henry Note Added: 0003391
2014-12-29 13:23 henry Status resolved => feedback
2014-12-29 13:23 henry Resolution fixed => reopened
2014-12-29 15:42 wyldckat Note Added: 0003400
2014-12-29 16:40 user990 Note Added: 0003404
2014-12-29 16:40 user990 Status feedback => assigned
2014-12-29 16:42 user990 Note Edited: 0003404
2014-12-29 17:24 henry Note Added: 0003407
2014-12-30 16:56 pvatavuk Note Added: 0003417
2014-12-31 23:05 henry Note Added: 0003429
2014-12-31 23:06 henry Status assigned => resolved
2014-12-31 23:06 henry Resolution reopened => fixed
2015-02-24 13:28 user990 Note Added: 0003882
2015-02-24 13:28 user990 Status resolved => feedback
2015-02-24 13:28 user990 Resolution fixed => reopened
2015-02-24 13:29 user990 Note Edited: 0003882
2015-02-24 13:33 henry Note Added: 0003883
2015-02-24 13:33 henry Status feedback => resolved
2015-02-24 13:33 henry Resolution reopened => no change required