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

buoyantBoussinesqPisoFoam: A detailed explanation

Register Blogs Community New Posts Updated Threads Search

Like Tree10Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 17, 2012, 03:54
Default buoyantBoussinesqPisoFoam
  #41
New Member
 
Ashvin Chaudhari
Join Date: Aug 2011
Location: Finland
Posts: 23
Rep Power: 14
ashvinc9 is on a distinguished road
Dear All,

Thank you for your wonderful posts. I want to use the "buoyantBoussinesqPisoFoam" solver my ABL flow simulation. Since I am using OpenFOAM-2.1.x version I didn't find any tutorial or solve code it self. I will appreciate if someone provide me any tutorial using "buoyantBoussinesqPisoFoam" or any other information on how to use this solver in 2.1 version.

Thank you !

Ashvin
ashvinc9 is offline   Reply With Quote

Old   September 17, 2012, 10:22
Default
  #42
Member
 
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 18
mchurchf is on a distinguished road
Ashvin,

We have taken buoyantBoussinesqPisoFoam and modified it quite a bit to specifically do ABL flow. Please visit the National Renewable Energy Laboratory's (NREL) National Wind Technology Center's (NWTC) site where we have the modified code, etc. http://wind.nrel.gov/designcodes/simulators/sowfa/

Matt
ashvinc9 likes this.
mchurchf is offline   Reply With Quote

Old   September 20, 2012, 10:47
Default
  #43
New Member
 
Ashvin Chaudhari
Join Date: Aug 2011
Location: Finland
Posts: 23
Rep Power: 14
ashvinc9 is on a distinguished road
I have downloaded the code. Thank you very much Matt.

-Ashvin
ashvinc9 is offline   Reply With Quote

Old   November 14, 2012, 14:42
Default BuoyantBoussinesqPimpleFOAM
  #44
Member
 
Dinesh Balaji
Join Date: Oct 2012
Posts: 43
Rep Power: 13
DineshramBalaji is on a distinguished road
Hi,

I am new to Openfoam. I am trying to import a case from transientsimpleFoam and solve it in BuoyantBoussinesqPimpleFoam. There seems to be error in p_rgh file. The error goes like this.

--> FOAM FATAL ERROR:

request for surfaceScalarField phi from objectRegistry region0 failed
available objects of type surfaceScalarField are


From function objectRegistry::lookupObject<Type>(const word&) const
in file /home/dinesh/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 131.

Can you give me a suggestion on this?
DineshramBalaji is offline   Reply With Quote

Old   September 25, 2013, 00:58
Default Walls replaced by atmosphere at both ends?
  #45
Senior Member
 
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 13
Sherlock_1812 is on a distinguished road
Dear Matthew,

I found it appropriate that I post my question here. I've made slight changes to the hot Room example by replacing the floor and ceiling with free surface. I have changed my temperature and pressure boundary conditions accordingly, but there is a slight problem

I have a uniform pressure field (0) throughout the domain, when in reality there has to be a hydrostatic variation of pressure. The height of the domain is 0.001 m.

Below is my 0/p_rgh file. Can you help identify the problem?

Code:
boundaryField
{
    top
    {
        type            totalPressure;
        p0              uniform 0;
        U               U;
        phi             phi;
        rho             rhok;
        psi             none;
        gamma           1;
        value           uniform 0;
    }

    base
    {
        type            buoyantPressure;
        rho             rhok;
        value           uniform 0;
    }

    leftWall
    {
        type            buoyantPressure;
        rho             rhok;
        value           uniform 0;
    }

    rightWall
    {
        type            buoyantPressure;
        rho             rhok;
        value           uniform 0;
    }

    frontAndBack
    {
    type        empty;
    }
}
Thanks in advance
__________________
Regards,

Srivaths
Sherlock_1812 is offline   Reply With Quote

Old   September 25, 2013, 09:11
Default
  #46
Member
 
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 18
mchurchf is on a distinguished road
What exactly is the problem? Do you mean after the solution develops, the pressure remains uniform, or do you mean that you aren't sure how to initialize the flow to have a hydrostatic variation?

Keep in mind that p_rgh is not static pressure. It is (p - rho_k*g*h)/rho_0, where rho_k is the density that comes from the Boussinesq approximation based on temperature and rho_0 is the constant density of the incompressible equations, so the hydrostatic variation is subtracted out.
mchurchf is offline   Reply With Quote

Old   September 25, 2013, 09:20
Default
  #47
Senior Member
 
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 13
Sherlock_1812 is on a distinguished road
Hi Matthew,

I mean the latter. I'm not sure how to initialise the pressure with the hydrostatic variation.

So from your explanation, should I nullify the effect of the subtraction that p_rgh does?
__________________
Regards,

Srivaths
Sherlock_1812 is offline   Reply With Quote

Old   September 25, 2013, 09:42
Default
  #48
Member
 
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 18
mchurchf is on a distinguished road
I make a custom field setting utility (you could look at the setFields code). You could really just take buoyantBoussinesqPisoFoam and strip out the whole time loop and replace it with a piece of code that says something like:


// Set the internal field values.
scalar p0 = 0.0;
scalar g = 9.81;
forAll(p_rgh,cellI)
{
scalar z = mesh.C()[cellI].z();
p_rgh[cellI] = p0 + g*z;
}

// Update the boundary values.
p_rgh.correctBoundaryConditions();

// Write out the updated field.
Info<< "Writing field p_rgh" << endl;
p_rgh.write();






Then compile it and run it on before running the solver.
arvindpj likes this.
mchurchf is offline   Reply With Quote

Old   September 25, 2013, 11:12
Default
  #49
Senior Member
 
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 13
Sherlock_1812 is on a distinguished road
I'll use this utility and proceed with the solution.

Many thanks, Matthew!
__________________
Regards,

Srivaths
Sherlock_1812 is offline   Reply With Quote

Old   April 8, 2014, 12:23
Default
  #50
Senior Member
 
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17
be_inspired is on a distinguished road
Matthew, All:

It is also needed to initialize the temperature in the internal Field?

I am trying to simulate a flat terrain with a bump in the middle using buoyantBoussinessqSimpleFoam based on stable conditions.
Ground temperature is 0. Sky temperature is 7K. Tref=0 K ( I have subtract 288K=Tref because my inlet profile is in relation to the monin-obukov theory as theta(z)-theta(0)) . Theta as the potential temperature.
p_rgh field has been initialized as p_rgh(z) =0 - 9.81*pos().z but I think that this is not correct.
When there is no T variation, rhok=1 so p_rgh=p-rhok*g*h=0 where p(static) is p=-rho*g*h.

p is not initialized because is not read accorting to the createFields.H file
T field has been initialzed constant and equal to 7K but I am not sure if it is needed to initialize to calculate properly rho_k and so, calculate internally r_rgh correctly
Tref = 0K( transportProperties)
U and T profiles at the inlet are based on Monin-Obukov theory for stable conditions
k and epsilon profiles at inlet are based on Monin-Obukov theory for stable conditions
For p and p_rgh, the BC at the patches and ground is set as buoyantPressure

The case is almost the same as the case of panda60, but there is no final confirmation about the correct set up. If possible, it would be great to make a summary of this simple case because it would be the starting point for any wind engineering simulation in a stratification state.

The simulation runs and the residuals are going down but at 4000 iterations k and epsilon start a warning because of bounding ( max k=17, max epsilon 5).

I have uploaded 2 animated gif files for T field and p_rgh field. Any idea?
p_rgh has been initialize as "0-9.81*pos().z" using funkySetFields but when 1000 iterations has been run, the field is completely different ( the color scale has changed also). That is because I think p_rgh is not needed to initialize and it is equal 0 when there is not a T variation along height.


Best Regards
Attached Images
File Type: gif T_Field_4000iter.gif (17.7 KB, 43 views)
File Type: gif r_rgh_Field_4000iter.gif (26.3 KB, 41 views)
leonardo.oliveira likes this.

Last edited by be_inspired; April 10, 2014 at 06:24.
be_inspired is offline   Reply With Quote

Old   September 19, 2014, 14:27
Default
  #51
New Member
 
Leonardo Oliveira
Join Date: Aug 2014
Location: Brazil
Posts: 11
Rep Power: 11
leonardo.oliveira is on a distinguished road
Hello M.Monteiro,

I'm trying to reproduce the same case that you posted here, but with a more complex terrain, and I'm having trouble in settin up the initial variables ("0" directory). If possible, could you post your case here or send it to my e-mail (leonardooliveira@ctgas.com.br), so I could use it as a reference?

Thank you in advance,
Sorry for the bad english.

Leonardo Oliveira
leonardo.oliveira is offline   Reply With Quote

Old   September 19, 2014, 16:23
Default
  #52
New Member
 
Leonardo Oliveira
Join Date: Aug 2014
Location: Brazil
Posts: 11
Rep Power: 11
leonardo.oliveira is on a distinguished road
Quote:
Originally Posted by be_inspired View Post
Matthew, All:

It is also needed to initialize the temperature in the internal Field?

I am trying to simulate a flat terrain with a bump in the middle using buoyantBoussinessqSimpleFoam based on stable conditions.
Ground temperature is 0. Sky temperature is 7K. Tref=0 K ( I have subtract 288K=Tref because my inlet profile is in relation to the monin-obukov theory as theta(z)-theta(0)) . Theta as the potential temperature.
p_rgh field has been initialized as p_rgh(z) =0 - 9.81*pos().z but I think that this is not correct.
When there is no T variation, rhok=1 so p_rgh=p-rhok*g*h=0 where p(static) is p=-rho*g*h.

p is not initialized because is not read accorting to the createFields.H file
T field has been initialzed constant and equal to 7K but I am not sure if it is needed to initialize to calculate properly rho_k and so, calculate internally r_rgh correctly
Tref = 0K( transportProperties)
U and T profiles at the inlet are based on Monin-Obukov theory for stable conditions
k and epsilon profiles at inlet are based on Monin-Obukov theory for stable conditions
For p and p_rgh, the BC at the patches and ground is set as buoyantPressure

The case is almost the same as the case of panda60, but there is no final confirmation about the correct set up. If possible, it would be great to make a summary of this simple case because it would be the starting point for any wind engineering simulation in a stratification state.

The simulation runs and the residuals are going down but at 4000 iterations k and epsilon start a warning because of bounding ( max k=17, max epsilon 5).

I have uploaded 2 animated gif files for T field and p_rgh field. Any idea?
p_rgh has been initialize as "0-9.81*pos().z" using funkySetFields but when 1000 iterations has been run, the field is completely different ( the color scale has changed also). That is because I think p_rgh is not needed to initialize and it is equal 0 when there is not a T variation along height.


Best Regards
Hello M.Monteiro,

I'm trying to reproduce the same case that you posted here, but with a more complex terrain, and I'm having trouble in settin up the initial variables ("0" directory). If possible, could you post your case here or send it to my e-mail (leonardooliveira@ctgas.com.br), so I could use it as a reference?

Thank you in advance,
Sorry for the bad english.

Leonardo Oliveira
leonardo.oliveira is offline   Reply With Quote

Old   June 26, 2019, 06:52
Default Higher order temperature density coupling in buoyantBoussinesqPimpleFoam
  #53
Member
 
Jost Kemper
Join Date: Apr 2018
Location: Kiel, Germany
Posts: 39
Rep Power: 8
Jost K is on a distinguished road
Dear Matthew,
Thanks for the wonderful explanation of buoyantBoussinesqPisoFoam.
If something similar was available for all the OpenFOAM solvers our lives would be a lot easier...


Towards my problem:

Dear All,

I am using buoyantBoussinesqPimpleFoam for heat transfer simulations in a stratified region of the ocean.
However, for my problem (temperature differences from 5°C to 25°C in water!) Boussinesqs approximation of a linear correlation between temperature and density is clearly inadequate.
For this reason, I am thinking about implementing a higher order polynomial for the temperature density coupling.
Also, in my case, salinity enters the density equation, adding even further nonlinearity.

I am not sure if buoyantBoussinesqPimpleFoams temperature equation remains valid under these circumstances.
Does anyone have an opinion on /experience with this matter?
I just do not have the thermodynamics background to figure this out.

All comments are appreciated!


Cheers,
Jost
Jost K is offline   Reply With Quote

Reply


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
Pressure Gradient in channelOodles sega OpenFOAM Running, Solving & CFD 14 August 12, 2009 06:21
Physical explanation of pressure coefficent Ben Main CFD Forum 1 January 21, 2008 09:42
Problem implementing DETAILED REACTION MECHANISM Phil FLUENT 0 May 5, 2007 11:38
Explanation of status report of equation solution nico OpenFOAM Running, Solving & CFD 0 April 15, 2006 05:36
Kiva Subroutine Explanation liqiang Main CFD Forum 1 November 20, 2004 11:27


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