CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

Thermophysical models and chemistry models

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

Reply
 
LinkBack Thread Tools Display Modes
Old   July 15, 2010, 15:06
Default So back to my original question...
  #21
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 725
Rep Power: 18
mturcios777 will become famous soon enough
Sounds like a lot of good discussion came from this thread, which I'm glad about.

However, I'm still needing to calculate the reaction rates without solving the ODE. Any hints? Pretty please?
mturcios777 is offline   Reply With Quote

Old   July 15, 2010, 15:14
Default
  #22
Member
 
Hassan Kassem
Join Date: May 2010
Location: UK
Posts: 80
Rep Power: 7
hk318i is on a distinguished road
Which model do you want to use to calculate the reaction rates?
hk318i is offline   Reply With Quote

Old   July 15, 2010, 18:08
Default
  #23
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 725
Rep Power: 18
mturcios777 will become famous soon enough
I'm using chemistry:

psiChemistryModel ODEChemistryModel<gasThermoPhysics>;

and thermo:

thermoType hPsiMixtureThermo<reactingMixture<gasThermoPhysics >>

I can access the chemistry.solve() function, which acts very much like chemistry.calculate (for ODE chemistry). I was temporarily using a really ugly fix by just replacing the contents of the solve() function with calculate(), and it works. But I have to remember to make changes when I use other solvers that require chemistry.solve(). I'm sure it has something to do with the way things are templatized, but I'm at a loss as to how to deal with it.

Thanks for the help
mturcios777 is offline   Reply With Quote

Old   July 15, 2010, 18:33
Default
  #24
Member
 
Hassan Kassem
Join Date: May 2010
Location: UK
Posts: 80
Rep Power: 7
hk318i is on a distinguished road
I find chemistry models and thermophysical very complicated specially I am trying to understand it myself. I attended openfoam foundation course but these models were not in the scope of the course.
I feel that everyone know something I totally missed. I hope someone will explain soon on wiki or here how these models work.
I am implementing EDM model and it starts to work good but I still need to access the enthalpy of formation of each specie to calculate energy equation source term. Can anyone tell me what is the chemical enthalpy hc()?
hk318i is offline   Reply With Quote

Old   July 15, 2010, 19:26
Default
  #25
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 725
Rep Power: 18
mturcios777 will become famous soon enough
Ditto brother. I'm sure its just an inheritance thing. I was able to sort of gain access by ensuring that a pure virtual function existed for calculate (I think it was in the psiChemistry.H file), which allowed the scope to be resolved, but then complained that ther function wasn't implemented...

I guess I'll use the ugly hack for the time being...

Last edited by mturcios777; July 15, 2010 at 19:27. Reason: Error in post
mturcios777 is offline   Reply With Quote

Old   August 19, 2010, 16:56
Default Diffusion problem.
  #26
Member
 
sahm's Avatar
 
S. Ali H.M.
Join Date: Nov 2009
Location: Chicago
Posts: 69
Rep Power: 7
sahm is on a distinguished road
Send a message via Yahoo to sahm
Quote:
Originally Posted by smehdi609 View Post
This is the hEqn.h in reactingFoam in Openfoam1.6:

{
fvScalarMatrix hEqn
(
fvm::ddt(rho, h)
+ mvConvection->fvmDiv(phi, h)
- fvm::laplacian(turbulence->alphaEff(), h)
==
DpDt
);

hEqn.relax();
hEqn.solve();

thermo.correct();
}

I do not see any source term, I do not think that it solves for sensible enthalpy, are you sure?
I have checked some books, when you contain Hc ( enthalpy of formation) inside h( total enthalpy) you have the reaction reaction source term there. So there is no extra term for reaction. Actually the chemical energy is released when a high energy material like CH4 is decreasing in Y( mass ratio) and a low energy material like CO2 is increasing.

But I have another problem. In this hEqn code, there should be one more term that should compensate enthalpy diffusion due to mass diffusion. I openFoam 1.7 this problem is fixed, because h is hs (sensible enthalpy ) which doesn't need that term. Compare this to equation 1.75 in "Turbulence Combustion" book by Nurbert Peters.
Actually I did one pure diffusion case, that proves reactingFoam in 1.6 has a problem.
__________________
SAHM
sahm is offline   Reply With Quote

Old   August 19, 2010, 17:28
Default
  #27
Member
 
Hassan Kassem
Join Date: May 2010
Location: UK
Posts: 80
Rep Power: 7
hk318i is on a distinguished road
Quote:
Originally Posted by sahm View Post
I have checked some books, when you contain Hc ( enthalpy of formation) inside h( total enthalpy) you have the reaction reaction source term there. So there is no extra term for reaction. Actually the chemical energy is released when a high energy material like CH4 is decreasing in Y( mass ratio) and a low energy material like CO2 is increasing.

But I have another problem. In this hEqn code, there should be one more term that should compensate enthalpy diffusion due to mass diffusion. I openFoam 1.7 this problem is fixed, because h is hs (sensible enthalpy ) which doesn't need that term. Compare this to equation 1.75 in "Turbulence Combustion" book by Nurbert Peters.
Actually I did one pure diffusion case, that proves reactingFoam in 1.6 has a problem.
you are right, there are no source term for reaction in total enthalpy equation, But I am using the new version which solve the sensibly enthalpy equation which contains a source term for reaction. I do not know how to calculate this term because it needs the enthalpy of formation of each specie which I cannot calculate in OpenFOAM. Do you have any idea how can I get it?
I checked equation 1.75 in Peter's book, but I am not sure if alphaEff() conceder the mass diffusion or not. As I noticed the hs and h equations are identical except the source term.
hk318i is offline   Reply With Quote

Old   August 19, 2010, 17:40
Default Trying to figure them out.
  #28
Member
 
sahm's Avatar
 
S. Ali H.M.
Join Date: Nov 2009
Location: Chicago
Posts: 69
Rep Power: 7
sahm is on a distinguished road
Send a message via Yahoo to sahm
Actually I was trying to see if I could find how I can have access to Hc like other people. Since I want to use cantera in OpenFoam and that works with OF1.5 ( thanks to Markus Rheim) I had to change the code of reactingFoam to get rid of that problem. So I`m still trying to find out about different parts of this code.
Quote:
Originally Posted by hk318i View Post
I checked equation 1.75 in Peter's book, but I am not sure if alphaEff() conceder the mass diffusion or not. As I noticed the hs and h equations are identical except the source term.

About AlphaEff, I don't know. That alphaEff has to do with turbulence, but my cases are mostly laminar, so I don't know if that works for turbulent properly or not, but in my cases its giving me errors. Also you should notice that this aplha is not temperature diffusivity, it is alpha*cp or k/rho.
I have one more question about YEqn File, but that doesn't go with thread.
If YEqn.H we have muEff which acts simmilar to this alphaEff, the code is:
solve
(
fvm::ddt(rho, Yi)
+ mvConvection->fvmDiv(phi, Yi)
- fvm::laplacian(turbulence->muEff(), Yi)
==
kappa*chemistry.RR(i),
mesh.solver("Yi")
);

I don't know why it is muEff(), I mean it should be effective mass concentration coefficient D or DEff. Do you anything about this?

I have some cases, If you would like to see, I can send them to you, just send me your email.
__________________
SAHM
sahm is offline   Reply With Quote

Old   August 19, 2010, 17:50
Default
  #29
Member
 
Hassan Kassem
Join Date: May 2010
Location: UK
Posts: 80
Rep Power: 7
hk318i is on a distinguished road
sure my email is hassan.kassem@gmail.com

http://jeacfm.cse.polyu.edu.hk/downl..._MarzoukOA.pdf
I think this paper is useful. They used reactingFoam. you can check the governing equations.
hk318i is offline   Reply With Quote

Old   August 19, 2010, 18:07
Default
  #30
New Member
 
Silvano
Join Date: Aug 2010
Location: Chicago /Torino Us/Italy
Posts: 11
Rep Power: 6
SilPaut is on a distinguished road
Quote:
Originally Posted by smehdi609 View Post
Just a quick note:
In reactingFoam, a transport equation for "total enthalpy " is solved. Total enthalpy is the sensible enthalpy plus the chemical enthalpy. Thus, the transport equation for this variable does not contain any chemical reaction source term, it is conserved in an adiabatic flame. The chemical reaction source terms are provided for the species mass fractions. Once you get the species mass fractions, the "thermo->correct();" method will calculate the heat of formation and desctruction of different species.
Hi,
can you please help me to understand what "thermo->correct()" do in hEqn.H ?

thanks
Silvano
SilPaut is offline   Reply With Quote

Old   July 13, 2011, 02:16
Default
  #31
New Member
 
Join Date: Nov 2010
Posts: 11
Rep Power: 6
Achin is on a distinguished road
Hi

I am just starting to explore openfoam. I have a quick question in the following.

autoPtr<basicThermo> pThermo
I understand that in above line pThermo is an object of the template class autoptr.
basicThermo& thermo = pThermo();
But I don't understand is that how the object pThermo is used as pThermo(). I understand that thermo is a reference variable of type basicThermo. Please explain the use of pThermo().

Regards
Achin is offline   Reply With Quote

Old   April 6, 2012, 10:53
Post
  #32
New Member
 
Mostafa Moghaddami
Join Date: Oct 2009
Posts: 13
Rep Power: 7
Mostafa is on a distinguished road
Dear All

I am going to run a case includes some liquid species that react with each other. I am going to use the reactingFoam as a solver.
All species have constant proprties and I want to use the following thermo type:
thermoType hsPsiThermo<reactingMixture<constTransport<specieT hermo<eConstThermo<icoPolynomial>>>>>>

but when I set it in the constat/thermophysicalProperties file and run the case, I get this error:

------------------------------------------------------------------------------------
--> FOAM FATAL ERROR:
Inconsistent thermo package selected:

hsPsiThermo<reactingMixture<constTransport<specieT hermo<eConstThermo<icoPolynomial>>>>>>

Please select a thermo package based on gasThermoPhysics. Valid options include:

3
(
hsPsiMixtureThermo<singleStepReactingMixture<gasTh ermoPhysics>>
hsPsiMixtureThermo<multiComponentMixture<gasThermo Physics>>
hsPsiMixtureThermo<reactingMixture<gasThermoPhysic s>>
)



From function autoPtr<hsCombustionThermo> hsCombustionThermo::NewType(const fvMesh&, const word&)
in file combustionThermo/hsCombustionThermo/hsCombustionThermoNew.C at line 116.

FOAM exiting
-------------------------------------------------------------------------------------

What should I do to use the reactingFoam for constant propertie species?

Thanks in advance for your help.
Mostafa is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Equilibrium Reaction Rates/Gas Chemistry Greg Perkins FLUENT 5 April 27, 2009 15:05


All times are GMT -4. The time now is 00:15.