diff --git a/interfaces/cython/cantera/_cantera.pxd b/interfaces/cython/cantera/_cantera.pxd index 3a0eeedc9..a149fb764 100644 --- a/interfaces/cython/cantera/_cantera.pxd +++ b/interfaces/cython/cantera/_cantera.pxd @@ -561,11 +561,13 @@ cdef extern from "cantera/cython/wrappers.h": cdef void tran_getMultiDiffCoeffs(CxxTransport*, size_t, double*) except + cdef void tran_getBinaryDiffCoeffs(CxxTransport*, size_t, double*) except + - -cdef string stringify(x) - +# typedefs ctypedef void (*thermoMethod1d)(CxxThermoPhase*, double*) except + +ctypedef void (*transportMethod1d)(CxxTransport*, double*) except + +ctypedef void (*transportMethod2d)(CxxTransport*, size_t, double*) except + +ctypedef void (*kineticsMethod1d)(CxxKinetics*, double*) except + +# classes cdef class _SolutionBase: cdef CxxThermoPhase* thermo cdef CxxKinetics* kinetics @@ -591,6 +593,12 @@ cdef class Kinetics(_SolutionBase): cdef class InterfaceKinetics(Kinetics): pass +cdef class Transport(_SolutionBase): + pass + +cdef class DustyGasTransport(Transport): + pass + cdef class Mixture: cdef CxxMultiPhase* mix cdef list _phases @@ -711,3 +719,12 @@ cdef class ReactionPathDiagram: cdef str element cdef pybool built cdef CxxStringStream _log + +# free functions +cdef string stringify(x) +cdef pystr(string x) +cdef np.ndarray get_species_array(Kinetics kin, kineticsMethod1d method) +cdef np.ndarray get_reaction_array(Kinetics kin, kineticsMethod1d method) +cdef np.ndarray get_transport_1d(Transport tran, transportMethod1d method) +cdef np.ndarray get_transport_2d(Transport tran, transportMethod2d method) +cdef CxxIdealGasPhase* getIdealGasPhase(ThermoPhase phase) except * diff --git a/interfaces/cython/cantera/kinetics.pyx b/interfaces/cython/cantera/kinetics.pyx index 1216fd94e..6246c7d23 100644 --- a/interfaces/cython/cantera/kinetics.pyx +++ b/interfaces/cython/cantera/kinetics.pyx @@ -1,5 +1,3 @@ -ctypedef void (*kineticsMethod1d)(CxxKinetics*, double*) except + - # NOTE: These cdef functions cannot be members of Kinetics because they would # cause "layout conflicts" when creating derived classes with multiple bases, # e.g. class Solution. [Cython 0.16] diff --git a/interfaces/cython/cantera/transport.pyx b/interfaces/cython/cantera/transport.pyx index dc4ad7160..aa509cefa 100644 --- a/interfaces/cython/cantera/transport.pyx +++ b/interfaces/cython/cantera/transport.pyx @@ -1,6 +1,3 @@ -ctypedef void (*transportMethod1d)(CxxTransport*, double*) except + -ctypedef void (*transportMethod2d)(CxxTransport*, size_t, double*) except + - # NOTE: These cdef functions cannot be members of Transport because they would # cause "layout conflicts" when creating derived classes with multiple bases, # e.g. class Solution. [Cython 0.16]