|
[Sponsors] |
buoyantBoussinesqPisoFoam: A detailed explanation |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 17, 2012, 04:54 |
buoyantBoussinesqPisoFoam
|
#41 |
New Member
Ashvin Chaudhari
Join Date: Aug 2011
Location: Finland
Posts: 23
Rep Power: 15 |
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 |
|
September 17, 2012, 11:22 |
|
#42 |
Member
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 19 |
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 |
|
September 20, 2012, 11:47 |
|
#43 |
New Member
Ashvin Chaudhari
Join Date: Aug 2011
Location: Finland
Posts: 23
Rep Power: 15 |
I have downloaded the code. Thank you very much Matt.
-Ashvin |
|
November 14, 2012, 15:42 |
BuoyantBoussinesqPimpleFOAM
|
#44 |
Member
Dinesh Balaji
Join Date: Oct 2012
Posts: 43
Rep Power: 14 |
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? |
|
September 25, 2013, 01:58 |
Walls replaced by atmosphere at both ends?
|
#45 |
Senior Member
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 13 |
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; } }
__________________
Regards, Srivaths |
|
September 25, 2013, 10:11 |
|
#46 |
Member
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 19 |
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. |
|
September 25, 2013, 10:20 |
|
#47 |
Senior Member
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 13 |
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 |
|
September 25, 2013, 10:42 |
|
#48 |
Member
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 19 |
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. |
|
September 25, 2013, 12:12 |
|
#49 |
Senior Member
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 13 |
I'll use this utility and proceed with the solution.
Many thanks, Matthew!
__________________
Regards, Srivaths |
|
April 8, 2014, 13:23 |
|
#50 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
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 Last edited by be_inspired; April 10, 2014 at 07:24. |
|
September 19, 2014, 15:27 |
|
#51 |
New Member
Leonardo Oliveira
Join Date: Aug 2014
Location: Brazil
Posts: 11
Rep Power: 12 |
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 |
|
September 19, 2014, 17:23 |
|
#52 | |
New Member
Leonardo Oliveira
Join Date: Aug 2014
Location: Brazil
Posts: 11
Rep Power: 12 |
Quote:
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 |
||
June 26, 2019, 07:52 |
Higher order temperature density coupling in buoyantBoussinesqPimpleFoam
|
#53 |
Member
Jost Kemper
Join Date: Apr 2018
Location: Kiel, Germany
Posts: 39
Rep Power: 8 |
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 |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Pressure Gradient in channelOodles | sega | OpenFOAM Running, Solving & CFD | 14 | August 12, 2009 07:21 |
Physical explanation of pressure coefficent | Ben | Main CFD Forum | 1 | January 21, 2008 10:42 |
Problem implementing DETAILED REACTION MECHANISM | Phil | FLUENT | 0 | May 5, 2007 12:38 |
Explanation of status report of equation solution | nico | OpenFOAM Running, Solving & CFD | 0 | April 15, 2006 06:36 |
Kiva Subroutine Explanation | liqiang | Main CFD Forum | 1 | November 20, 2004 12:27 |