
[Sponsors] 
August 1, 2012, 17:15 
Declaration of the function TH()

#1 
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,853
Blog Entries: 6
Rep Power: 32 
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(); 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]); Code:
// Energy>temperature inversion functions // Temperature from Enthalpy given an initial temperature T0 inline scalar TH(const scalar H, const scalar T0) const; Where can i find it? Can someone give me an advice? Thanks in advance Tobi 

August 1, 2012, 17:50 

#3 
Senior Member
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 734
Rep Power: 21 
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 
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,853
Blog Entries: 6
Rep Power: 32 
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: 112
Rep Power: 8 
Quote:
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:43 

#6  
Senior Member
starter
Join Date: Sep 2012
Posts: 112
Rep Power: 8 
Quote:
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: 112
Rep Power: 8 
[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 

August 28, 2013, 04:18 

#8 
Senior Member
starter
Join Date: Sep 2012
Posts: 112
Rep Power: 8 
Fellows
My image was very vague last time. I have reattached it so you may see the error. Regards 

August 28, 2013, 11:57 

#9 
New Member
Vito Raso
Join Date: Apr 2013
Location: Bari(Italy)
Posts: 7
Rep Power: 6 
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]); Code:
TCells[celli] = mixture_.TH(hCells[celli], TCells[celli]); Thanks in advance, Vito 

March 15, 2016, 06:53 

#10 
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,853
Blog Entries: 6
Rep Power: 32 
Hello guys,
I do not know why this topic is not tracked anymore... so I am sorry for not replaying. I think your problems solved (2 years ago)...
__________________
Keep foaming, Tobias Holzmann 

July 5, 2016, 15:17 
Maximum number of iterations exceeded

#11 
New Member
Henry
Join Date: May 2016
Posts: 15
Rep Power: 3 
Hi Tobi, I've been having some problems with the "Maximum number of iterations exceeded" error.
I've been pouring through the source code to find where the error is, but to I've got nowhere. Do you have any advice for how to go about solving this? The case is a wedge that I meshed using snappy Hex Mesh in the middle of a block mesh domain with an inlet, outlet, and symmetry plane on one side. This is what I got from the log file: Code:
/**\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 3.0.1   \\ / A nd  Web: www.OpenFOAM.org   \\/ M anipulation   \**/ Build : 3.0.1119cac7e8750 Exec : rhoCentralFoam parallel Date : Jul 01 2016 Time : 12:54:38 Host : "bft01cfd01" PID : 30359 Case : /home/mpiuser/OpenFOAM/mpiuser3.0.1/run/henry/wedge/wedge15maxIterError nProcs : 36 Slaves : 35 ( "bft01cfd01.30360" "bft01cfd01.30361" "bft01cfd01.30362" "bft01cfd01.30363" "bft01cfd01.30364" "bft01cfd01.30365" "bft01cfd01.30366" "bft01cfd01.30367" "bft01cfd01.30368" "bft01cfd01.30369" "bft01cfd01.30370" "bft01cfd02.26571" "bft01cfd02.26572" "bft01cfd02.26573" "bft01cfd02.26574" "bft01cfd02.26575" "bft01cfd02.26576" "bft01cfd02.26577" "bft01cfd02.26578" "bft01cfd02.26579" "bft01cfd02.26580" "bft01cfd02.26581" "bft01cfd02.26582" "bft01cfd03.29133" "bft01cfd03.29134" "bft01cfd03.29135" "bft01cfd03.29136" "bft01cfd03.29137" "bft01cfd03.29138" "bft01cfd03.29139" "bft01cfd03.29140" "bft01cfd03.29141" "bft01cfd03.29142" "bft01cfd03.29143" "bft01cfd03.29144" ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : nonBlocking polling iterations : 0 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring runtime modified files using timeStampMaster allowSystemOperations : Allowing usersupplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading thermophysical properties Selecting thermodynamics package { type hePsiThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } Reading field U Creating turbulence model Selecting turbulence model type laminar fluxScheme: Kurganov Starting time loop Mean and max Courant Numbers = 0.00521015 0.119072 deltaT = 2.4e06 Time = 2.4e06 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for Ux, Initial residual = 0.999285, Final residual = 0.00389594, No Iterations 5 smoothSolver: Solving for Uy, Initial residual = 0.999999, Final residual = 8.69665e17, No Iterations 5 smoothSolver: Solving for Uz, Initial residual = 1, Final residual = 8.81879e17, No Iterations 5 diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for e, Initial residual = 1.46977e11, Final residual = 1.46977e11, No Iterations 0 ExecutionTime = 0.68 s ClockTime = 1 s Mean and max Courant Numbers = 0.00625242 0.142579 deltaT = 2.88e06 Time = 5.28e06 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for Ux, Initial residual = 6.23273e10, Final residual = 6.23273e10, No Iterations 0 smoothSolver: Solving for Uy, Initial residual = 1.24042e05, Final residual = 6.5351e18, No Iterations 5 smoothSolver: Solving for Uz, Initial residual = 0.00028774, Final residual = 4.85118e17, No Iterations 5 diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for e, Initial residual = 5.7298e12, Final residual = 5.7298e12, No Iterations 0 [0] [1] [1] [1] > FOAM FATAL ERROR: [1] Maximum number of iterations exceeded [1] [1] From function Foam::scalar Foam::species::thermo<Thermo, Type>::T(Foam::scalar, Foam::scalar, Foam::scalar, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar)const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar)const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar)const) const [with Thermo = Foam::hConstThermo<Foam::perfectGas<Foam::specie> >; Type = Foam::sensibleInternalEnergy; Foam::scalar = double; Foam::species::thermo<Thermo, Type> = Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy>] [1] in file /home/openfoam/OpenFOAM/OpenFOAM3.0.1/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 66. [1] p: Code:
dimensions [1 1 2 0 0 0 0]; internalField uniform 18822.7; boundaryField { inlet { type fixedValue; value uniform 18822.7; } outlet { type zeroGradient; } airplane { type zeroGradient; } bottom { type zeroGradient; } top { type zeroGradient; } symmetry { type symmetryPlane; } left { type zeroGradient; } defaultFaces { type zeroGradient; } } Code:
dimensions [0 0 0 1 0 0 0]; internalField uniform 216.65; boundaryField { inlet { type fixedValue; value uniform 216.65; } outlet { type zeroGradient; } airplane { type zeroGradient; } bottom { type zeroGradient; } top { type zeroGradient; } left { type zeroGradient; } symmetry { type symmetryPlane; } defaultFaces { type zeroGradient; } } Code:
dimensions [0 1 1 0 0 0 0]; internalField uniform (400 0 0); //(246.933 0 0); boundaryField { inlet { type fixedValue; value uniform (400 0 0); } outlet { type zeroGradient; } airplane { type slip; } bottom { type zeroGradient; } top { type zeroGradient; } left { type zeroGradient; } symmetry { type symmetryPlane; } defaultFaces { type zeroGradient; } } 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Compile problem  ivanyao  OpenFOAM Running, Solving & CFD  1  October 12, 2012 09:31 
ParaView for OF1.6ext  Chrisi1984  OpenFOAM Installation  0  December 31, 2010 07:42 
latest OpenFOAM1.6.x from git failed to compile  phsieh2005  OpenFOAM Bugs  25  February 9, 2010 05:37 
DecomposePar links against liblamso0 with OpenMPI  jens_klostermann  OpenFOAM Bugs  11  June 28, 2007 17:51 
Axisymmetrical mesh  Rasmus Gjesing (Gjesing)  OpenFOAM Native Meshers: blockMesh  10  April 2, 2007 14:00 