57 static double preFac = 4.0*sqrt(M_PI*
kb*
state.
T)*
69 cMin += ndoti * 2.0*
pahSpNC[sp];
70 hMin += ndoti * 2.0*
pahSpNH[sp];
88 double beta_DD = preFac*pow(mDimer, 1.0/6.0);
90 double I_beta_DS = 0.0;
96 for (
int i = 0; i <
state.
absc.size(); i++)
103 if (nDotD > 0 && mDimer > 0)
104 nDimer = 2.0*nDotD/(I_beta_DS + sqrt(I_beta_DS*I_beta_DS + 4.*beta_DD*nDotD));
114 return 0.5*beta_DD*nDimer*nDimer;
virtual double getCoagulationSootRate(const state &state, double m1, double m2) const =0
double getNucleationSootRate(state &state) override
std::vector< double > nucleationPahRxnRates
mole ratios for PAH gas species rate coupling
dimerStruct DIMER
used for PAH nucleation only
nucleationMech mechType
identity of the type of nucleation (child)
sootModel * SM
back pointer to soot model
std::vector< double > nucleationRxnRatios
mole ratios for gas species rate coupling
coagulationModel * coag
pointer to coagulation mechanism
psdMech psdMechType
one of MONO, LOGN, QMOM, MOMIC, SECT, etc.
virtual double pahSootCollisionRatePerDimer(const double mDimer) const
std::vector< double > wts
moment weights
double rhoGas
gas density (kg/m3)
std::vector< double > yPah
gas PAH species mass fractions
double T
gas temperature (K)
double cMin
soot min num carbon atoms (dynamic for PAH nucleation)
std::vector< double > absc
moment abscissas
const double kb
Boltzmann constant = Rg/Na: J/#*K.
const std::vector< double > pahSpGamma
const double rhoSoot
soot particle density
const std::vector< double > pahSpMW
const std::vector< int > pahSpNC
const double Na
Avogadro's constant: #/kmol.
const std::vector< int > pahSpNH
const std::vector< double > gasSpMW
(kg/kmol); make sure the order corresponds to the gasSp enum