|
[Sponsors] |
February 22, 2011, 17:54 |
Modifying density update in fireFoam
|
#1 |
Member
Join Date: Sep 2010
Posts: 36
Rep Power: 15 |
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 OF-fireFoam. . 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, 11:10 |
|
#2 |
Senior Member
Christian Lucas
Join Date: Aug 2009
Location: Braunschweig, Germany
Posts: 202
Rep Power: 17 |
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 12:24. |
|
March 19, 2011, 19:48 |
|
#3 |
Member
Join Date: Sep 2010
Posts: 36
Rep Power: 15 |
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 98-101, 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, 03:02 |
|
#4 |
Senior Member
Christian Lucas
Join Date: Aug 2009
Location: Braunschweig, Germany
Posts: 202
Rep Power: 17 |
Hi,
p_ -> from the solver. In the solver, the p field is a pointer, psi-> equation of state. Regards, Christian |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Density based solver with cnst density! | p_agoodboy | FLUENT | 0 | November 8, 2010 22:18 |
REAL GAS UDF | brian | FLUENT | 6 | September 11, 2006 08:23 |
Warning 097- | AB | Siemens | 6 | November 15, 2004 04:41 |
variable density water | Atit Koonsrisuk | CFX | 2 | July 24, 2003 03:07 |
density update by UDF in non-premixed combustion | IKSOO | FLUENT | 2 | December 8, 2002 20:37 |