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