Transport properties for nDodecane_Reitz mechanism

638 views
Skip to first unread message

Alexander

unread,
Jul 14, 2021, 11:05:10 AM7/14/21
to Cantera Users' Group
Hi everyone,

I am pretty new to the world of reaction mechanisms and I am currently working with a ct.Solution based on the nDodecane_Reitz.yaml mechanism which already comes with cantera when being downloaded.

it says
"The thermodynamic and transport properties of the proposed mechanism are taken from the detailed n-alkane and PAH mechanisms of Westbrook et al. [16] and Slavinskaya et al. [22]"


Here, no transport properties are provided. Could anyone ever find and add these to a transport data file which can be read by ct.Solution()?

In this case, I would be super happy if someone could share the file. I am also thankful about any other hints which help me to access the data.

Thank you!

Alexander

Bryan Weber

unread,
Jul 14, 2021, 11:07:21 AM7/14/21
to Cantera Users' Group
Hi Alexander,

It looks like the transport data is available from reference [22]: https://ars.els-cdn.com/content/image/1-s2.0-S0010218011003105-mmc1.pdf

Best,
Bryan

tullio viola

unread,
Jul 14, 2021, 11:22:17 AM7/14/21
to canter...@googlegroups.com
dear Alexander,

the nDodecane_Reitz mechanism should already include transport properties. Have you tried compiling the script?

Best regards,

Tullio

 

--
You received this message because you are subscribed to the Google Groups "Cantera Users' Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cantera-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cantera-users/08c161e8-afef-496f-acf8-f5d9bd5d9fbdn%40googlegroups.com.

tullio viola

unread,
Jul 14, 2021, 11:24:25 AM7/14/21
to canter...@googlegroups.com

Il giorno mer 14 lug 2021 alle ore 17:05 'Alexander' via Cantera Users' Group <canter...@googlegroups.com> ha scritto:
--

Steven DeCaluwe

unread,
Jul 14, 2021, 1:02:50 PM7/14/21
to canter...@googlegroups.com
Hi Alexander,

1. The fastest way to get transport calculations enabled for this mechanism in Cantera would be to add the Lennard-Jones parameters as part of a ’transport’ field associated with each species.  For example, see line 42 of gri30.yaml.

species:
- name: H2
composition: {H: 2}
thermo:
model: NASA7
temperature-ranges: [200.0, 1000.0, 3500.0]
data:
- [2.34433112, 7.98052075e-03, -1.9478151e-05, 2.01572094e-08, -7.37611761e-12,
  -917.935173, 0.683010238]
- [3.3372792, -4.94024731e-05, 4.99456778e-07, -1.79566394e-10, 2.00255376e-14,
  -950.158922, -3.20502331]
note: TPIS78
transport:
model: gas
geometry: linear
well-depth: 38.0
diameter: 2.92
polarizability: 0.79
rotational-relaxation: 280.0

This will, unfortunately, be rather laborious and time consuming for a large mechanism, but is par for the course, I’m afraid.

2. Once you have these added, you have to choose a ‘transport' model on the phase level (again, you can look to GRI 3.0 for an example of implementation).  There are three options available:

You can enter ‘mixture-averaged’ or ‘multicomponent’ for standard ideal gas treatments, or ‘high-pressure’ to try out an implementation that incorporates non-ideal effects on the transport properties (if you are using the Reitz mechanism file, which includes an option for either the Redlich Kwong or ideal gas equations of state, this might be relevant).  

This last model might have some warts (I feel okay saying this, since I wrote it :) — the approach uses the theory of corresponding states to adjust properties as a function of distance from the critical point, but relies on some fits as a function of reduced pressure and temperature which are only valid over certain ranges.  If your properties happen to exceed those ranges, I think the model simply throws an error and kills your simulation.  At the time I wrote it, I felt this limitation was better than nothing, and the subsequent years have not done much to change my mind on the subject. But I just thought I’d give ample warning - if you feel like trying the model, don’t be terribly shocked or alarmed if it doesn’t work for you, and be ready to jump to one of the ideal gas approaches, in this case.

Best,
Steven



Alexander

unread,
Jul 15, 2021, 7:24:20 AM7/15/21
to Cantera Users' Group
Thank you very much, all!

So, there doesn't seem to be away around copying the Lennard-Jonas parameters from other mechanisms / databases.

Viola, thanks as well for sharing the link to the mechanism. I could already do a first validation with the nDodecane-Reitz mechanism, so I want to stick to it.
in the nDodecane_Reitz.yaml, there is no "transport" defined. Please see below.

Also, thanks a lot Steve for explaining the implementation of the transport properties in the mechanism file. Well understood!

phases:
- name: nDodecane_RK
  thermo: Redlich-Kwong
  elements: [H, C, O, N]
  species: [c12h26, o2, n2, co2, h2o, co, h2, oh, h2o2, ho2, h, o, ch3o,
    ch2o, hco, ch2, ch3, ch4, c2h2, c2h3, c12h25, c12h25o2, c12ket, c10h21,
    c10h21o2, c10ket2-1, c7h15-2, c7h15o2, nc7ket23, c7h15o2h, c7h14ooh,
    o2c7h14ooh, c7h15cho, c7h15co, c6h13cho, c6h13co, c6h13, c6h13o2, c6h13o,
    c6h12, c6h12ooh, c6h12ooho2, c6ket24, c6h12o, c6h112-4, c6h11o2-4, c5h11,
    c5h10, c5h9, c4h9co, c4h9, c4h9o2, c4h8ooh, c4h8ooho2, c4ket23, c4h8,
    c4h7, c4h7o, c3h7cho, c3h7, c3h6, c3h5, c3h7o2, c3h6ooh, c3h7o, c3h6cho,
    c2h5cho, c2h5co, c2h3cho, c2h4, c2h5, ch3o2, ch2co, ch2cho, ch3co, ch3cho,
    ch3oh, ch2oh, ch3oco, hcco, c2h, c3h2, c3h3, c4h2, c4h3, c4h4, c4h5,
    c5h5, c6h5o, A1-, A1c2h-, A1c2h, A1c2h3, A2-, A2r5, A3-, A1, A2, A3,
    A4]
  kinetics: gas
  reactions: all
  state:
    T: 300.0
    P: 1.01325e+05

Thus, in Python I get the error message below

real_gas = ct.Solution('nDodecane_Reitz.yaml', name='nDodecane_RK', transport_model='mixture-averaged')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "interfaces\cython\cantera\thermo.pyx", line 282, in cantera._cantera.ThermoPhase.__init__
  File "interfaces\cython\cantera\transport.pyx", line 145, in cantera._cantera.Transport.__init__
cantera._cantera.CanteraError:
***********************************************************************
CanteraError thrown by GasTransport::getTransportData:
Missing gas-phase transport data for species 'c12h26'.
***********************************************************************

Steven DeCaluwe

unread,
Jul 15, 2021, 3:15:23 PM7/15/21
to <cantera-users@googlegroups.com>
Hi Alexander,

Yes, your understanding is correct - until you add transport parameters for each species in the mech, you will continue to get that error.

Best,
Steven

Mohammed Niyasdeen

unread,
Jul 20, 2021, 7:40:23 AM7/20/21
to Cantera Users' Group
Hello everyone,

I am trying to implement real-gas effect in CounterFlowDiffusionFlame.

I ran multiple cases with 'h2o2.yaml' and 'gri30.yaml' with ideal gas. 

But when i tried 'nDodecane_Reitz.yaml', 

My implemntation:

gas = ct.Solution(reaction_mechanism, name='nDodecane_IG', transport_model='mixture-averaged')

I am getting the below-mentioned error. 

Error in the console:


  File "C:\Users\RPL\.spyder-py3\Inhouse\Inhouse - PV\Inhouse.py", line 35, in <module>
    gas = ct.Solution(reaction_mechanism, name='nDodecane_IG', transport_model='mixture-averaged')

  File "interfaces\cython\cantera\thermo.pyx", line 282, in cantera._cantera.ThermoPhase.__init__

  File "interfaces\cython\cantera\transport.pyx", line 145, in cantera._cantera.Transport.__init__

CanteraError: 
***********************************************************************
CanteraError thrown by GasTransport::getTransportData:
Missing gas-phase transport data for species 'c12h26'.
***********************************************************************

So as per this post's suggestion, I included the transport parameter inside the nDodecane_Reitz.yaml for each species and added the phase. But still facing the same error. 
Is there anything else I need to look at ? 

Also where can I find this below-mentioned files ? 

  File "interfaces\cython\cantera\thermo.pyx", line 282, in cantera._cantera.ThermoPhase.__init__

  File "interfaces\cython\cantera\transport.pyx", line 145, in cantera._cantera.Transport.__init__
 
Thanks in advance. 

Steven DeCaluwe

unread,
Jul 20, 2021, 7:45:58 AM7/20/21
to <cantera-users@googlegroups.com>
Hi Mohammed,

Can you please share your updated yaml file?  Without that, it is very difficult to figure out the source of your error.

Those files are located wherever you had Cantera built, following the path indicated.  A simple search for `thermo.pyx` on my machine did find the file pretty readily.

Best,
Steven

——————————————————
Steven C. DeCaluwe, Ph.D | Associate Professor of Mechanical Engineering
COLORADOSCHOOLOFMINES
Brown Building W410B
Golden, CO 80401

Twitter: @CORESresearch
He / Him / His





Bryan Weber

unread,
Jul 20, 2021, 12:17:30 PM7/20/21
to Cantera Users' Group
Hi,

Aside from Steven's comment, Cantera does not support real-gas effects in flames. The equations become quite complicated to derive without the ideal gas assumption. There are a number of recent threads on the user group here if you search for them. The longest and most detailed is probably this one: https://groups.google.com/g/cantera-users/c/96myuNgXN-o/m/2fLCCkGgBwAJ

Best,
Bryan

Mohammed Niyasdeen

unread,
Jul 21, 2021, 1:59:23 AM7/21/21
to Cantera Users' Group
Thank you Dr. Steven and Bryan for your replies. 

Please find the attached updated 'nDodecane_Reitz.yaml' file and my code. 

And I searched the 'thermo.pyx' file in my C-drive. It says that there is no such files in my machine. Do I have to install anything ? I am using Cantera 2.5.1 / Anaconda and Spyder. 

Regarding Bryans comment, I thought it would be easily possible to do Redlich-Kwong EOS based counter flow diffusion flame studies in Canetra since the Redlich-Kwong EOS is already established. Am I wrong ? Please clarify.        

nDodecane_Reitz.txt
solve.txt

Bryan Weber

unread,
Jul 21, 2021, 9:14:49 AM7/21/21
to Cantera Users' Group
Hi,

Regarding the counter-flow diffusion flame, the equations that solve the problem are explicitly set up in Cantera assuming that the phase is an ideal gas. Please read the thread I linked to for some of the difficulty in deriving the equations to solve for a general equation of state. Although R-K is implemented in Cantera, it will not work for any 1-D simulations right now.

As for the thermo.pyx file, that file is present in the source code of Cantera, available from GitHub: https://github.com/Cantera/cantera/blob/main/interfaces/cython/cantera/thermo.pyx

However, that file won't really help you, you need to fix your input file. In particular, the error message that I get when loading the file you posted points to the species c2h5, and shows that the word "transport" in that definition is only indented by one space instead of 2. Once I fixed that, I was able to load the file successfully.

Best,
Bryan

Alexander

unread,
Jul 21, 2021, 9:27:30 AM7/21/21
to Cantera Users' Group
Also thanks from my side for sharing the yaml-file after adding the transport properties. I haven't gotten to implement it yet myself. I would appreciate if you could share any validation of your implementation. I'll also play around with it in the following days and share my validation in case you are interested.

Best,

Alexander
Reply all
Reply to author
Forward
0 new messages