@@ -1952,21 +1952,23 @@ void CSU2TCLib::DiffusionCoeffGY(){
19521952 DiffusionCoeff[iSpecies] = 0.0 ;
19531953
19541954 /* --- Calculate molar concentration ---*/
1955- const su2double Mi = MolarMass[iSpecies];
1955+ const su2double Mi = ( MolarMass[iSpecies] + EPS) ;
19561956 const su2double gam_i = rhos[iSpecies] / (Density*Mi);
19571957 su2double denom = 0.0 ;
19581958
19591959 for (jSpecies = 0 ; jSpecies < nSpecies; jSpecies++) {
19601960 if (jSpecies != iSpecies) {
19611961
1962- const su2double Mj = MolarMass[jSpecies];
1962+ const su2double Mj = ( MolarMass[jSpecies] + EPS) ;
19631963 const su2double gam_j = rhos[jSpecies] / (Density*Mj);
19641964
19651965 const su2double kb = BOLTZMANN_CONSTANT;
19661966
19671967 const su2double T_col = (iSpecies == 0 && ionization) ? Tve : T;
19681968
1969- const su2double d1_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, true );
1969+ su2double d1_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, true );
1970+ if (d1_ij > 1E16 ) d1_ij = 1E16 ;
1971+
19701972 const su2double D_ij = kb*T_col/(Pressure*d1_ij);
19711973 denom += gam_j/D_ij;
19721974 }
@@ -1987,16 +1989,18 @@ void CSU2TCLib::ViscosityGY(){
19871989 su2double denom = 0.0 ;
19881990
19891991 /* --- Calculate molar concentration ---*/
1990- const su2double Mi = MolarMass[iSpecies];
1992+ const su2double Mi = ( MolarMass[iSpecies] + EPS) ;
19911993 const su2double gam_i = rhos[iSpecies] / (Density*Mi);
19921994
19931995 for (jSpecies = 0 ; jSpecies < nSpecies; jSpecies++) {
1994- const su2double Mj = MolarMass[jSpecies];
1996+ const su2double Mj = ( MolarMass[jSpecies] + EPS) ;
19951997 const su2double gam_j = rhos[jSpecies] / (Density*Mj);
19961998
19971999 const su2double T_col = (iSpecies == 0 && ionization) ? Tve : T;
19982000
1999- const su2double d2_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, false );
2001+ su2double d2_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, false );
2002+ if (d2_ij > 1E16 ) d2_ij = 1E16 ;
2003+
20002004 denom += gam_j*d2_ij;
20012005 }
20022006 /* --- Calculate species laminar viscosity ---*/
@@ -2028,33 +2032,38 @@ void CSU2TCLib::ThermalConductivitiesGY(){
20282032 for (iSpecies = 0 ; iSpecies < nSpecies; iSpecies++) {
20292033
20302034 /* --- Calculate molar concentration ---*/
2031- const su2double Mi = MolarMass[iSpecies];
2032- const su2double mi = Mi/Na;
2033- const su2double gam_i = rhos[iSpecies] / (Density*Mi);
2035+ const su2double Mi = ( MolarMass[iSpecies] + EPS) ;
2036+ const su2double mi = Mi/Na;
2037+ const su2double gam_i = rhos[iSpecies] / (Density*Mi);
20342038 su2double denom_t = 0.0 ;
20352039 su2double denom_r = 0.0 ;
20362040 su2double denom_re = 0.0 ;
20372041
20382042 for (jSpecies = 0 ; jSpecies < nSpecies; jSpecies++) {
2039- const su2double Mj = MolarMass[jSpecies];
2043+ const su2double Mj = ( MolarMass[jSpecies] + EPS) ;
20402044 const su2double mj = Mj/Na;
20412045 const su2double gam_j = rhos[iSpecies] / (Density*Mj);
20422046 const su2double a_ij = 1.0 + (1.0 - mi/mj)*(0.45 - 2.54 *mi/mj) / ((1.0 + mi/mj)*(1.0 + mi/mj));
20432047
20442048 const su2double T_col = ((iSpecies == 0 && ionization) || (jSpecies == 0 && ionization)) ? Tve : T;
20452049
2046- const su2double d1_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, true );
2047- const su2double d2_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, false );
2048-
2049- if (jSpecies == 0 && ionization) {
2050- denom_t += 3.54 *gam_j*d2_ij;
2051- } else {
2052- denom_t += a_ij*gam_j*d2_ij;
2053- }
2050+ su2double d1_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, true );
2051+ su2double d2_ij = ComputeCollisionDelta (iSpecies, jSpecies, Mi, Mj, T_col, false );
2052+ if (d1_ij > 1E16 ) d1_ij = 1E16 ;
2053+ if (d2_ij > 1E16 ) d2_ij = 1E16 ;
2054+
2055+ if (jSpecies == 0 && ionization) { denom_t += 3.54 *gam_j*d2_ij; }
2056+ else { denom_t += a_ij*gam_j*d2_ij; }
2057+
20542058 denom_r += gam_j*d1_ij;
20552059 denom_re += gam_j*d2_ij;
20562060 }
20572061
2062+ /* --- Prevent divide by 0 ---*/
2063+ if (denom_t == 0.0 ) denom_t = EPS;
2064+ if (denom_r == 0.0 ) denom_r = EPS;
2065+ if (denom_re == 0.0 ) denom_re = EPS;
2066+
20582067 /* --- Translational contribution to thermal conductivity ---*/
20592068 if (!(ionization && iSpecies == 0 )) ThermalCond_tr += ((15.0 /4.0 )*kb*gam_i/denom_t );
20602069
0 commit comments