From 5601ee906741a539b8316ad9dad0cc7dbf4d6d68 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Tue, 26 Feb 2019 14:33:32 -0500 Subject: [PATCH] [Python] Add 'kinetics_species_name' and 'kinetics_species_names' --- interfaces/cython/cantera/_cantera.pxd | 1 + interfaces/cython/cantera/kinetics.pyx | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/interfaces/cython/cantera/_cantera.pxd b/interfaces/cython/cantera/_cantera.pxd index 5591c97a6..c40e0b39e 100644 --- a/interfaces/cython/cantera/_cantera.pxd +++ b/interfaces/cython/cantera/_cantera.pxd @@ -353,6 +353,7 @@ cdef extern from "cantera/kinetics/Kinetics.h" namespace "Cantera": int phaseIndex(string) int kineticsSpeciesIndex(int, int) int kineticsSpeciesIndex(string) + string kineticsSpeciesName(int) CxxThermoPhase& thermo(int) diff --git a/interfaces/cython/cantera/kinetics.pyx b/interfaces/cython/cantera/kinetics.pyx index 656f407d1..1eed3a12b 100644 --- a/interfaces/cython/cantera/kinetics.pyx +++ b/interfaces/cython/cantera/kinetics.pyx @@ -76,6 +76,22 @@ cdef class Kinetics(_SolutionBase): self._check_phase_index(k) return self.kinetics.kineticsSpeciesIndex(k, phase) + def kinetics_species_name(self, k): + """ + Name of the species with index *k* in the arrays returned by methods + of class `Kinetics`. + """ + return pystr(self.kinetics.kineticsSpeciesName(k)) + + property kinetics_species_names: + """ + A list of all species names, corresponding to the arrays returned by + methods of class `Kinetics`. + """ + def __get__(self): + return [self.kinetics_species_name(k) + for k in range(self.n_total_species)] + def reaction(self, int i_reaction): """ Return a `Reaction` object representing the reaction with index