minus enthalpy and internal energy

390 views
Skip to first unread message

박태건

unread,
Feb 27, 2022, 9:15:47 PM2/27/22
to Cantera Users' Group
hi,
in matlab, i used set formular like this
a = GRI30
set(a,'T',298.15,'P',oneatm,'X','CO2 :1')

and then 
>> a

  gri30:

       temperature   298.15 K
          pressure   1.0132e+05 Pa
           density   1.7988 kg/m^3
  mean mol. weight   44.009 kg/kmol
   phase of matter   gas

                          1 kg             1 kmol    
                     ---------------   ---------------
          enthalpy       -8.9415e+06       -3.9351e+08  J
   internal energy       -8.9979e+06       -3.9599e+08  J
           entropy            4857.8        2.1379e+05  J/K
    Gibbs function        -1.039e+07       -4.5725e+08  J
 heat capacity c_p            843.81             37135  J/K
 heat capacity c_v            654.88             28821  J/K

                      mass frac. Y      mole frac. X     chem. pot. / RT
                     ---------------   ---------------   ---------------
               CO2                 1                 1           -184.45
     [  +52 minor]                 0                 0  


1. in here, why the enthalpy and internal energy values are minus?
2. what is the chem.pot./RT?

Bryan Weber

unread,
Mar 5, 2022, 10:10:16 AM3/5/22
to Cantera Users' Group
Hi,

The enthalpy, internal energy, and possibly entropy can be negative because they are calculated relative to the reference state (also sometimes called the standard state). https://www.wikiwand.com/en/Standard_state

The absolute value of the enthalpy and internal energy should never be considered in isolation, only the difference of those quantities between two states.

chem.pot./RT is the chemical potential divided by the product of the gas constant and the temperature, to give a dimensionless quantity.

Best,
Bryan

박태건

unread,
Apr 13, 2022, 3:10:56 AM4/13/22
to Cantera Users' Group

Thank, Bryan

I have another question,
The enthalpy value in Cantera is different from my thermodynamics book, so how should I take this?

In my book,
air enthalpy in 300 K, 101325 pa is 300.3 kJ/kg

In cantera,
>> a = Solution('air.cti','air')

  air:

       temperature   300 K
          pressure   1.0133e+05 Pa
           density   1.1768 kg/m^3
  mean mol. weight   28.97 kg/kmol

   phase of matter   gas

                          1 kg             1 kmol    
                     ---------------   ---------------
          enthalpy              1894             54868  J
   internal energy            -84207       -2.4395e+06  J
           entropy              6866        1.9891e+05  J/K
    Gibbs function       -2.0579e+06       -5.9617e+07  J
 heat capacity c_p              1003             29058  J/K
 heat capacity c_v            716.04             20744  J/K


                      mass frac. Y      mole frac. X     chem. pot. / RT
                     ---------------   ---------------   ---------------
                O2           0.23195              0.21           -26.234
                N2           0.75426              0.78           -23.282
                AR           0.01379              0.01           -23.215
     [   +5 minor]                 0                 0  


2022년 3월 6일 일요일 오전 12시 10분 16초 UTC+9에 bryan....@gmail.com님이 작성:

Hejitian Pan

unread,
Apr 16, 2022, 6:46:32 AM4/16/22
to Cantera Users' Group

Hi,
As Bryan says the enthalpy depends on the reference substance and state. Your book may have a different reference state. You can check the enthalpy difference (e.g. enthalpy of air at 300K and 1000K) and see if it is in good accordance. Generally speaking you dont have to worry about this enthalpy problem, espeacially for a well validated mechanism and thermodynamic database like GRI.
Regards,
Pan

Aiden Azarnoush

unread,
Jan 25, 2024, 10:45:05 AM1/25/24
to Cantera Users' Group
I still have a problem with internal energy. So let's consider steam with initial pressure 40 bar (4e6 Pa). here is what I get for internal enrgy using EES, CoolProp and Canetra:


EES:

u[1] = u(Steam, P=4e6, X=1.0) ---> answer: u[1] = 2602 kJ/kg

Coolprop:

u1 = CoolProp.PropsSI('U', 'P', 4e6, 'Q', 1.0, 'Water') / 1e3 ----> answer: u1 = 2601.7 kJ/kg


Cantera:

steam = cantera.water()

steam.PQ = 4e6, 1.0

u1 = steam.int_energy_mass / 1e3 ----> answer: u1 = -13368.40 kJ/kg


so I don't understand this behavior. I just want to get the same answer as Coolprop and EES when I am solving any problems. Any idea what should I do? Thank you.
(Please share with us snippet code or url if you want to explain)

Bryan Weber

unread,
Jan 25, 2024, 5:56:28 PM1/25/24
to Cantera Users' Group
Hi,

You cannot compare a single value of internal energy (or enthalpy or entropy) between these different programs because they all use different references states. Or, in this case for water, it seems CoolProp and EES use the same reference state, but if I recall correctly they do not for refrigerant fluids. In any case, please compare the difference of internal energy between two states and you will see they match because the reference state value is cancelled out by subtracting.

Best,
Bryan 

Reply all
Reply to author
Forward
0 new messages