
[Sponsors] 
February 22, 2011, 18:54 
Modifying density update in fireFoam

#1 
Member
Join Date: Sep 2010
Posts: 31
Rep Power: 7 
Hi All,
I am trying to substitute the density calcultaion that OpenFoam uses in fireFoam with my own density calculation model. Since I am a newbie in OF and a newbie in C++ also, I haven't completely understood, how the functionalities and the dependencies are in OFfireFoam. . For example, I am even confused what rho = thermo.rho() exactly means, what exactly happens there and where the thermo class is located at... So my questions are: (1) can the density calculation be easily swaped with a different model? (2) where is the thermo class located? (3) does anyone know how the density update works in OF? Is it based on the recursive beta PDF integration and where are the actual calculations happening? Any help is greatly appreciated, Andreas 

February 28, 2011, 12:10 

#2 
Senior Member
Christian Lucas
Join Date: Aug 2009
Location: Braunschweig, Germany
Posts: 200
Rep Power: 9 
Hi,
rho = thermo.rho() returns the density field. Have a look at basicThermo.C, basicPsiThermo.C or basicRhoThermo.C About (1), depends what you want to do. But most of the time, you have to rewrite the entire thermo library About(2) src/thermophsyicalModels About (3) have a look at the classes above. Regards, Christian Last edited by Chris Lucas; March 3, 2011 at 13:24. 

March 19, 2011, 20:48 

#3 
Member
Join Date: Sep 2010
Posts: 31
Rep Power: 7 
Hallo Christian,
I am still puzzled how the density update works for the case of the fireFoam solver. The presentation attached states that the density calculation is based on the recursive beta integration in fireFoam. So far, I have not been able to locate where this is happening. When I start from the main file of the fireFoam solver (fireFoam.C), I find that: And I will end up looking at “basicPsiThermo.H”, which defines the “thermo” class called in “fireFoam.C”. In the lines 98101, I find that: Code:
00097 // Density [kg/m^3]  uses current value of pressure 00098 virtual tmp<volScalarField> rho() const 00099 { 00100 return p_*psi(); 00101 } I would really appreciate if you could give me some hints on how to understand the density update process. Gruß, Andreas 

March 22, 2011, 04:02 

#4 
Senior Member
Christian Lucas
Join Date: Aug 2009
Location: Braunschweig, Germany
Posts: 200
Rep Power: 9 
Hi,
p_ > from the solver. In the solver, the p field is a pointer, psi> equation of state. Regards, Christian 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Density based solver with cnst density!  p_agoodboy  FLUENT  0  November 8, 2010 23:18 
REAL GAS UDF  brian  FLUENT  6  September 11, 2006 08:23 
Warning 097  AB  CDadapco  6  November 15, 2004 05:41 
variable density water  Atit Koonsrisuk  CFX  2  July 24, 2003 03:07 
density update by UDF in nonpremixed combustion  IKSOO  FLUENT  2  December 8, 2002 21:37 