ck2yaml surface kinetic

40 views
Skip to first unread message

Hamed Hoorijani

unread,
Feb 18, 2026, 5:13:41 AM (2 days ago) Feb 18
to Cantera Users' Group
Hello everyone,

I am trying to convert a Soot formation model in CRECK from Chemkin to yaml.  Kinetic-Mechanisms/Heterogeneous-Mechanisms/CVI-CVD/CVICVD_2210.surface at main · CRECKMODELING/Kinetic-Mechanisms 

When I run python -m cantera.ck2yaml --permissive --input=CVICVD_2210.cki --thermo=CVICVD_2210.CKT --transport=CVICVD_2210.TRAN --surface=CVICVD_2210.surface --output=surf_mechanism.yaml
with Cantera 3.1 I get these errors:

"
*******************************************************************************
Error while reading reaction in CVICVD_2210.surface starting on line 1152:
"""
    C7H6.(S) => 6C(B) + 4H(S) + CH2Bz(S)      4.96E+11 0 20733 ! Taken by analogy with benzene cyclization reaction
    COV /Hz(S) 0 1 0 /
"""
cannot access local variable 'reversible' where it is not associated with a value
*******************************************************************************
Error while reading reaction in CVICVD_2210.surface starting on line 1155:
"""
    Hz(S)=>H 4.96E+11 0 20733
    COV /C7H6.(S) 0 1 0 /
    DUPLICATE
"""
Failed to find reactant/product delimiter in reaction expression 'Hz(S)=>H'.
*******************************************************************************
"

Does anyone have any relevant experience in solving these errors?

I can convert the gas-phase-only mechanism, but including the surface mechanism makes it too complex. I solved the error of C(B) by putting C(B) in the species of surface kinetic (I think I solved it!) and the error of CSOLID in the gas phase kinetic by modifying the transport file and declaring CSOLID as atom (0) instead of nonlinear (2). 

I am aware there are duplicates in the kinetic, but I don't think they're causing any errors for me. I would appreciate it if anyone has any relevant experience in solving this. Should I change the names of surface species or something else? 

Thanks,
Hamed
CVICVD_2210.CKT
CVICVD_2210.TRAN
CVICVD_2210.surface
CVICVD_2210.cki

Ray Speth

unread,
Feb 18, 2026, 9:14:14 AM (2 days ago) Feb 18
to Cantera Users' Group
Hi,

Can you please try this conversion with the current version of Cantera (3.2.0) and let us know whether the same issue occurs?

Regards,
Ray

Hamed Hoorijani

unread,
Feb 18, 2026, 9:58:34 AM (2 days ago) Feb 18
to Cantera Users' Group
Hi Ray,

Thank you for your quick reply.

I tried Cantera 3.2.0 as well, same issue with the surface mechanism occurs.

Converting only the gas-phase kinetic works well, but when I include the surface kinetic, I still get the same errors.

Regards,
Hamed

Ray Speth

unread,
Feb 19, 2026, 1:37:02 PM (13 hours ago) Feb 19
to Cantera Users' Group

Hi Hamed,

Thanks for the confirmation. There are a number of issues with converting this mechanism. A few of them are due to liberties with formatting that aren’t currently handled by ck2yaml, like unexpected whitespace and the use of elemental compositions formatted as floating point values. I’ve put together a fix for these issues in a pull request for the development version of Cantera. You can download the version of ck2yaml.py from this branch to use locally and get past these errors.

There is one other minor issue, with a species whose name is capitalized differently in the kinetic input file and the thermo input file, which can be easily fixed in the input.

The bigger problem is the use of the NONCON keyword to specify that the surface mechanism does not conserve surface sites. This has been discussed in the past without resolution, as it’s not clear to me what the modeling intent is for such reactions. Please feel free to comment on that enhancement issue, as an indicator of interest and if you can provide any reference for how such reactions ought to be interpreted.

Regards,
Ray

Reply all
Reply to author
Forward
0 new messages