diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp index ad85efc114b..22ab079eeaa 100644 --- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp +++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp @@ -775,9 +775,7 @@ MultiFluidBase::KernelWrapper:: for( integer ic = 0; ic < numComps; ++ic ) { // component weight can not be zero, checked in MultiFluidBase::postInputInitialization - real64 const mwInv = 1.0 / m_componentMolarWeight[ic]; - compMoleFrac[ic] = composition[ic] * mwInv; // this is molality (units of mole/mass) - dCompMoleFrac_dCompMassFrac[ic][ic] = mwInv; + compMoleFrac[ic] = composition[ic] / m_componentMolarWeight[ic]; // this is molality (units of mole/mass) totalMolality += compMoleFrac[ic]; } @@ -788,8 +786,9 @@ MultiFluidBase::KernelWrapper:: for( integer jc = 0; jc < numComps; ++jc ) { - dCompMoleFrac_dCompMassFrac[ic][jc] -= compMoleFrac[ic] / m_componentMolarWeight[jc]; - dCompMoleFrac_dCompMassFrac[ic][jc] *= totalMolalityInv; + real64 const delta = ic == jc ? 1.0 : 0.0; + dCompMoleFrac_dCompMassFrac[ic][jc] = + ( delta - compMoleFrac[ic] ) * totalMolalityInv / m_componentMolarWeight[jc]; } } } diff --git a/src/coreComponents/schema/schema.xsd.other b/src/coreComponents/schema/schema.xsd.other index 355f061e7f5..11e08ccc206 100644 --- a/src/coreComponents/schema/schema.xsd.other +++ b/src/coreComponents/schema/schema.xsd.other @@ -526,7 +526,7 @@ A field can represent a physical variable. (pressure, temperature, global compos - + @@ -1603,7 +1603,7 @@ A field can represent a physical variable. (pressure, temperature, global compos - +