64 static vector<vector<double> > rrSpc(
nspc);
65 static vector<double> yi(
nspc);
66 static vector<double> rr(
nspc);
80 for(
int k=0; k<
nspc; k++)
83 for(
int i=iS; i<=iE; i++) {
84#ifdef PROBLEMSPECIFICRR
86 for(
int k=0; k<
nspc; k++)
87 yi.at(k) =
domn->
ysp[k]->d.at(i);
91 domn->
gas->getNetProductionRates(&rr.at(0));
93 for(
int k=0; k<
nspc; k++)
94 rrSpc.at(k).at(i) = rr.at(k) *
domn->
gas->molecularWeight(k) /
domn->
rho->
d.at(i);
99 for(
int i=iS; i<=iE; i++)
105 for(
int i=iS; i<=iE; i++)
118 const vector<double> &dxc){
128 for(
int i=0,ip=1; i<
domn->
ngrd; i++, ip++)
146 const vector<double> &dxc){
148 static vector<vector<double> > rhoD(
nspc);
149 static vector<vector<double> > rhoD_f(
nspc);
150 static vector<vector<double> > rhoDYinvM(
nspc);
151 static vector<vector<double> > rhoDYinvM_f(
nspc);
152 static vector<vector<double> > ysp_f(
nspc);
153 static vector<double> Di(
nspc);
154 static vector<double> dMdx;
155 static vector<double> MMw;
161 for(
int k=0; k<
nspc; k++) {
171 MMw.at(i) =
domn->
gas->meanMolecularWeight();
172 domn->
tran->getMixDiffCoeffs(&Di.at(0));
173 for (
int k=0; k<
nspc; k++) {
174 rhoD.at(k).at(i) =
domn->
rho->
d.at(i)*Di.at(k);
175 rhoDYinvM.at(k).at(i) = rhoD.at(k).at(i)*
domn->
ysp[k]->d.at(i)/MMw.at(i);
183 for (
int k=0; k<
nspc; k++) {
193 for (
int i=1, im=0; i <
domn->
ngrd; i++, im++)
194 dMdx.at(i) = gf.at(i) * (MMw.at(i) - MMw.at(im));
203 for (
int i=1, im=0; i <
domn->
ngrd; i++, im++) {
205 for(
int k=0; k<
nspc; k++) {
206 domn->
ysp[k]->flux.at(i) = -rhoD_f.at(k).at(i)*gf.at(i)*(
domn->
ysp[k]->d.at(i) -
domn->
ysp[k]->d.at(im))
207 -rhoDYinvM_f.at(k).at(i)*dMdx.at(i);
208 jstar +=
domn->
ysp[k]->flux.at(i);
210 for(
int k=0; k<
nspc; k++)
211 domn->
ysp[k]->flux.at(i) -= ysp_f.at(k).at(i) * jstar;
216 for(
int k=0; k<
nspc; k++) {
217 domn->
ysp[k]->flux.at(0) = 0.0;
int ngrd
number of grid cells
domaincase * domc
domaincase class: set specific vars...
IdealGasPhase * gas
pointer to cantera thermochemistry object (reaction rates, Cp, etc.)
Transport * tran
pointer to cantera transport object (viscosity, diffusivity, etc.)
dv * posf
access as: posf->d[i], or posf->var_name, etc.
int ngrdf
number of grid cell faces = ngrd+1
inputoutput * io
pointer to input/output object
micromixer * mimx
pointer to micromixer for diffusion, reaction, domain evolution.
vector< dv * >::iterator ysp
access as: ysp=v.begin(), (*ysp)->d[i] or (*(ysp+k))->d[i], or ysp[k]->d[i].
param * pram
pointer to the parameters object
virtual void setGasStateAtPt(const int &ipt)
virtual void getRhsSrc(const int ipt=-1)
static int nspc
number of gas species
void setFlux(const vector< double > &gf, const vector< double > &dxc)
virtual void getRhsMix(const vector< double > &gf, const vector< double > &dxc)
int kMe
index of this spc in list: 0 to nspc-1; set from var_name
vector< double > d
the data
bool L_transported
flag true if var is transported
string var_name
name of variable
bool L_output
flag true if included in output
vector< double > rhsMix
the data
virtual double linearInterpToFace(const int &iface, const vector< double > &vec)
domain * domn
pointer to domain object (parent)
vector< double > rhsSrc
the data
int cCoord
1 = planar, 2 = cylindrical, 3 = spherical
bool Lspatial
spatial formulation if true
double pres
initial pressure (Pa)
Header file for class domain.
void getProblemSpecificRR(double rho, double temp, double pres, double *yi, double *rr)
void getProblemSpecificRR(double rho, double temp, double pres, double *yi, double *rr)
Header file for class dv_ygas.