diff --git a/test/porousmediumflow/1pncmin/implicit/steamn2.hh b/test/porousmediumflow/1pncmin/implicit/steamn2.hh index df00cc9c6f5950a303da18608e1bd93feed17ec7..4d31ba4274825f51539e9e1b611ed54e75ee348c 100644 --- a/test/porousmediumflow/1pncmin/implicit/steamn2.hh +++ b/test/porousmediumflow/1pncmin/implicit/steamn2.hh @@ -319,10 +319,14 @@ public: N2::molarMass() }; + Scalar x[numComponents] = { + fluidState.moleFraction(phaseIdx, H2OIdx), + fluidState.moleFraction(phaseIdx, N2Idx) + }; + Scalar sumx = 0.0; for (int compIdx = 0; compIdx < 2; ++compIdx) sumx += fluidState.moleFraction(phaseIdx, compIdx); - sumx = std::max(1e-10, sumx); for (int i = 0; i < numComponents; ++i) { @@ -331,9 +335,9 @@ public: Scalar phiIJ = 1 + sqrt(mu[i]/mu[j]) * pow(M[j]/M[i], 1/4.0); phiIJ *= phiIJ; phiIJ /= sqrt(8*(1 + M[i]/M[j])); - divisor += fluidState.moleFraction(phaseIdx, j)/sumx * phiIJ; + divisor += x[j]/sumx * phiIJ; } - muResult += fluidState.moleFraction(phaseIdx, i)/sumx * mu[i] / divisor; + muResult += x[i]/sumx * mu[i] / divisor; } return muResult; } diff --git a/test/references/test_1pncmin-00064_batch.vtu b/test/references/test_1pncmin-00064_batch.vtu index 72a4880c35d1c515a5bec515e1c2a3bae0b57444..becae2e371fdbe1436bcc51d59846d28b08464b2 100644 --- a/test/references/test_1pncmin-00064_batch.vtu +++ b/test/references/test_1pncmin-00064_batch.vtu @@ -10,7 +10,7 @@ 0.981775 0.981775 0.981775 0.981775 0.981775 0.981775 </DataArray> <DataArray type="Float32" Name="mu" NumberOfComponents="1" format="ascii"> - 2.37923e-05 2.37923e-05 2.37923e-05 2.37923e-05 2.37923e-05 2.37923e-05 + 2.44123e-05 2.44123e-05 2.44123e-05 2.44123e-05 2.44123e-05 2.44123e-05 </DataArray> <DataArray type="Float32" Name="delp" NumberOfComponents="1" format="ascii"> 100000 100000 100000 100000 100000 100000