15int rhsf_cvode(sunrealtype t, N_Vector varsCV, N_Vector dvarsdtCV,
void *user_data);
28 gas = cantSol->thermo();
29 kin = cantSol->kinetics();
34 std::vector<double> atol(
nvar, 1E-10);
75 gas->setMassFractions_NoNorm(vars);
82 std::vector<double> rr(
nvar);
83 kin->getNetProductionRates(&rr[0]);
84 for (
size_t k = 0; k <
gas->nSpecies(); k++)
85 dvarsdt[k] = rr[k] *
gas->molecularWeight(k) /
rho;
104int rhsf_cvode(sunrealtype t, N_Vector varsCV, N_Vector dvarsdtCV,
void *user_data) {
108 double *vars = N_VGetArrayPointer_Serial(varsCV);
110 double *dvarsdt = N_VGetArrayPointer_Serial(dvarsdtCV);
112 int rv = bRxr->
rhsf(t, vars, dvarsdt);
int rhsf_cvode(sunrealtype t, N_Vector varsCV, N_Vector dvarsdtCV, void *user_data)
Callback function for the right-hand side of the ODE system used by CVODE.
batchReactor_cvode(std::shared_ptr< Cantera::Solution > cantSol)
Constructor for the batchReactor_cvode class.
std::shared_ptr< integrator_cvode > integrator
cvode integrator wrapper
int rhsf(const double t, const double *vars, double *dvarsdt)
Computes the right-hand side of the ODE system.
virtual void react(double &h, std::vector< double > &y, const double tRun)
Simulates a reaction in the batch reactor.
int nvar
number of variables/equations solved
double rho
density during integrate
std::shared_ptr< Cantera::Kinetics > kin
Cantera kinetics object.
double P_fixed
pressure during integrate
std::shared_ptr< Cantera::ThermoPhase > gas
Cantera thermo object.
double h_fixed
adiabatic h during integrate
double temperature
temperature during integrate