RadLib
|
#include <rad_rcslw.h>
Public Member Functions | |
void | get_k_a (std::vector< double > &kabs, std::vector< double > &awts, const double T, const double P_not_used, const double fvsoot, const double xH2O, const double xCO2, const double xCO, const double xCH4_not_used) |
void | get_k_a_oneband (double &kabs, double &awts, const int iband, const double T, const double P_not_used, const double fvsoot, const double xH2O, const double xCO2, const double xCO, const double xCH4_not_used) |
rad_rcslw (const int p_nGG, const double TbTref, const double p_P, const double fvsoot, const double xH2O, const double xCO2, const double xCO) | |
virtual | ~rad_rcslw () |
![]() | |
int | get_nGG () |
int | get_nGGa () |
rad (const int p_nGG, const int p_nGGa) | |
virtual | ~rad () |
Protected Attributes | |
double | P |
system pressure (atm); assumed constant | |
double | Tref |
reference temperature (K) for setting F grid (normally same as Tb) | |
double | Tb |
black temperature (K) | |
std::vector< double > | P_table |
pressures (atm, abscissas) in table | |
std::vector< double > | C_table |
cross sections (m2/mol abscissas) in table | |
std::vector< double > | Tg_table |
gas temperatures (K, abscissas) in table | |
std::vector< double > | Tb_table |
blackbody temperature (K, abscissas) in table | |
std::vector< double > | xH2O_table |
mole fractions H2O (abscissas) in table | |
std::vector< double > | F_pts |
albdf grid | |
std::vector< double > | Ft_pts |
albdf grid (t for tilde) | |
std::vector< double > | Falbdf_CO2 |
CO2 albdf table values (with abscissas above) | |
std::vector< double > | Falbdf_CO |
CO albdf table values. | |
std::vector< double > | Falbdf_H2O |
H2O albdf table values. | |
int | nP |
number of P values (abscissas) in table | |
int | nC |
number of C values (abscissas) in table | |
int | nTg |
number of Tg values (abscissas) in table | |
int | nTb |
number of Tb values (abscissas) in table | |
int | ny_H2O |
number of h2o values (abscissas) in table | |
double | Cmin |
minimum absorption cross section | |
double | Cmax |
maximum absorption cross section | |
double | Fmin |
minimum albdf, corresponding to Cmin | |
double | Fmax |
maximum albdf, corresponding to Cmax | |
![]() | |
int | nGG |
number of gray gases, not including the clear gas | |
int | nGGa |
number of grey gases including the clear gas | |
Private Member Functions | |
double | get_F_albdf (const double C, double Tg, double Tb, double xCO2, double xCO, double xH2O, double fvsoot) |
double | get_FI_albdf (const double F, const double Tg, const double Tb, const double xCO2, const double xCO, const double xH2O, const double fvsoot) |
void | get_FI_albdf_tables (const std::string Ptable_file_name, const int nx, const int ny, const int nz, std::vector< double > &myarray) |
void | get_FI_albdf_tables (const std::string Ptable_file_name, const int nx, const int ny, const int nz, const int nw, std::vector< double > &myarray) |
void | set_Fpts (void) |
void | set_Falbdf_CO2_CO_H2O_at_P () |
double | F_albdf_soot (const double C, const double Tg, const double Tb, const double fvsoot) |
Additional Inherited Members | |
![]() | |
static constexpr double | sigma = 5.670367E-8 |
Stephan-Boltzmann constant. | |
Class implementing rcslw object. Radiation properties for the Rank Correlated, SLW model. A variable number of gray gases may be used. This is a very accurate model, but somewhat more expensive to compute than others. get_k_a, and get_k_a_oneband are the primary interfaces.
Definition at line 20 of file rad_rcslw.h.
rad_rcslw::rad_rcslw | ( | const int | p_nGG, |
const double | TbTref, | ||
const double | p_P, | ||
const double | fvsoot, | ||
const double | xH2O, | ||
const double | xCO2, | ||
const double | xCO | ||
) |
Constructor function
p_nGG | input: number of gray gases not including the gray gas |
TbTref | input: black temperature and reference temperature (K); set once, assumed constant |
p_P | input: system pressure (Pa); set once, assumed constant |
fvsoot | input: soot volume fraction |
xH2O | input: H2O mole fraction |
xCO2 | input: CO2 mole fraction |
xCO | input: CO mole fraction |
Definition at line 32 of file rad_rcslw.cc.
|
inlinevirtual |
Definition at line 109 of file rad_rcslw.h.
|
virtual |
This is the class interface function Given the gas state, set the k and a vectors.
These can then be accessed by the user.
Return through arg list the local gray gas coefficients (kabs) and the local weights (awts).
kabs | output: absorption coefficients (1/m) for nGG+1 (nGG gray gases + clear gas) |
awts | output: weights (unitless; sums to 1) for nGG+1 (nGG gray gases + clear gas) |
T | input: gas temperature |
P_not_used | input: Pressure (Pa) NOT USED; HERE FOR INTERFACE; P IS SET BY CONSTRUCTOR |
fvsoot | input: soot volume fraction = rho*Ysoot/rhosoot |
xH2O | input: mole fraction H2O |
xCO2 | input: mole fraction CO2 |
xCO | input: mole fraction CO |
xCH4_not_used | input: mole fraction CH4 NOT USED; HERE FOR INTERFACE; (... pass in 0.0) |
Implements rad.
Definition at line 160 of file rad_rcslw.cc.
|
virtual |
This is the class interface function Given the gas state, set the k and a vectors.
These can then be accessed by the user.
Return through arg list the local gray gas coefficients (kabs) and the local weights (awts).
kabs | output: absorption coefficient (1/m) for band/gas iband: ranges from 0 to nGG inclusive |
awts | output: weight (unitless; total sums to 1) for band/gas iband: ranges from 0 to nGG inclusive |
iband | input: which band to compute |
T | input: gas temperature |
P_not_used | input: Pressure (Pa) NOT USED; HERE FOR INTERFACE; P IS SET BY CONSTRUCTOR |
fvsoot | input: soot volume fraction = rho*Ysoot/rhosoot |
xH2O | input: mole fraction H2O |
xCO2 | input: mole fraction CO2 |
xCO | input: mole fraction CO |
xCH4_not_used | input: mole fraction CH4 NOT USED; HERE FOR INTERFACE; (... pass in 0.0) |
Implements rad.
Definition at line 99 of file rad_rcslw.cc.
|
private |
Get the albdf function F
C | input: cross section (m2/mol) |
Tg | input: gas temperature |
Tb | input: black temperature |
xCO2 | input: mole fraction CO2 |
xCO | input: mole fraction CO |
xH2O | input: mole fraction H2O |
fvsoot | input: soot volume fraction |
Definition at line 222 of file rad_rcslw.cc.
|
private |
Inverse F_albdf: pass in albdf F and get out Cross section C
F | input: albdf |
Tg | input: gas temperature |
Tb | input: black temperature |
xCO2 | input: mole fraction CO2 |
xCO | input: mole fraction CO |
xH2O | input: mole fraction H2O |
fvsoot | input: soot volume fraction = rho*Ysoot/rhoSoot |
Definition at line 276 of file rad_rcslw.cc.
|
private |
|
private |
|
private |
Set grid of F points based on Gauss-Legendre Quadrature.
Definition at line 343 of file rad_rcslw.cc.
|
private |
Read the albdf table for CO2, CO, and H2O. Separate files are given for various pressures. Interpolate the files to the desired pressure: P. Reshape from the given 1D to the 3D (CO/CO2) or 4D (H2O) tables.
Definition at line 435 of file rad_rcslw.cc.
|
private |
Get soot albdf F
C | input: cross section (m2/mol) |
Tg | input: gas temperature |
Tb | input: black temperature |
fvsoot | input: soot volume fraction |
For computing csoot, see Radiative Heat Transfer, 3rd edition, by Modest, pages 424-425:
ksoot = 1.23, 1.95, 1.30, 0.92, 0.71, for nsoot = 2.21, 2.63, 2.19, 1.89, 2.31, Lee, Stull, Dalzell, Chang, Felske, respectively
See also Williams, Shaddix et al. Int. J. Heat and Mass Transfer 50:1616-1630 (2007),
ksoot = 1.03, 0.56, 0.43, 0.89, 0.80 for nsoot = 1.75, 1.57, 1.90, 1.99, 1.55 Shaddix, Dalzell and Sarofim, Lee and Tien, Krishnan, Mountain and Mulholland, respectively
Note, these give Planck Mean absorption coefficients of \((3.72*c_{soot}/C_2)*fv*T\), where \(C_2 = 0.014388\, m\cdot K\).
Hence, (3.72*csoot/C2) = 1361, 1141, 1423, 1476, 835.0 for Lee, Stull, ... = 1817, 1265, 744.2, 1319, 1785 for Shaddix, Dalzell and Sarofim, ...
Shaddix's constants give \(c_{soot} = 7.03\), which is the same as the value of 7 presented in Solovjov 2001 for Eq. 16 proposed by Hottel and Sarofim in their 1967 textbook Radiative Transfer.
Definition at line 619 of file rad_rcslw.cc.
|
protected |
system pressure (atm); assumed constant
Definition at line 27 of file rad_rcslw.h.
|
protected |
reference temperature (K) for setting F grid (normally same as Tb)
Definition at line 28 of file rad_rcslw.h.
|
protected |
black temperature (K)
Definition at line 29 of file rad_rcslw.h.
|
protected |
pressures (atm, abscissas) in table
Definition at line 31 of file rad_rcslw.h.
|
protected |
cross sections (m2/mol abscissas) in table
Definition at line 32 of file rad_rcslw.h.
|
protected |
gas temperatures (K, abscissas) in table
Definition at line 33 of file rad_rcslw.h.
|
protected |
blackbody temperature (K, abscissas) in table
Definition at line 34 of file rad_rcslw.h.
|
protected |
mole fractions H2O (abscissas) in table
Definition at line 35 of file rad_rcslw.h.
|
protected |
albdf grid
Definition at line 37 of file rad_rcslw.h.
|
protected |
albdf grid (t for tilde)
Definition at line 38 of file rad_rcslw.h.
|
protected |
CO2 albdf table values (with abscissas above)
Definition at line 40 of file rad_rcslw.h.
|
protected |
CO albdf table values.
Definition at line 41 of file rad_rcslw.h.
|
protected |
H2O albdf table values.
Definition at line 42 of file rad_rcslw.h.
|
protected |
number of P values (abscissas) in table
Definition at line 44 of file rad_rcslw.h.
|
protected |
number of C values (abscissas) in table
Definition at line 45 of file rad_rcslw.h.
|
protected |
number of Tg values (abscissas) in table
Definition at line 46 of file rad_rcslw.h.
|
protected |
number of Tb values (abscissas) in table
Definition at line 47 of file rad_rcslw.h.
|
protected |
number of h2o values (abscissas) in table
Definition at line 48 of file rad_rcslw.h.
|
protected |
minimum absorption cross section
Definition at line 50 of file rad_rcslw.h.
|
protected |
maximum absorption cross section
Definition at line 51 of file rad_rcslw.h.
|
protected |
minimum albdf, corresponding to Cmin
Definition at line 52 of file rad_rcslw.h.
|
protected |
maximum albdf, corresponding to Cmax
Definition at line 53 of file rad_rcslw.h.