Skip to content

YAML: consistently clarify reaction type #747

@ischoegl

Description

@ischoegl

System information

  • Cantera version: 2.5.0a3
  • OS: all
  • Python/MATLAB version: N/A

Expected behavior

YAML entries clearly identify type of reaction, with the default being elementary. This is being followed consistently for GasKinetics (with three-body, etc.), and the same should be done for InterfaceKinetics etc., e.g.

- equation: CO2(S) => CO2 + PT(S) 
  type: interface # <--- suggested
  rate-constant: {A: 10000000000000.0, b: 0, Ea: 20500}

Edit: the type interface as default for InterfaceKinetics does makes sense (similar to elementary as default for GasKinetics). The following is less intuitive, as the beta and exchange-current-density-formulation fields are not required.

- equation: Li+[elyt] + V[cathode] + electron <=> Li[cathode] 
  type: electrochemical # <--- suggested
  rate-constant: {A: 562900000000.0, b: 0.0, Ea: 58 kJ/mol}
  exchange-current-density-formulation: true
  beta: 0.5

Actual behavior

The type field is not used for interface and electrochemical reactions, which can only be detected by parsing the species string (the type of reaction is purely implicit). Further, several electrochemical reaction types appear to be discontinued in the YAML format without a deprecation warning.

Additional context

The implicit specification of types is not future-proof, as it is not easily extendable. As YAML is not yet officially released, these clarifications can be easily added to 2.5.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions