Quadrature Method of Moments (QMOM) model
Definition at line 15 of file sootModel_QMOM.h.
#include <sootModel_QMOM.h>
|
virtual void | setSourceTerms (state &state) |
|
| sootModel_QMOM (size_t nsoot_, nucleationModel *nucl_, growthModel *grow_, oxidationModel *oxid_, coagulationModel *coag_) |
|
| sootModel_QMOM (size_t nsoot_, nucleationMech Nmech, growthMech Gmech, oxidationMech Omech, coagulationMech Cmech) |
|
virtual | ~sootModel_QMOM () |
|
virtual void | setSourceTerms (state &state)=0 |
|
void | checkSpec () |
|
virtual double | pahSootCollisionRatePerDimer (const double mDimer) const |
|
virtual double | get_M0_sectional (const state &state) |
|
virtual double | get_M1_sectional (const state &state) |
|
| sootModel (size_t nsoot_, nucleationModel *nucl_, growthModel *grow_, oxidationModel *oxid_, coagulationModel *coag_) |
|
| sootModel (size_t nsoot_, nucleationMech Nmech, growthMech Gmech, oxidationMech Omech, coagulationMech Cmech) |
|
virtual | ~sootModel () |
|
|
static void | wheeler (const std::vector< double > &m, size_t N, std::vector< double > &w, std::vector< double > &x) |
|
static void | getWtsAbs (const std::vector< double > &M, std::vector< double > &weights, std::vector< double > &abscissas) |
|
static double | Mr (double r, const std::vector< double > &wts, const std::vector< double > &absc) |
|
◆ sootModel_QMOM() [1/2]
Constructor taking pointers to chemistry models as input. User creates these pointers nominally by "new-ing" them.
- Parameters
-
nsoot_ | input: number of soot moments (even number) |
nucl_ | input: pointer to nucleation model. |
grow_ | input: pointer to growth model. |
oxid_ | input: pointer to oxidation model. |
coag_ | input: pointer to coagulation model. |
Definition at line 25 of file sootModel_QMOM.cc.
◆ sootModel_QMOM() [2/2]
Constructor taking enumerations names as input. Chemistry pointers are created (new-ed) here based on those enumerations.
- Parameters
-
nsoot_ | input: number of soot moments (even number) |
Nmech | input: one of enum class nucleationMech in sootDefs.h |
Gmech | input: one of enum class growthMech in sootDefs.h |
Omech | input: one of enum class oxidationMech in sootDefs.h |
Cmech | input: one of enum class coagulationMech in sootDefs.h |
Definition at line 56 of file sootModel_QMOM.cc.
◆ ~sootModel_QMOM()
virtual soot::sootModel_QMOM::~sootModel_QMOM |
( |
| ) |
|
|
inlinevirtual |
◆ setSourceTerms()
void sootModel_QMOM::setSourceTerms |
( |
state & |
state | ) |
|
|
virtual |
Primary user interface.
- Parameters
-
state | input: gas and soot state, set by user. |
sets sources.sootSources vector sets sources.gasSources vector sets sources.pahSources vector
Implements soot::sootModel.
Definition at line 85 of file sootModel_QMOM.cc.
◆ wheeler()
void sootModel_QMOM::wheeler |
( |
const std::vector< double > & |
m, |
|
|
size_t |
N, |
|
|
std::vector< double > & |
w, |
|
|
std::vector< double > & |
x |
|
) |
| |
|
staticprivate |
Wheeler algorithm for computing weights and abscissas from moments.
From Marchisio and Fox (2013) Computational Models for Polydisperse and Multiphase Systems. LApack's dstev function to compute eigenvalues and eigenvectors of symmetrical tridiagonal matrix.
- Parameters
-
m | input: vector of moments (size = 2N) |
N | input: number of quadrature nodes (abscissas) |
w | output: weights |
x | output: abscissas |
Definition at line 276 of file sootModel_QMOM.cc.
◆ getWtsAbs()
void sootModel_QMOM::getWtsAbs |
( |
const std::vector< double > & |
M, |
|
|
std::vector< double > & |
weights, |
|
|
std::vector< double > & |
abscissas |
|
) |
| |
|
staticprivate |
Calculates weights and abscissas from moments using wheeler algorithm.
- Parameters
-
M | input: vector of moments |
weights | output: weights |
abscissas | output: abscissas |
NOTE: wts and absc variables DO NOT change size during downselection; instead, the extra values are set to zero. This is more convenient than resizing when wts and absc are used to reconstitute moment source terms.
Definition at line 208 of file sootModel_QMOM.cc.
◆ Mr()
double sootModel_QMOM::Mr |
( |
double |
r, |
|
|
const std::vector< double > & |
wts, |
|
|
const std::vector< double > & |
absc |
|
) |
| |
|
staticprivate |
calculates fractional moments from weights and abscissas.
- Parameters
-
r | input: fractional moment to compute; corresponds to exponent |
wts | input: weights |
absc | input: abscissas |
- Returns
- Mr
Definition at line 332 of file sootModel_QMOM.cc.
The documentation for this class was generated from the following files: