CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

Implement a new thermo type: hePsiThermo?

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By chenhu

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 21, 2024, 11:35
Question Implement a new thermo type: hePsiThermo?
  #1
New Member
 
Chen Huang
Join Date: Jul 2009
Location: Gothenburg, Sweden
Posts: 14
Rep Power: 17
chenhu is on a distinguished road
Being an old OpenFOAM user (almost 15 years), I still strugle with thermophysical library of OpenFOAM. The temperature calculation in OpenFOAM is quite messy and problematic. A very common error is temperature out of range when using Janaf polynonial equation for getting Temperatur from enthalpy.
Anyway, in order to figure out /debugg, where is the problem, I need to implement a new thermo type: hePsiThermo->myHePsiThermo. But my case cannot recognize this new thermo type:

Note that I changed psiThermo -> myPsiThermo (class reference, abstract)
and hePsiThermo->myHePsiThermo (class tempalate reference)

Selecting thermodynamics package
{
type myHePsiThermo;
mixture singleStepReactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}



--> FOAM FATAL IO ERROR: (openfoam-2406)
Unknown psiReactionThermo type

Valid psiReactionThermo types :

23
(
hePsiThermo<homogeneousMixture<const<hConst<perfec tGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<homogeneousMixture<sutherland<hConst<p erfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<homogeneousMixture<sutherland<janaf<pe rfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<inhomogeneousMixture<const<hConst<perf ectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<inhomogeneousMixture<sutherland<hConst <perfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<inhomogeneousMixture<sutherland<janaf< perfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<multiComponentMixture<const<eConst<per fectGas<specie>>,sensibleInternalEnergy>>>
hePsiThermo<multiComponentMixture<const<hConst<per fectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<multiComponentMixture<sutherland<janaf <perfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<multiComponentMixture<sutherland<janaf <perfectGas<specie>>,sensibleInternalEnergy>>>
hePsiThermo<pureMixture<const<eConst<perfectGas<sp ecie>>,sensibleInternalEnergy>>>
hePsiThermo<pureMixture<const<hConst<perfectGas<sp ecie>>,sensibleEnthalpy>>>
hePsiThermo<pureMixture<sutherland<janaf<perfectGa s<specie>>,sensibleEnthalpy>>>
hePsiThermo<pureMixture<sutherland<janaf<perfectGa s<specie>>,sensibleInternalEnergy>>>
hePsiThermo<reactingMixture<const<eConst<perfectGa s<specie>>,sensibleInternalEnergy>>>
hePsiThermo<reactingMixture<const<hConst<perfectGa s<specie>>,sensibleEnthalpy>>>
hePsiThermo<reactingMixture<sutherland<janaf<perfe ctGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<reactingMixture<sutherland<janaf<perfe ctGas<specie>>,sensibleInternalEnergy>>>
hePsiThermo<singleStepReactingMixture<sutherland<j anaf<perfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<singleStepReactingMixture<sutherland<j anaf<perfectGas<specie>>,sensibleInternalEnergy>>>
hePsiThermo<veryInhomogeneousMixture<const<hConst< perfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<veryInhomogeneousMixture<sutherland<hC onst<perfectGas<specie>>,sensibleEnthalpy>>>
hePsiThermo<veryInhomogeneousMixture<sutherland<ja naf<perfectGas<specie>>,sensibleEnthalpy>>>
)

type mixture transport thermo equationOfState specie energy
chenhu is offline   Reply With Quote

Old   October 23, 2024, 06:42
Default The problem is solved.
  #2
New Member
 
Chen Huang
Join Date: Jul 2009
Location: Gothenburg, Sweden
Posts: 14
Rep Power: 17
chenhu is on a distinguished road
The thermophysical library is probably one of the most complex or messy parts in OpenFOAM with 6 levels objects and spider net connections, I think.

The problem is solved by modifying the following classes, including

src/combustionModels/CombustionModel/CombustionModel/CombustionModels.C
src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistrys.C (I use this combustion model in my case)
src/thermophysicalModels/basic/psiThermo/*
src/thermophysicalModels/reactionThermo/psiReactionThermo/*


Then I could call a new thermoType as follows:

18 thermoType
19 {
20 type myHePsiThermo;
21 mixture singleStepReactingMixture;
22 transport sutherland;
23 thermo janaf;
24 energy sensibleEnthalpy;
25 equationOfState perfectGas;
26 specie specie;
27 }


Then I can start debugging the temperature calculation in the hePsiThermo.C file.
Tobermory likes this.
chenhu is offline   Reply With Quote

Old   October 28, 2024, 13:49
Default
  #3
Senior Member
 
Join Date: Apr 2020
Location: UK
Posts: 737
Rep Power: 14
Tobermory will become famous soon enough
Haha - yes - agreed! It is the messiest part of OpenFOAM, and what's worse is that it keeps changing (in the Foundation version at least), so when you finally get your head around it, it's all out of date! Well done in figuring it out.

Incidentally, on the Janaf issue (usually T undershoot in my experience), you can use limitTemperature to keep it within bounds ... ofc that can still cause your code to blow up, but at least you don't end up with gigabytes of Janaf warning messages in your log file.
Tobermory is offline   Reply With Quote

Old   October 29, 2024, 10:16
Default
  #4
Senior Member
 
Domenico Lahaye
Join Date: Dec 2013
Posts: 798
Blog Entries: 1
Rep Power: 17
dlahaye is on a distinguished road
Do collaboration diagrams as shown at e.g. https://www.openfoam.com/documentati...calModels.html help here?
dlahaye is offline   Reply With Quote

Old   October 30, 2024, 05:10
Smile
  #5
New Member
 
Chen Huang
Join Date: Jul 2009
Location: Gothenburg, Sweden
Posts: 14
Rep Power: 17
chenhu is on a distinguished road
Quote:
Originally Posted by dlahaye View Post
Do collaboration diagrams as shown at e.g. https://www.openfoam.com/documentati...calModels.html help here?
Yes, the diagram helps.
chenhu is offline   Reply With Quote

Old   November 12, 2024, 06:12
Question changes in transport properties
  #6
New Member
 
Join Date: Mar 2022
Posts: 8
Rep Power: 4
Mid_Night is on a distinguished road
Hi. I had a need to create a new viscosity calculation model for chemical components in OF. I have a little experience working with the source code OF 12, but I can't figure out how to add a new transport component. I found a couple of guides where this was discussed, but it was for very old versions OF. Could you help me, where should I start? As far as I understand, I have to copy a number of libraries and rename them, but which libraries should I copy? For example, if I want to change the simplest library where viscosity is constant, which parts OF IT should I copy?
Thanks!
Mid_Night is offline   Reply With Quote

Reply

Tags
hepsithermo, temperature out of range, thermophysical library


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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Illegal cell label -1, fluent3DMeshToFoam BenGher OpenFOAM 7 October 10, 2023 01:02
rSF: p divergence in combustor (wt negative value) zonda OpenFOAM Pre-Processing 4 April 10, 2018 07:59
rhoPimpleFoam hardship petrus OpenFOAM Running, Solving & CFD 0 October 7, 2016 03:41
Time step continuity error lpz_michele OpenFOAM Running, Solving & CFD 0 October 12, 2015 07:05
Error during initialization of "rhoSimpleFoam" kornickel OpenFOAM Running, Solving & CFD 8 September 17, 2013 06:37


All times are GMT -4. The time now is 22:59.