18 bool MultiTransport::hasInternalModes(
size_t j)
25 doublereal prefactor = 16.0*
m_temp/25.0;
27 for (
size_t i = 0; i <
m_nsp; i++) {
32 for (
size_t k = 0; k <
m_nsp; k++) {
37 for (
size_t j = 0; j !=
m_nsp; ++j) {
38 m_Lmatrix(i,j) = prefactor * x[j]
48 doublereal prefactor = 1.6*
m_temp;
50 doublereal sum, wj, xj;
51 for (
size_t j = 0; j <
m_nsp; j++) {
56 for (
size_t i = 0; i <
m_nsp; i++) {
57 m_Lmatrix(i,j + m_nsp) = - prefactor * x[i] * xj *
m_mw[i] *
63 sum -= m_Lmatrix(i,j+m_nsp);
65 m_Lmatrix(j,j+m_nsp) += sum;
71 for (
size_t j = 0; j <
m_nsp; j++) {
72 for (
size_t i = 0; i <
m_nsp; i++) {
73 m_Lmatrix(i+m_nsp,j) = m_Lmatrix(j,i+m_nsp);
78 void MultiTransport::eval_L1010(
const doublereal* x)
80 const doublereal fiveover3pi = 5.0/(3.0*
Pi);
81 doublereal prefactor = (16.0*
m_temp)/25.0;
83 doublereal constant1, wjsq, constant2, constant3, constant4,
84 fourmj, threemjsq, sum, sumwij;;
85 doublereal term1, term2;
87 for (
size_t j = 0; j <
m_nsp; j++) {
91 constant1 = prefactor*x[j];
93 constant2 = 13.75*wjsq;
94 constant3 = m_crot[j]/m_rotrelax[j];
97 threemjsq = 3.0*m_mw[j]*m_mw[j];
99 for (
size_t i = 0; i <
m_nsp; i++) {
101 sumwij = m_mw[i] + m_mw[j];
102 term1 =
m_bdiff(i,j) * sumwij*sumwij;
103 term2 = fourmj*
m_astar(i,j)*(1.0 + fiveover3pi*
105 (m_crot[i]/m_rotrelax[i])));
107 m_Lmatrix(i+m_nsp,j+m_nsp) = constant1*x[i]*m_mw[i] /(m_mw[j]*term1) *
108 (constant2 - threemjsq*
m_bstar(i,j)
111 sum += x[i] /(term1) *
112 (constant4 + m_mw[i]*m_mw[i]*
113 (6.25 - 3.0*
m_bstar(i,j)) + term2*m_mw[i]);
116 m_Lmatrix(j+m_nsp,j+m_nsp) -= sum*constant1;
120 void MultiTransport::eval_L1001(
const doublereal* x)
122 doublereal prefactor = 32.00*
m_temp/(5.00*
Pi);
123 doublereal constant, sum;
126 for (
size_t j = 0; j <
m_nsp; j++) {
128 if (hasInternalModes(j)) {
129 constant = prefactor*m_mw[j]*x[j]*m_crot[j]/(m_cinternal[j]*m_rotrelax[j]);
131 for (
size_t i = 0; i <
m_nsp; i++) {
133 m_Lmatrix(i+m_nsp,j+n2) = constant *
m_astar(j,i) * x[i] /
134 ((m_mw[j] + m_mw[i]) *
m_bdiff(j,i));
135 sum += m_Lmatrix(i+m_nsp,j+n2);
138 m_Lmatrix(j+m_nsp,j+n2) += sum;
140 for (
size_t i = 0; i <
m_nsp; i++) {
141 m_Lmatrix(i+m_nsp,j+n2) = 0.0;
147 void MultiTransport::eval_L0001()
150 for (
size_t j = 0; j <
m_nsp; j++) {
151 for (
size_t i = 0; i <
m_nsp; i++) {
152 m_Lmatrix(i,j+n2) = 0.0;
157 void MultiTransport::eval_L0100()
160 for (
size_t j = 0; j <
m_nsp; j++)
161 for (
size_t i = 0; i <
m_nsp; i++) {
162 m_Lmatrix(i+n2,j) = 0.0;
166 void MultiTransport::eval_L0110()
169 for (
size_t j = 0; j <
m_nsp; j++)
170 for (
size_t i = 0; i <
m_nsp; i++) {
171 m_Lmatrix(i+n2,j+m_nsp) = m_Lmatrix(j+m_nsp,i+n2);
175 void MultiTransport::eval_L0101(
const doublereal* x)
177 const doublereal fivepi = 5.00*
Pi;
178 const doublereal eightoverpi = 8.0 /
Pi;
180 doublereal prefactor = 4.00*
m_temp;
182 doublereal constant1, constant2, diff_int, sum;
183 for (
size_t i = 0; i <
m_nsp; i++) {
184 if (hasInternalModes(i)) {
186 constant1 = prefactor*x[i]/m_cinternal[i];
187 constant2 = 12.00*m_mw[i]*m_crot[i] /
188 (fivepi*m_cinternal[i]*m_rotrelax[i]);
190 for (
size_t k = 0; k <
m_nsp; k++) {
193 m_Lmatrix(k+n2,i+n2) = 0.0;
194 sum += x[k]/diff_int;
195 if (k != i) sum += x[k]*
m_astar(i,k)*constant2 /
199 m_Lmatrix(i+n2,i+n2) =
200 - eightoverpi*m_mw[i]*x[i]*x[i]*m_crot[i] /
204 for (
size_t k = 0; k <
m_nsp; k++) {
205 m_Lmatrix(i+n2,i+n2) = 1.0;
void eval_L1000()
Evaluate the L1000 matrices.
DenseMatrix m_bstar
Dense matrix for bstar.
Interface for class MultiTransport.
DenseMatrix m_astar
Dense matrix for astar.
DenseMatrix m_cstar
Dense matrix for cstar.
DenseMatrix m_bdiff
Matrix of binary diffusion coefficients at the reference pressure and the current temperature Size is...
doublereal m_temp
Current value of the temperature at which the properties in this object are calculated (Kelvin)...
const doublereal Min_C_Internal
Constant to compare dimensionless heat capacities against zero.
vector_fp m_visc
vector of species viscosities (kg /m /s).
void eval_L0000(const doublereal *const x)
Evaluate the L0000 matrices.
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
size_t m_nsp
Number of species.
void eval_L0010(const doublereal *const x)
Evaluate the L0010 matrices.
vector_fp m_mw
Local copy of the species molecular weights.