5 #ifndef VCS_MULTIPHASEEQUIL_H
6 #define VCS_MULTIPHASEEQUIL_H
55 int estimateEquil = 0,
int printLvl = 0,
56 int solver = -1, doublereal rtol = 1.0e-9,
58 int maxiter = 100,
int loglevel = -99);
98 int estimateEquil = 0,
int printLvl = 0,
101 int maxiter = 100,
int loglevel = -99);
142 int estimateEquil = 0,
int printLvl = 0,
145 int maxiter = 100,
int loglevel = -99);
165 double& funcStab,
int printLvl,
int loglevel);
171 namespace VCSnonideal
295 int printLvl= 0, doublereal err = 1.0e-6,
320 int printLvl= 0, doublereal err = 1.0e-6,
358 int equilibrate_HP(doublereal Htarget,
int XY,
double Tlow,
double Thigh,
359 int estimateEquil = 0,
360 int printLvl = 0, doublereal err = 1.0E-6,
396 int estimateEquil = 0,
397 int printLvl = 0, doublereal err = 1.0E-6,
431 int estimateEquil = 0,
432 int printLvl = 0, doublereal err = 1.0E-6,
456 void reportCSV(
const std::string& reportFile);
Cantera::DenseMatrix m_N
Stoichiometric matrix.
int vcs_timing_print_lvl
Global hook for turning on and off time printing.
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...
Cantera::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_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...
#define VCS_MAXSTEPS
Maximum steps in the inner loop.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
size_t numElemConstraints() const
Reports the number of element constraints in the equilibration problem.
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...
Cantera's Interface to the Multiphase chemical equilibrium solver.
friend int vcs_Cantera_update_vprob(Cantera::MultiPhase *mphase, VCSnonideal::VCS_PROB *vprob)
Translate a MultiPhase information into a VCS_PROB problem definition object.
Headers for the MultiPhase object that is used to set up multiphase equilibrium problems (see Equilib...
int vcs_Cantera_to_vprob(Cantera::MultiPhase *mphase, VCSnonideal::VCS_PROB *vprob)
Translate a MultiPhase object into a VCS_PROB problem definition object.
Cantera::vector_int m_order
Vector that takes into account of the current sorting of the species.
void reportCSV(const std::string &reportFile)
Report the equilibrium answer in a comma separated table format.
ThermoPhase thermo_t
typedef for the ThermoPhase class
std::vector< int > vector_int
Vector of ints.
int vcs_Cantera_update_vprob(Cantera::MultiPhase *mphase, VCSnonideal::VCS_PROB *vprob)
Translate a MultiPhase information into a VCS_PROB problem definition object.
int m_iter
Iteration Count.
int iterations() const
return the number of iterations
Defines and definitions within the vcs package.
A class for multiphase mixtures.
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...
int m_printLvl
Print level from the VCSnonlinear package.
size_t component(size_t m) const
Return the index of the ith component.
VCSnonideal::VCS_PROB * m_vprob
Object which contains the problem statement.
This is the main structure used to hold the internal data used in vcs_solve_TP(), and to solve TP sys...
Cantera::vector_int m_species
Vector of indices for species that are included in the calculation.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
int determine_PhaseStability(int iph, double &funcStab, int printLvl=0, int logLevel=-99)
Determine the phase stability of a phase at the current conditions.
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...
Interface class for the vcs thermo equilibrium solver package, which generally describes the problem ...
VCSnonideal::VCS_SOLVE * m_vsolvePtr
Pointer to the object that does all of the equilibration work.
void getStoichVector(size_t rxn, Cantera::vector_fp &nu)
Get the stoichiometric reaction coefficients for a single reaction index.
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...
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.
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
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.
friend int vcs_Cantera_to_vprob(Cantera::MultiPhase *mphase, VCSnonideal::VCS_PROB *vprob)
Translate a MultiPhase object into a VCS_PROB problem definition object.