# Declaration of the function TH()

 Register Blogs Members List Search Today's Posts Mark Forums Read

 August 1, 2012, 17:15 Declaration of the function TH() #1 Senior Member     Tobias Holzmann Join Date: Oct 2010 Location: Leoben (Austria) Posts: 1,100 Blog Entries: 6 Rep Power: 19 Hi all, I am trying to find the place where the temperature is derived from the enthalpy. - Solver: rhoSimpleFoam - thermodynamics: hPsiThermo - transport: hConstTransport Therefor I had a look at the solver and the enthalpy equation h: Code: ```{ fvScalarMatrix hEqn ( fvm::div(phi, h) - fvm::Sp(fvc::div(phi), h) - fvm::laplacian(turbulence->alphaEff(), h) == - fvc::div(phi, 0.5*magSqr(U), "div(phi,K)") ); hEqn.relax(); hEqn.solve(); thermo.correct();``` Here I think the step I am searching is in the function "correct". That leads me to the thermomodel -> hPsiThermo.C. From the correct() function you get into the calculate() function. And there (I think) you get the temperature derived from the enthalpy. Its described in the *.H file that T is calculated there. I found that function: Code: ` TCells[celli] = mixture_.TH(hCells[celli], TCells[celli]);` And would find the definition of that function. With grep I get into the specieThermo.H file. Here I found that: Code: ``` // Energy->temperature inversion functions //- Temperature from Enthalpy given an initial temperature T0 inline scalar TH(const scalar H, const scalar T0) const;``` So I am very sure that I am on the right way. But thats just a function prototype and not a function declaration. I searched everywhere but do not find the definition of that function. Where can i find it? Can someone give me an advice? Thanks in advance Tobi

 August 1, 2012, 17:30 #2 Senior Member     Tobias Holzmann Join Date: Oct 2010 Location: Leoben (Austria) Posts: 1,100 Blog Entries: 6 Rep Power: 19 I should have a look at the specieThermoI.H So solved Thanks for reading

 August 1, 2012, 17:50 #3 Senior Member     Marco A. Turcios Join Date: Mar 2009 Location: Vancouver, BC, Canada Posts: 727 Rep Power: 18 If you look in specieThermoI.H you will find the function TH. Looking at it you will see that the template is calling another function T and feeding it the proper coefficients (whether its enthalpy or energy you are inverting). The function T is also in the file, near the very beginning. Here is where temperature is obtained by inverting the enthalpy/energy based on the the species thermo (its a simple Newton's method if I read the code right). EDIT: Hehe Tobi, you must have been thinking while I was typing ;-) Last edited by mturcios777; August 1, 2012 at 17:51. Reason: Answered already

 August 1, 2012, 17:56 #4 Senior Member     Tobias Holzmann Join Date: Oct 2010 Location: Leoben (Austria) Posts: 1,100 Blog Entries: 6 Rep Power: 19 Hihi, well, nevertheless thanks for reading and anwering You are right. After I read the specieThermoI.H file I saw that TH is calling a other function T() and thats defined in the beginning of the thermo model Wow .. cool ... hihi. I am getting familiar and familiar with OF code.

August 28, 2013, 03:42
#5
Senior Member

starter
Join Date: Sep 2012
Posts: 109
Rep Power: 6
Quote:
 Originally Posted by Tobi Hihi, well, nevertheless thanks for reading and anwering You are right. After I read the specieThermoI.H file I saw that TH is calling a other function T() and thats defined in the beginning of the thermo model Wow .. cool ... hihi. I am getting familiar and familiar with OF code.
Hello Tobias and Marcos,

I have this same type of problem but like you I am not a very senior CFD specialist. I was trying to follow your comments but I do not understand how to resolve this issue. I have recently enrolled in postgrad by research student this is my first time with CFD and openfoam. I am solving for air flow in a pipe. Air is taken as compressible. So I am using rhoPimpleFoam. Can you please advise how I can get rid of this error.

I have applied following strategies

1. With small number of cells (coarse mesh), as rhoMax increases, number of time steps increase before solution fails.2. As number of cells increase, as rhoMax increases, number of time steps decrease against the same number of rhoMax.

I have tried this strategy on cell size 13000, 26000 and 85000 for 8 trial cases for rhoMax 2, Pressure 100,000 and Temperature 300.

I have tried to increase pressure and temperatures also.

Upon increasing value of pressure to 200,000, error was produced at 0.0184 against 0.0181 at 100,000. The error came after only three more steps. Cell number is 13000. Value of rhoMax was kept as 2.

Upon increasing the value of temperature to 400, error was produced at 0.0458 against 0.0341 at 300. Cell number is 13000. Value of rhoMax was kept as 2.

I shall be very grateful.

Regards

Attached Images
 error.jpg (57.5 KB, 30 views)

August 28, 2013, 03:43
#6
Senior Member

starter
Join Date: Sep 2012
Posts: 109
Rep Power: 6
Quote:
 Originally Posted by Tobi Hihi, well, nevertheless thanks for reading and anwering You are right. After I read the specieThermoI.H file I saw that TH is calling a other function T() and thats defined in the beginning of the thermo model Wow .. cool ... hihi. I am getting familiar and familiar with OF code.
Hello Tobias and Marcos,

I have this same type of problem but like you I am not a very senior CFD specialist. I was trying to follow your comments but I do not understand how to resolve this issue. I have recently enrolled in postgrad by research student this is my first time with CFD and openfoam. I am solving for air flow in a pipe. Air is taken as compressible. So I am using rhoPimpleFoam. Can you please advise how I can get rid of this error.

I have applied following strategies

1. With small number of cells (coarse mesh), as rhoMax increases, number of time steps increase before solution fails.

2. As number of cells increase, as rhoMax increases, number of time steps decrease against the same number of rhoMax.

I have tried this strategy on cell size 13000, 26000 and 85000 for 8 trial cases for rhoMax 2, Pressure 100,000 and Temperature 300.

I have tried to increase pressure and temperatures also.

Upon increasing value of pressure to 200,000, error was produced at 0.0184 against 0.0181 at 100,000. The error came after only three more steps. Cell number is 13000. Value of rhoMax was kept as 2.

Upon increasing the value of temperature to 400, error was produced at 0.0458 against 0.0341 at 300. Cell number is 13000. Value of rhoMax was kept as 2.

I shall be very grateful.

Regards

August 28, 2013, 03:44
#7
Senior Member

starter
Join Date: Sep 2012
Posts: 109
Rep Power: 6
[QUOTE=sihaqqi;448455]

Hello Tobias and Marcos,

I have this same type of problem but like you I am not a very senior CFD specialist. I was trying to follow your comments but I do not understand how to resolve this issue. I have recently enrolled in postgrad by research student this is my first time with CFD and openfoam. I am solving for air flow in a pipe. Air is taken as compressible. So I am using rhoPimpleFoam. Can you please advise how I can get rid of this error.

I have applied following strategies

1. With small number of cells (coarse mesh), as rhoMax increases, number of time steps increase before solution fails.

2. As number of cells increase, as rhoMax increases, number of time steps decrease against the same number of rhoMax.

I have tried this strategy on cell size 13000, 26000 and 85000 for 8 trial cases for rhoMax 2, Pressure 100,000 and Temperature 300.

I have tried to increase pressure and temperatures also.

Upon increasing value of pressure to 200,000, error was produced at 0.0184 against 0.0181 at 100,000. The error came after only three more steps. Cell number is 13000. Value of rhoMax was kept as 2.

Upon increasing the value of temperature to 400, error was produced at 0.0458 against 0.0341 at 300. Cell number is 13000. Value of rhoMax was kept as 2.

I shall be very grateful.

Regards
Attached Images
 error.jpg (57.5 KB, 10 views)

August 28, 2013, 04:18
#8
Senior Member

starter
Join Date: Sep 2012
Posts: 109
Rep Power: 6
Fellows

My image was very vague last time. I have reattached it so you may see the error.

Regards
Attached Images
 error.jpg (57.5 KB, 16 views)

 August 28, 2013, 11:57 #9 New Member   Vito Raso Join Date: Apr 2013 Location: Bari(Italy) Posts: 7 Rep Power: 4 Hi foamers, I'd like to understand how temperature is calculated in library hhuMixtureThermo.C because as you' ve explained in previous posts temperature is obtained from TH() function. However in hhuMixtureThermo library there are 3 functions to calculate unburnt(Tu) and burnt gas(Tb), mixture(T) temperature. It's clear how Tu and Tb are calculated: Code: ``` TuCells[celli] = this->cellReactants(celli).TH(huCells[celli], TuCells[celli]); TbCells[celli] = this->cellProducts(celli).TH(hCells[celli], TCells[celli]);``` Is mixture calculated from this function: Code: `TCells[celli] = mixture_.TH(hCells[celli], TCells[celli]);` or based upon Tu and Tb ? Thanks in advance, Vito

 Thread Tools Display Modes Linear Mode

 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 OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post ivanyao OpenFOAM Running, Solving & CFD 1 October 12, 2012 09:31 Chrisi1984 OpenFOAM Installation 0 December 31, 2010 07:42 phsieh2005 OpenFOAM Bugs 25 February 9, 2010 05:37 jens_klostermann OpenFOAM Bugs 11 June 28, 2007 17:51 Rasmus Gjesing (Gjesing) OpenFOAM Native Meshers: blockMesh 10 April 2, 2007 14:00

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