|
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 () |
Public Member Functions inherited from rad | |
| 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 | |
Protected Attributes inherited from rad | |
| 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 Public Attributes inherited from rad | |
| 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.