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

Specifying BC for LES simulation of pollutant dispersion problem in environment

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 2, 2018, 04:43
Default Specifying BC for LES simulation of pollutant dispersion problem in environment
  #1
New Member
 
Josip Žužul
Join Date: Sep 2016
Location: Genova, Italy
Posts: 4
Rep Power: 9
jzuzul is on a distinguished road
Dear Foamers, I was looking all over the forum for a similar thread but I couldn't find anything, so I decided to open the new one. Since this is my first thread, I hope I followed all the forum rules

I am dealing with the environmental problem of pollutant dispersion from the chimney over the complex residential area. Since the unsteadiness is a key factor here, the problem is going to be investigated within LES approach in OpenFOAM.

My domain is a big box with complex geometry (industrial zone, buildings, hills...) and has dimensions of 1500x1000x600m.

The solver in use is a slightly modified buoyantBoussinesqPimpleFoam (operating in PISO mode) with additional transport equation for the pollutant.

In order to get the "most realistic" results, the idea is to use the so-called nesting procedure, where another software (that is considered standard in meteorological forecasts and dispersion problems) is used for providing velocity field on each side of the domain in different time steps of a simulation.
NOTE: OpenFOAM is not coupled with the other software; it is only used for pre-calculation of velocity field that is supposed to be used as a boundary condition.

The problem which I encounter is related to boundary conditions. According to the abovementioned nesting procedure, I have known velocity profiles (a function of space and time) on my inlet, outlet and lateral sides. Another thing worth mentioning is that inlet will with time become an outlet, and outlet will become an inlet respectively.

Therefore the only way I could eventually attack this problem (according to my knowledge) is by using the timeVaryingMappedFixedValue boundary condition on each boundary that maps and interpolates velocities in space and time according to specified data in constant/boundaryData folder for different time steps.
Velocity boundary condition on the top boundary I assume to be the slip BC.

On the top of this velocity field, turbulence is going to be triggered by using some filters in a buffer zone to satisfy turbulent inflow requirement for LES simulation.

According to my previous experience with OpenFOAM and CFD in general, I am having doubts and I am not sure about the specification of velocity at the outlet. But on the other hand, since I have outlets changing in time due to changing wind conditions, I do not have any other idea. If I take this approach, my main issue is: how should I set boundary conditions for pressure?
Or to be more clear: how to set pressure to be consistent with specified velocities on all the boundaries of the domain?

I am aware that this question might not be completely OpenFOAM-related but also related to CFD in general. Therefore I hope that I haven't posted the question in the wrong sub-forum.

If anyone has any experience, idea, or suggestion and would like to share it, I would highly appreciate it.

Best Regards,
Josip

Last edited by jzuzul; March 2, 2018 at 06:31.
jzuzul is offline   Reply With Quote

Old   March 2, 2018, 06:05
Default
  #2
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 744
Rep Power: 15
piu58 is on a distinguished road
I don't think that you need a solver in closer sense, because you still have the volocity field. What you need is to follow the path of probes which are emitted at the places where you your pollutant expect.
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Old   March 2, 2018, 07:48
Default
  #3
New Member
 
Josip Žužul
Join Date: Sep 2016
Location: Genova, Italy
Posts: 4
Rep Power: 9
jzuzul is on a distinguished road
Dear Uwe Pilz, first of all, thank you for the interest in the topic.

Can you please elaborate a little bit closer your statement? Because I don't understand what is your point.

Quote:
Originally Posted by piu58 View Post
I don't think that you need a solver in closer sense, because you still have the volocity field. What you need is to follow the path of probes which are emitted at the places where you your pollutant expect.
As I mentioned in my first post, I have known velocities at the outer boundaries of my domain, but I have to somehow set boundary condition for pressure in order to close the system.

Quote:
Originally Posted by jzuzul View Post
Or to be more clear: how to set pressure to be consistent with specified velocities on all the boundaries of the domain?
The pollutant, that is emitted from the chimney is not a problem here. I can simply set a fixed value at the nozzle (chimney exit) and it is transported through my domain by means of the wind conditions according to the scalar transport equation incorporated in the solver.

The main issue here is related to setting up boundary conditions, where as far as I know, I can use only Dirichlet boundary condition type (timeVaryingMappedFixedValue) on my domain sides in the present case.

So far I have tried with mapped velocities on the inlet, outlet and side boundaries on a much simpler test case with specifying pressure (fixedValue 0) at the top boundary (where slip BC has been set for velocity), but my pressure field is not satisfactory.

Therefore any help regarding setting up pressure BC, or any new idea for tackling this problem would be very appreciated.

Regards,
Josip

Last edited by jzuzul; March 2, 2018 at 15:33.
jzuzul is offline   Reply With Quote

Old   March 2, 2018, 15:26
Default
  #4
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 744
Rep Power: 15
piu58 is on a distinguished road
Sorry, I did not understand your first post to full extend.

In that case my approach cannot be applied.

You may use time dependant boundary conditions, which are available in OF. But I don't recommend to give the velocity at all inlets/outlets. You may get problems with the conservation of mass. I would leave at least one outlet open. You may track the velocity there and check whether ist is more or less what you expect.
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Old   March 2, 2018, 16:59
Default
  #5
New Member
 
Josip Žužul
Join Date: Sep 2016
Location: Genova, Italy
Posts: 4
Rep Power: 9
jzuzul is on a distinguished road
Dear Uwe,

the boundary condition that I previously mentioned (timeVaryingMappedFixedValue) is a time-dependent BC

I absolutely agree with you that it is not a recommended procedure to set velocities at all inlets and outlets due to mass conservation problems, and that is the main issue addressed in the opening post and main reason why I opened this thread.

Regarding the suggestion of leaving one side patch boundary as an open boundary and monitor velocities - well, it is a fair suggestion.
I will definitely try with this approach but I am not very optimistic, nor sure how to choose the boundary which I'll set as the open one.

As I mentioned previously, I do not have a patch that is considered as a let say standard "outlet" patch. I have 4 side boundaries which will behave like both inlets and outlets depending on the current simulation time under consideration.

And yeah, I am also aware that the velocity profiles that I would set in this way could also impose mass imbalance in the system so it would be beneficial to have an open boundary. I was considering opening a top boundary which is far away from my region of interest and setting a reference pressure there. What is your opinion about taking this approach instead?

Regards,
Josip
jzuzul is offline   Reply With Quote

Old   March 2, 2018, 19:46
Default
  #6
KTG
Senior Member
 
Abe
Join Date: May 2016
Posts: 119
Rep Power: 9
KTG is on a distinguished road
Hey Josip,

This paper uses RANS, but it might help you with the boundary conditions to get some preliminary runs done with easier boundary conditions:

D. M. Hargreaves and N. G. Wright, “On the use of the k-ε model in commercial CFD software to model the neutral atmospheric boundary layer,” Journal of Wind Engineering and Industrial Aerodynamics, vol. 95, no. 5, pp. 355–369, 2007.

Seems like you can get away with fixed pressure at the boundaries - any openings at the top sound bad from an atmospheric science perspective.


You might check out the #codestream capabilities too. I don't know if you can map with it, but it is pretty useful in general. Here is a good tutorial:

https://wiki.openfoam.com/Programming1

Hope it helps a little...
KTG is offline   Reply With Quote

Old   March 4, 2018, 10:53
Default
  #7
New Member
 
Josip Žužul
Join Date: Sep 2016
Location: Genova, Italy
Posts: 4
Rep Power: 9
jzuzul is on a distinguished road
Quote:
Originally Posted by KTG View Post
This paper uses RANS, but it might help you with the boundary conditions to get some preliminary runs done with easier boundary conditions:

D. M. Hargreaves and N. G. Wright, “On the use of the k-ε model in commercial CFD software to model the neutral atmospheric boundary layer,” Journal of Wind Engineering and Industrial Aerodynamics, vol. 95, no. 5, pp. 355–369, 2007.
Hey Abe,

thank you for recommending me this paper, which I think was very useful.

After reading this paper, I can stress out the following:
Hargreaves (and Richards & Hoxey as well) highly recommend using of constant shear stress BC at the top boundary instead of the slip BC, because otherwise ABL will not be maintained. There is an appropriate boundary condition called fixedShearStress implemented in OpenFOAM but I still haven't tested it, but I will for sure.

According to the description in its .H file: "Set a constant shear stress as tau0 = -nuEff dU/dn", I think that there should be no problem with prescribing it to the top boundary of LES case since it uses nuEff. But I have no idea which value to set for a constant shear, neither I am sure is it physical to set constant shear in my case where I have varying wind conditions.

Additionally, in this paper author uses pressure outlet BC in Fluent (which is I assume equivalent to specifying fixedValue in OpenFOAM) because there is one single and obvious outlet patch. Apparently, this is not going to be the case in my example. Hargreaves also uses steady-state k-epsilon turbulence model, while I intend to use LES with dynamic Lagrangian averaging.

I already have results of some preliminary simulations with simplified boundary conditions like setting a pressure fixed at the outlet and flow going in one direction, and this works okay. But I have to move on. Somehow...

The purpose of this paper was to clarify boundary condition settings for maintaining of ABL while using k-epsilon turbulence model. My question is: is using this fixedShearStress BC a general approach for maintaining ABL or k-epsilon/RANS-specific?

Quote:
Originally Posted by KTG View Post
Seems like you can get away with fixed pressure at the boundaries - any openings at the top sound bad from an atmospheric science perspective.
Okay, now it is more clear that opening at the top is undesirable. I just thought like this could be a nice workaround since the top is far away from my region of interest, I can specify my velocity profiles everywhere with mapping and set a reference pressure on the top to close the system.

But how do you mean with fixed pressure at the boundaries? And which boundary in my case to be more specific? I don't want to specify both the pressure and the velocity on the same boundary...

Quote:
Originally Posted by KTG View Post
You might check out the #codestream capabilities too. I don't know if you can map with it, but it is pretty useful in general.
I am not quite sure why are you suggesting me #codestream. Can you please elaborate this? Thank you in advance.

Regards,
Josip
jzuzul is offline   Reply With Quote

Old   March 5, 2018, 17:15
Default
  #8
KTG
Senior Member
 
Abe
Join Date: May 2016
Posts: 119
Rep Power: 9
KTG is on a distinguished road
Yes, I think that given the scale of your problem the treatment of the top boundary will be pretty significant. People still do atmospheric science modeling in wind tunnels, and those have no-slip boundaries - I think it is a deceptively complicated issue. It is an issue of physics though, so I think you should consider the effect no matter what turbulence model you use (hence the geostrophic argument in the paper, regional pressure systems drive the planetary boundary layer from shear above and the side boundaries). Though I am not sure that you want the constant shear boundary condition. I interpreted their argument to mean that a horizontal velocity should be specified at the top boundary, which would be in agreement with the velocities specified at the top of your inlet wind profiles. For your mapped data this would be complicated. I guess I would start with specifying the average velocity at the top elevation, and see if it works. Then maybe move on to spatial interpolation...

Good luck and let us know how it goes!
KTG is offline   Reply With Quote

Old   June 21, 2018, 07:21
Default
  #9
New Member
 
Join Date: Feb 2012
Location: Nantes
Posts: 14
Rep Power: 14
hydraulic is on a distinguished road
Hi Josip,
I hope you found a solution for your problem.
If not, i would recommand to you use boundary condition type (timeVaryingMappedFixedValue) on all Boundaries except one. If you apply this condition everywhere using data from a wetter model, no matter which resolution (1km, 500m) you will end up with some mass imbalance. One boundary or more should be specified as an outlet. I usually simulate 1/2 hours and one boundary can always be defined as outlet. Are you simulation neutral ABL? or taking stability into account?
Regards,
Hydr
hydraulic is offline   Reply With Quote

Reply

Tags
boundary conditions, environment, les, openfoam, pollutant dispersion


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
indoor simulation convergence problem jhlee9622 FLUENT 0 July 3, 2017 03:44
Problem in initializing transient simulation with a finer mesh sidd CFX 8 April 29, 2016 02:25
Exhaust gases dispersion simulation in open atmosphere maazz FLUENT 0 June 28, 2013 11:07
Dynamic mesh simulation (pimpleDyMFoam) problem sidlof OpenFOAM Running, Solving & CFD 6 April 12, 2013 11:24
simulation problem -- convection BC pras FLUENT 4 January 30, 2013 10:41


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