5 #ifndef VCS_MULTIPHASEEQUIL_H
6 #define VCS_MULTIPHASEEQUIL_H
54 int estimateEquil = 0,
int printLvl = 0,
55 int solver = -1, doublereal rtol = 1.0e-9,
57 int maxiter = 100,
int loglevel = -99);
96 int estimateEquil = 0,
int printLvl = 0,
99 int maxiter = 100,
int loglevel = -99);
139 int estimateEquil = 0,
int printLvl = 0,
142 int maxiter = 100,
int loglevel = -99);
160 double& funcStab,
int printLvl,
int loglevel);
278 int printLvl= 0, doublereal err = 1.0e-6,
302 int printLvl= 0, doublereal err = 1.0e-6,
339 int equilibrate_HP(doublereal Htarget,
int XY,
double Tlow,
double Thigh,
340 int estimateEquil = 0,
341 int printLvl = 0, doublereal err = 1.0E-6,
376 int estimateEquil = 0,
377 int printLvl = 0, doublereal err = 1.0E-6,
410 int estimateEquil = 0,
411 int printLvl = 0, doublereal err = 1.0E-6,
435 void reportCSV(
const std::string& reportFile);
vector_int m_order
Vector that takes into account of the current sorting of the species.
int equilibrate_TP(int estimateEquil=0, int printLvl=0, doublereal err=1.0e-6, int maxsteps=VCS_MAXSTEPS, int loglevel=-99)
Equilibrate the solution using the current element abundances stored in the MultiPhase object using c...
MultiPhase * m_mix
Pointer to the MultiPhase mixture that will be equilibrated.
size_t numComponents() const
reports the number of components in the equilibration problem
int equilibrate_HP(doublereal Htarget, int XY, double Tlow, double Thigh, int estimateEquil=0, int printLvl=0, doublereal err=1.0E-6, int maxsteps=VCS_MAXSTEPS, int loglevel=-99)
Equilibrate the solution using the current element abundances stored in the MultiPhase object using e...
#define VCS_MAXSTEPS
Maximum steps in the inner loop.
friend int vcs_Cantera_update_vprob(MultiPhase *mphase, VCS_PROB *vprob)
Translate a MultiPhase information into a VCS_PROB problem definition object.
int m_printLvl
Print level from the VCSnonlinear package.
int vcs_timing_print_lvl
Global hook for turning on and off time printing.
Headers for the MultiPhase object that is used to set up multiphase equilibrium problems (see Equilib...
void reportCSV(const std::string &reportFile)
Report the equilibrium answer in a comma separated table format.
int vcs_Cantera_update_vprob(MultiPhase *mphase, VCS_PROB *vprob)
Translate a MultiPhase information into a VCS_PROB problem definition object.
ThermoPhase thermo_t
typedef for the ThermoPhase class
int vcs_Cantera_to_vprob(MultiPhase *mphase, VCS_PROB *vprob)
Translate a MultiPhase object into a VCS_PROB problem definition object.
std::vector< int > vector_int
Vector of ints.
Header file for the internal object that holds the vcs equilibrium problem (see Class VCS_SOLVE and E...
Cantera's Interface to the Multiphase chemical equilibrium solver.
A class for multiphase mixtures.
int iterations() const
return the number of iterations
int equilibrate_SP(doublereal Starget, double Tlow, double Thigh, int estimateEquil=0, int printLvl=0, doublereal err=1.0E-6, int maxsteps=VCS_MAXSTEPS, int loglevel=-99)
Equilibrate the solution using the current element abundances stored in the MultiPhase object using c...
size_t numElemConstraints() const
Reports the number of element constraints in the equilibration problem.
size_t component(size_t m) const
Return the index of the ith component.
int vcs_determine_PhaseStability(MultiPhase &s, int iphase, double &funcStab, int printLvl, int loglevel)
Determine the phase stability of a single phase given the current conditions in a MultiPhase object...
Header for the Interface class for the vcs thermo equilibrium solver package,.
int m_iter
Iteration Count.
int equilibrate(int XY, int estimateEquil=0, int printLvl=0, doublereal err=1.0e-6, int maxsteps=VCS_MAXSTEPS, int loglevel=-99)
Equilibrate the solution using the current element abundances stored in the MultiPhase object...
void getStoichVector(size_t rxn, vector_fp &nu)
Get the stoichiometric reaction coefficients for a single reaction index.
int determine_PhaseStability(int iph, double &funcStab, int printLvl=0, int logLevel=-99)
Determine the phase stability of a phase at the current conditions.
VCS_SOLVE m_vsolve
The object that does all of the equilibration work.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
VCS_PROB m_vprob
Object which contains the problem statement.
friend int vcs_Cantera_to_vprob(MultiPhase *mphase, VCS_PROB *vprob)
Translate a MultiPhase object into a VCS_PROB problem definition object.
DenseMatrix m_N
Stoichiometric matrix.
int vcs_equilibrate(thermo_t &s, const char *XY, int estimateEquil, int printLvl, int solver, doublereal rtol, int maxsteps, int maxiter, int loglevel)
Set a single-phase chemical solution to chemical equilibrium.
vector_int m_species
Vector of indices for species that are included in the calculation.
Interface class for the vcs thermo equilibrium solver package, which generally describes the problem ...
int equilibrate_TV(int XY, doublereal xtarget, int estimateEquil=0, int printLvl=0, doublereal err=1.0E-6, int maxsteps=VCS_MAXSTEPS, int logLevel=-99)
Equilibrate the solution using the current element abundances stored in the MultiPhase object using c...
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
This is the main structure used to hold the internal data used in vcs_solve_TP(), and to solve TP sys...
int vcs_equilibrate_1(MultiPhase &s, int ixy, int estimateEquil, int printLvl, int solver, doublereal tol, int maxsteps, int maxiter, int loglevel)
Set a multi-phase chemical solution to chemical equilibrium.