CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Open atmosphere boundary conditions (http://www.cfd-online.com/Forums/openfoam-solving/95381-open-atmosphere-boundary-conditions.html)

 guitarbren December 15, 2011 06:39

Open atmosphere boundary conditions

Hi Everyone, first post so be gentle :)

I've been trying to model a chimney in OpenFOAM and have successfully generated a mesh using snappyHexMesh and background mesh. Now in blockmeshdict I have defined the 'floor' as a fixedwall, frontandback to be empty (2D case) and the sides (including roof) to just 'patch'.

I'm wondering what conditions to apply to these boundaries so it mimics a real life chimney sitting in a desert somewhere! I.e. enabling flow to come and go as necessary through the 'ceiling' and 'sides'.
I've tried giving initial conditions such as temperature and pressure a zeroGradient type in the 0 directory but it still models the entire scenario as if it is in a fixed box - is there an easy way to do this?

Any help would be greatly appreciated!
Bren

 mgdenno December 15, 2011 22:31

I have never set up a case like that, but I would guess the solution might be in the velocity (U) boundary condition.

 tunkers December 15, 2011 23:19

Hello Brendan,

I have modelled a "chimney" in open atmosphere. The approach I used was to model the entire domain including the chimney and the surrounding "atmosphere".

I used a large cylindrical domain (100m tall x 60 m diameter, chimney is 5 m diameter). The chimney is completely self-contained in the domain with no external inlets or outlets. The heat source is located at the base of the chimney. The hot air rises in the chimney, exits to atmosphere, cools, subsides and then recirculates. I used the buoyantPimpleFoam transient solver to solve this case.

For the temperature at the bottom of the atmosphere I used 300K. I used a fixed temperature boundary condition at the top of the atmosphere (299K) and a linear temperature gradient along the "sides" of the atmosphere to simulate real atmospheric lapse rate (.01 K/m).

In a domain of this height filled with air there is also a significant vertical pressure gradient. For all P boundaries I use the "buoyantPressure" BC.

I have great interest in chimneys and would also like to hear about other chimney models

I would suggest taking a good look at the "hotroom" tutorial. It contains many of the elements that you'll need.

Best Regards

Eric

 guitarbren December 20, 2011 08:28

Hi Eric,

Thanks for your help and sorry for the late reply - its been a hectic few days!
Anyway I have indeed already looked at the hotroom example, and will be using the buoyantBoussinesqSimple solver to compute the flow.

So basically what you're saying is you actually have fixed boundaries but they are so far away from the chimney that they will not significantly effect results? I also have a chimney self-contained within the domain.
I was thinking that it could be more elegant to have boundary conditions on the domain that allow gas to 'escape' in or out as necessary from the top and side boundaries, so the domain does not need to be much larger than the actual chimney itself... However I do not know how to do this...! Perhaps I will try an outlet for the entire top and a very low velocity inlet at the side (like a 5m/s wind) or so and compare results to a chimney in a very large fixed domain.
Hopefully that makes sense.

Brendan

 Toorop December 21, 2011 06:45

2 Attachment(s)
Hi,

I'm also interested in open to air / atmosphere boundary condition setup. My solver is chtMultiRegionSipleFoam - fluid part is buoyantSimpleFoam, I guess.

My setup is as follows:
Code:

```U { walls {     type            fixedValue;     value          uniform (0 0 0); }             surroundingAir {     type            pressureInletOutletVelocity;     value          uniform (0 0 0); } } p_rgh { walls {     type            buoyantPressure;     value          uniform 1e5; } surroundingAir      {     type          totalPressure;     p0              uniform 1e5;     U              U;     phi            phi;     rho            rho;     psi            none;     gamma      1;     value          uniform 1e5; } } p { walls {     type            calculated;     value          uniform 1e5; } surroundingAir {     type            calculated;     value          uniform 1e5; } }```
I borrowed the ideas from the multiRegionHeater and damBreak cases. Fortunately, it's working - the solver starts without any errors and the simulation progresses, but it would be nice to get some feedback from someone who is more experienced on the issue. The case is laminar, any comment on the turbulence parameter setup on the boundary would be welcomed as well.

My other headache is simulation time, the solution for p_rgh always hits the Number of Iteration limiter (1000) and it really slows the whole thing down. How can one improve the solution / scheme setup?

Thank you!

 tunkers December 21, 2011 22:26

Hi Brendan, Yes my chimney is sufficiently far away from the boundaries that they don't have a significant effect on the flow. I also chose to enclose the chimney in an "atmosphere" because my primary interest is in how the chimney exit plume interacts with the atmosphere; plume dispersion, reduction of buoyancy due to entrainment of surrounding cooler air, etc

If you are primarily interested in the flow inside the chimney, it might make more sense to include inlets/outlets. However, with the buoyantPimpleFoam solver I have found that it can be challenging to get inlets/outlets working properly since this solver seems very sensitive to inlet/outlet BC setup when used in conjunction with buoyantPressure BC's for the walls.

Eric

 All times are GMT -4. The time now is 13:15.