From 80aa8a05e758cad3ba314d4e63aa1ca96de0934e Mon Sep 17 00:00:00 2001 From: Ingmar Schoegl Date: Fri, 24 Jan 2025 14:45:58 -0600 Subject: [PATCH] [sourcegen] Add API for MultiPhase --- .../sourcegen/sourcegen/_data/ctmix_auto.yaml | 52 +++++++++++++++++++ .../sourcegen/sourcegen/clib/config.yaml | 4 ++ 2 files changed, 56 insertions(+) create mode 100644 interfaces/sourcegen/sourcegen/_data/ctmix_auto.yaml diff --git a/interfaces/sourcegen/sourcegen/_data/ctmix_auto.yaml b/interfaces/sourcegen/sourcegen/_data/ctmix_auto.yaml new file mode 100644 index 000000000..16f5e374f --- /dev/null +++ b/interfaces/sourcegen/sourcegen/_data/ctmix_auto.yaml @@ -0,0 +1,52 @@ +# This file is part of Cantera. See License.txt in the top-level directory or +# at https://cantera.org/license.txt for license and copyright information. + +docstring: |- + Auto-generated CLib API for %Cantera's MultiPhase class. + Implements a replacement for CLib's traditional @c ctmultiphase library. +prefix: mix3 +base: MultiPhase +parents: [] # List of parent classes +derived: [] # List of specializations +recipes: +- name: new + implements: newMultiPhase +- name: addPhase + implements: MultiPhase::addPhase(shared_ptr, double) +- name: init +- name: updatePhases +- name: nElements +- name: elementIndex +- name: nSpecies +- name: speciesIndex + implements: MultiPhase::speciesIndex(size_t, size_t) +- name: temperature +- name: setTemperature +- name: minTemp +- name: maxTemp +- name: charge +- name: phaseCharge +- name: pressure +- name: setPressure +- name: nAtoms +- name: nPhases +- name: phaseMoles +- name: setPhaseMoles +- name: setMoles +- name: setMolesByName + implements: MultiPhase::setMolesByName(const string&) +- name: speciesMoles +- name: elementMoles +- name: equilibrate + implements: MultiPhase::equilibrate(int, const char*, double, int, int, int) +- name: getChemPotentials +- name: enthalpy +- name: entropy +- name: gibbs +- name: cp +- name: volume +- name: speciesPhaseIndex +- name: moleFraction +- name: del +- name: cabinetSize +- name: parentHandle diff --git a/interfaces/sourcegen/sourcegen/clib/config.yaml b/interfaces/sourcegen/sourcegen/clib/config.yaml index bd87c1e57..0d06d5cef 100644 --- a/interfaces/sourcegen/sourcegen/clib/config.yaml +++ b/interfaces/sourcegen/sourcegen/clib/config.yaml @@ -9,6 +9,7 @@ ignore_files: [] # Ignore these specific functions: ignore_funcs: ct_auto.yaml: [setLogWriter, setLogCallback] + ctmix_auto.yaml: [addPhase] # Cabinets with associated includes includes: @@ -26,5 +27,8 @@ includes: - cantera/kinetics/InterfaceKinetics.h Transport: - cantera/transport/TransportFactory.h + MultiPhase: + - cantera/equil/MultiPhase.h + - cantera/thermo/ThermoPhase.h Func1: - cantera/numerics/Func1Factory.h