Added access to the new vcs nonideal equilibrium solver.

This commit is contained in:
Harry Moffat 2009-03-17 15:42:04 +00:00
parent c20cf5ebfd
commit cea69addd0
2 changed files with 67 additions and 49 deletions

View file

@ -3,6 +3,7 @@
#include "equil.h"
#include "MultiPhase.h"
#include "MultiPhaseEquil.h"
#include "vcs_MultiPhaseEquil.h"
#include "Cabinet.h"
#include "Storage.h"
@ -211,16 +212,31 @@ extern "C" {
}
doublereal DLL_EXPORT mix_equilibrate(int i, char* XY,
doublereal err, int maxsteps, int maxiter, int loglevel) {
try {
return equilibrate(*_mix(i), XY,
err, maxsteps, maxiter, loglevel);
}
catch (CanteraError) {
return DERR;
}
doublereal DLL_EXPORT mix_equilibrate(int i, char* XY,
doublereal rtol, int maxsteps,
int maxiter, int loglevel) {
try {
return equilibrate(*_mix(i), XY,
rtol, maxsteps, maxiter, loglevel);
}
catch (CanteraError) {
return DERR;
}
}
doublereal DLL_EXPORT mix_vcs_equilibrate(int i, char* XY, int estimateEquil,
int printLvl, int solver,
doublereal rtol, int maxsteps,
int maxiter, int loglevel) {
try {
return vcs_equilibrate(*_mix(i), XY, estimateEquil, printLvl, solver,
rtol, maxsteps, maxiter, loglevel);
}
catch (CanteraError) {
return DERR;
}
}
int DLL_EXPORT mix_getChemPotentials(int i, int lenmu, double* mu) {
try {

View file

@ -5,48 +5,50 @@
extern "C" {
int DLL_IMPORT mix_new();
int DLL_IMPORT mix_del(int i);
int DLL_IMPORT mix_copy(int i);
int DLL_IMPORT mix_assign(int i, int j);
int DLL_IMPORT mix_addPhase(int i, int j, double moles);
int DLL_IMPORT mix_init(int i);
int DLL_IMPORT mix_nElements(int i);
int DLL_IMPORT mix_elementIndex(int i, char* name);
int DLL_IMPORT mix_speciesIndex(int i, int k, int p);
int DLL_IMPORT mix_nSpecies(int i);
int DLL_IMPORT mix_setTemperature(int i, double t);
double DLL_IMPORT mix_temperature(int i);
double DLL_IMPORT mix_minTemp(int i);
double DLL_IMPORT mix_maxTemp(int i);
double DLL_IMPORT mix_charge(int i);
double DLL_IMPORT mix_phaseCharge(int i, int p);
int DLL_IMPORT mix_setPressure(int i, double p);
double DLL_IMPORT mix_pressure(int i);
double DLL_IMPORT mix_nAtoms(int i, int k, int m);
double DLL_IMPORT mix_nPhases(int i);
double DLL_IMPORT mix_phaseMoles(int i, int n);
int DLL_IMPORT mix_setPhaseMoles(int i, int n, double v);
int DLL_IMPORT mix_setMoles(int i, int nlen, double* n);
int DLL_IMPORT mix_setMolesByName(int i, char* n);
double DLL_IMPORT mix_speciesMoles(int i, int k);
double DLL_IMPORT mix_elementMoles(int i, int m);
double DLL_IMPORT mix_equilibrate(int i, char* XY,
double err, int maxsteps, int maxiter, int loglevel);
int DLL_IMPORT mix_getChemPotentials(int i, int lenmu, double* mu);
int DLL_IMPORT mix_getValidChemPotentials(int i, double bad_mu,
int standard, int lenmu, double* mu);
double DLL_IMPORT mix_enthalpy(int i);
double DLL_IMPORT mix_entropy(int i);
double DLL_IMPORT mix_gibbs(int i);
double DLL_IMPORT mix_cp(int i);
double DLL_IMPORT mix_volume(int i);
int DLL_IMPORT mix_speciesPhaseIndex(int k);
double DLL_IMPORT mix_moleFraction(int k);
int DLL_IMPORT mix_new();
int DLL_IMPORT mix_del(int i);
int DLL_IMPORT mix_copy(int i);
int DLL_IMPORT mix_assign(int i, int j);
int DLL_IMPORT mix_addPhase(int i, int j, double moles);
int DLL_IMPORT mix_init(int i);
int DLL_IMPORT mix_nElements(int i);
int DLL_IMPORT mix_elementIndex(int i, char* name);
int DLL_IMPORT mix_speciesIndex(int i, int k, int p);
int DLL_IMPORT mix_nSpecies(int i);
int DLL_IMPORT mix_setTemperature(int i, double t);
double DLL_IMPORT mix_temperature(int i);
double DLL_IMPORT mix_minTemp(int i);
double DLL_IMPORT mix_maxTemp(int i);
double DLL_IMPORT mix_charge(int i);
double DLL_IMPORT mix_phaseCharge(int i, int p);
int DLL_IMPORT mix_setPressure(int i, double p);
double DLL_IMPORT mix_pressure(int i);
double DLL_IMPORT mix_nAtoms(int i, int k, int m);
double DLL_IMPORT mix_nPhases(int i);
double DLL_IMPORT mix_phaseMoles(int i, int n);
int DLL_IMPORT mix_setPhaseMoles(int i, int n, double v);
int DLL_IMPORT mix_setMoles(int i, int nlen, double* n);
int DLL_IMPORT mix_setMolesByName(int i, char* n);
double DLL_IMPORT mix_speciesMoles(int i, int k);
double DLL_IMPORT mix_elementMoles(int i, int m);
double DLL_IMPORT mix_equilibrate(int i, char* XY,
double err, int maxsteps, int maxiter, int loglevel);
double DLL_EXPORT mix_vcs_equilibrate(int i, char* XY, int estimateEquil,
int printLvl, int solver,
double rtol, int maxsteps,
int maxiter, int loglevel);
int DLL_IMPORT mix_getChemPotentials(int i, int lenmu, double* mu);
int DLL_IMPORT mix_getValidChemPotentials(int i, double bad_mu,
int standard, int lenmu, double* mu);
double DLL_IMPORT mix_enthalpy(int i);
double DLL_IMPORT mix_entropy(int i);
double DLL_IMPORT mix_gibbs(int i);
double DLL_IMPORT mix_cp(int i);
double DLL_IMPORT mix_volume(int i);
int DLL_IMPORT mix_speciesPhaseIndex(int k);
double DLL_IMPORT mix_moleFraction(int k);
}
#endif