Cantera  3.1.0
Loading...
Searching...
No Matches
ct.h
Go to the documentation of this file.
1/**
2 * @file ct.h
3 *
4 * @warning This module is an experimental part of the %Cantera API and
5 * may be changed or removed without notice.
6 */
7
8// This file is part of Cantera. See License.txt in the top-level directory or
9// at https://cantera.org/license.txt for license and copyright information.
10
11#ifndef CTC_CT_H
12#define CTC_CT_H
13
14#include "clib_defs.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20 CANTERA_CAPI int ct_appdelete();
21
22 CANTERA_CAPI int soln_newSolution(const char* infile,
23 const char* name,
24 const char* transport);
25 CANTERA_CAPI int soln_newInterface(const char* infile,
26 const char* name,
27 int na,
28 const int* adjacent);
29 CANTERA_CAPI int soln_del(int n); //!< note that linked objects are deleted as well
30 CANTERA_CAPI int soln_name(int n, int buflen, char* buf);
31 CANTERA_CAPI int soln_thermo(int n);
32 CANTERA_CAPI int soln_kinetics(int n);
33 CANTERA_CAPI int soln_transport(int n);
34 //! note that soln_setTransportModel deletes the previous transport model
35 CANTERA_CAPI int soln_setTransportModel(int n, const char* model);
36 CANTERA_CAPI size_t soln_nAdjacent(int n);
37 CANTERA_CAPI int soln_adjacent(int n, int a);
38 CANTERA_CAPI int soln_adjacentName(int n, int a, int lennm, char* nm);
39
40 CANTERA_CAPI int thermo_parent(int n);
41 CANTERA_CAPI int thermo_size();
42 CANTERA_CAPI int thermo_del(int n); //!< no-op; object is managed by Solution
43 CANTERA_CAPI size_t thermo_nElements(int n);
44 CANTERA_CAPI size_t thermo_nSpecies(int n);
45 CANTERA_CAPI double thermo_temperature(int n);
46 CANTERA_CAPI int thermo_setTemperature(int n, double t);
47 CANTERA_CAPI double thermo_density(int n);
48 CANTERA_CAPI int thermo_setDensity(int n, double rho);
49 CANTERA_CAPI double thermo_molarDensity(int n);
50 CANTERA_CAPI double thermo_meanMolecularWeight(int n);
51 CANTERA_CAPI double thermo_moleFraction(int n, size_t k);
52 CANTERA_CAPI double thermo_massFraction(int n, size_t k);
53 CANTERA_CAPI int thermo_getMoleFractions(int n, size_t lenx, double* x);
54 CANTERA_CAPI int thermo_getMassFractions(int n, size_t leny, double* y);
55 CANTERA_CAPI int thermo_setMoleFractions(int n, size_t lenx,
56 double* x, int norm);
57 CANTERA_CAPI int thermo_setMassFractions(int n, size_t leny,
58 double* y, int norm);
59 CANTERA_CAPI int thermo_setMoleFractionsByName(int n, const char* x);
60 CANTERA_CAPI int thermo_setMassFractionsByName(int n, const char* y);
61 CANTERA_CAPI int thermo_getAtomicWeights(int n, size_t lenm, double* atw);
62 CANTERA_CAPI int thermo_getMolecularWeights(int n, size_t lenm, double* mw);
63 CANTERA_CAPI int thermo_getCharges(int n, size_t lenm, double* sc);
64 CANTERA_CAPI int thermo_getElementName(int n, size_t k, size_t lennm, char* nm);
65 CANTERA_CAPI int thermo_getSpeciesName(int n, size_t m, size_t lennm, char* nm);
66 CANTERA_CAPI int thermo_getName(int n, size_t lennm, char* nm);
67 CANTERA_CAPI int thermo_setName(int n, const char* nm);
68 CANTERA_CAPI size_t thermo_elementIndex(int n, const char* nm);
69 CANTERA_CAPI size_t thermo_speciesIndex(int n, const char* nm);
70 //! @since Changed signature in %Cantera 3.1
71 CANTERA_CAPI int thermo_report(int nth, int show_thermo, double threshold, int ibuf, char* buf);
72 CANTERA_CAPI int thermo_print(int nth, int show_thermo, double threshold);
73 CANTERA_CAPI double thermo_nAtoms(int n, size_t k, size_t m);
74 CANTERA_CAPI int thermo_addElement(int n, const char* name, double weight);
75 CANTERA_CAPI int thermo_getEosType(int n, size_t leneos, char* eos);
76 CANTERA_CAPI double thermo_refPressure(int n);
77 CANTERA_CAPI double thermo_minTemp(int n, int k);
78 CANTERA_CAPI double thermo_maxTemp(int n, int k);
79 CANTERA_CAPI double thermo_enthalpy_mole(int n);
80 CANTERA_CAPI double thermo_intEnergy_mole(int n);
81 CANTERA_CAPI double thermo_entropy_mole(int n);
82 CANTERA_CAPI double thermo_gibbs_mole(int n);
83 CANTERA_CAPI double thermo_cp_mole(int n);
84 CANTERA_CAPI double thermo_cv_mole(int n);
85 CANTERA_CAPI double thermo_pressure(int n);
86 CANTERA_CAPI int thermo_setPressure(int n, double p);
87 CANTERA_CAPI double thermo_enthalpy_mass(int n);
88 CANTERA_CAPI double thermo_intEnergy_mass(int n);
89 CANTERA_CAPI double thermo_entropy_mass(int n);
90 CANTERA_CAPI double thermo_gibbs_mass(int n);
91 CANTERA_CAPI double thermo_cp_mass(int n);
92 CANTERA_CAPI double thermo_cv_mass(int n);
93 CANTERA_CAPI double thermo_electricPotential(int n);
94 CANTERA_CAPI double thermo_thermalExpansionCoeff(int n);
95 CANTERA_CAPI double thermo_isothermalCompressibility(int n);
96 CANTERA_CAPI int thermo_chemPotentials(int n, size_t lenm, double* murt);
97 CANTERA_CAPI int thermo_electrochemPotentials(int n, size_t lenm, double* emu);
98 CANTERA_CAPI int thermo_getEnthalpies_RT(int n, size_t lenm, double* h_rt);
99 CANTERA_CAPI int thermo_getEntropies_R(int n, size_t lenm, double* s_r);
100 CANTERA_CAPI int thermo_getCp_R(int n, size_t lenm, double* cp_r);
101 CANTERA_CAPI int thermo_setElectricPotential(int n, double v);
102 CANTERA_CAPI int thermo_getPartialMolarEnthalpies(int n, size_t lenm, double* pmh);
103 CANTERA_CAPI int thermo_getPartialMolarEntropies(int n, size_t lenm, double* pms);
104 CANTERA_CAPI int thermo_getPartialMolarIntEnergies(int n, size_t lenm, double* pmu);
105 CANTERA_CAPI int thermo_getPartialMolarCp(int n, size_t lenm, double* pmcp);
106 CANTERA_CAPI int thermo_getPartialMolarVolumes(int n, size_t lenm, double* pmv);
107 CANTERA_CAPI int thermo_set_TP(int n, double* vals);
108 CANTERA_CAPI int thermo_set_TD(int n, double* vals);
109 CANTERA_CAPI int thermo_set_DP(int n, double* vals);
110 CANTERA_CAPI int thermo_set_HP(int n, double* vals);
111 CANTERA_CAPI int thermo_set_UV(int n, double* vals);
112 CANTERA_CAPI int thermo_set_SV(int n, double* vals);
113 CANTERA_CAPI int thermo_set_SP(int n, double* vals);
114 CANTERA_CAPI int thermo_set_ST(int n, double* vals);
115 CANTERA_CAPI int thermo_set_TV(int n, double* vals);
116 CANTERA_CAPI int thermo_set_PV(int n, double* vals);
117 CANTERA_CAPI int thermo_set_UP(int n, double* vals);
118 CANTERA_CAPI int thermo_set_VH(int n, double* vals);
119 CANTERA_CAPI int thermo_set_TH(int n, double* vals);
120 CANTERA_CAPI int thermo_set_SH(int n, double* vals);
121 CANTERA_CAPI int thermo_equilibrate(int n, const char* XY, const char* solver,
122 double rtol, int maxsteps, int maxiter,
123 int loglevel);
124
125 CANTERA_CAPI double thermo_critTemperature(int n);
126 CANTERA_CAPI double thermo_critPressure(int n);
127 CANTERA_CAPI double thermo_critDensity(int n);
128 CANTERA_CAPI double thermo_vaporFraction(int n);
129 CANTERA_CAPI double thermo_satTemperature(int n, double p);
130 CANTERA_CAPI double thermo_satPressure(int n, double t);
131 CANTERA_CAPI int thermo_setState_Psat(int n, double p, double x);
132 CANTERA_CAPI int thermo_setState_Tsat(int n, double t, double x);
133
134 CANTERA_CAPI int kin_parent(int n);
135 CANTERA_CAPI int kin_del(int n); //!< no-op; object is managed by Solution
136 CANTERA_CAPI size_t kin_nSpecies(int n);
137 CANTERA_CAPI size_t kin_nReactions(int n);
138 CANTERA_CAPI size_t kin_nPhases(int n);
139 CANTERA_CAPI size_t kin_phaseIndex(int n, const char* ph);
140 CANTERA_CAPI size_t kin_reactionPhaseIndex(int n);
141 CANTERA_CAPI double kin_reactantStoichCoeff(int n, int i, int k);
142 CANTERA_CAPI double kin_productStoichCoeff(int n, int i, int k);
143 CANTERA_CAPI int kin_getReactionType(int n, int i, size_t len, char* name);
144 CANTERA_CAPI int kin_getFwdRatesOfProgress(int n, size_t len, double* fwdROP);
145 CANTERA_CAPI int kin_getRevRatesOfProgress(int n, size_t len, double* revROP);
146 CANTERA_CAPI int kin_getNetRatesOfProgress(int n, size_t len, double* netROP);
147 CANTERA_CAPI int kin_getEquilibriumConstants(int n, size_t len, double* kc);
148
149 CANTERA_CAPI int kin_getFwdRateConstants(int n, size_t len, double* kfwd);
150 CANTERA_CAPI int kin_getRevRateConstants(int n, int doIrreversible, size_t len, double* krev);
151 CANTERA_CAPI int kin_getDelta(int n, int job, size_t len, double* delta);
152 CANTERA_CAPI int kin_getCreationRates(int n, size_t len, double* cdot);
153 CANTERA_CAPI int kin_getDestructionRates(int n, size_t len, double* ddot);
154 CANTERA_CAPI int kin_getNetProductionRates(int n, size_t len, double* wdot);
155 CANTERA_CAPI int kin_getSourceTerms(int n, size_t len, double* ydot);
156 CANTERA_CAPI double kin_multiplier(int n, int i);
157 CANTERA_CAPI int kin_getReactionString(int n, int i, int len, char* buf);
158 CANTERA_CAPI int kin_setMultiplier(int n, int i, double v);
159
160 CANTERA_CAPI int kin_isReversible(int n, int i);
161 CANTERA_CAPI int kin_getType(int n, size_t len, char* name);
162 CANTERA_CAPI size_t kin_start(int n, int p);
163 CANTERA_CAPI size_t kin_speciesIndex(int n, const char* nm);
164 CANTERA_CAPI int kin_advanceCoverages(int n, double tstep);
165 CANTERA_CAPI size_t kin_phase(int n, size_t i);
166
167 CANTERA_CAPI int trans_parent(int n);
168 CANTERA_CAPI int trans_del(int n); //!< no-op; object is managed by Solution
169 CANTERA_CAPI int trans_transportModel(int n, int lennm, char* nm);
170 CANTERA_CAPI double trans_viscosity(int n);
171 CANTERA_CAPI double trans_electricalConductivity(int n);
172 CANTERA_CAPI double trans_thermalConductivity(int n);
173 CANTERA_CAPI int trans_getThermalDiffCoeffs(int n, int ldt, double* dt);
174 CANTERA_CAPI int trans_getMixDiffCoeffs(int n, int ld, double* d);
175 CANTERA_CAPI int trans_getBinDiffCoeffs(int n, int ld, double* d);
176 CANTERA_CAPI int trans_getMultiDiffCoeffs(int n, int ld, double* d);
177 CANTERA_CAPI int trans_getMolarFluxes(int n, const double* state1,
178 const double* state2, double delta, double* fluxes);
179 CANTERA_CAPI int trans_getMassFluxes(int n, const double* state1,
180 const double* state2, double delta, double* fluxes);
181
182 CANTERA_CAPI int ct_getCanteraError(int buflen, char* buf);
183 CANTERA_CAPI int ct_setLogWriter(void* logger);
184 CANTERA_CAPI int ct_setLogCallback(LogCallback writer);
185 CANTERA_CAPI int ct_addCanteraDirectory(size_t buflen, const char* buf);
186 //! @since Changed signature in %Cantera 3.1
187 CANTERA_CAPI int ct_getDataDirectories(const char* sep, int buflen, char* buf);
188 CANTERA_CAPI int ct_getCanteraVersion(int buflen, char* buf);
189 CANTERA_CAPI int ct_getGitCommit(int buflen, char* buf);
190 CANTERA_CAPI int ct_suppress_thermo_warnings(int suppress);
191 CANTERA_CAPI int ct_use_legacy_rate_constants(int legacy);
192 CANTERA_CAPI int ct_clearStorage();
193 CANTERA_CAPI int ct_resetStorage();
194
195#ifdef __cplusplus
196}
197#endif
198
199#endif
void(* LogCallback)(enum LogLevel logLevel, const char *category, const char *message)
Represents a callback that is invoked to produce log output.
Definition clib_defs.h:36
CANTERA_CAPI int soln_del(int n)
note that linked objects are deleted as well
CANTERA_CAPI int ct_getDataDirectories(const char *sep, int buflen, char *buf)
CANTERA_CAPI int soln_setTransportModel(int n, const char *model)
note that soln_setTransportModel deletes the previous transport model
CANTERA_CAPI int kin_del(int n)
no-op; object is managed by Solution
CANTERA_CAPI int trans_del(int n)
no-op; object is managed by Solution
CANTERA_CAPI int thermo_del(int n)
no-op; object is managed by Solution
CANTERA_CAPI int thermo_report(int nth, int show_thermo, double threshold, int ibuf, char *buf)