Skip to content
Snippets Groups Projects
Commit 0239fb95 authored by Philipp Nuske's avatar Philipp Nuske
Browse files

Remove the incremental upate of mean molar mass. I.e. the mean molar mass is...

Remove the incremental upate of mean molar mass. I.e. the mean molar mass is re-calculated every time a mole fraction is set. This means more calculations, but before random errors occured. In other words: this is more stable.
reviewed by Bernd

git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@12215 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent 7a1ee2ea
No related branches found
No related tags found
No related merge requests found
......@@ -272,25 +272,15 @@ public:
Valgrind::SetDefined(averageMolarMass_[phaseIdx]);
Valgrind::SetDefined(moleFraction_[phaseIdx][compIdx]);
if (std::isfinite(averageMolarMass_[phaseIdx])) {
Scalar delta = value - moleFraction_[phaseIdx][compIdx];
moleFraction_[phaseIdx][compIdx] = value;
sumMoleFractions_[phaseIdx] += delta;
averageMolarMass_[phaseIdx] += delta*FluidSystem::molarMass(compIdx);
}
else {
moleFraction_[phaseIdx][compIdx] = value;
// re-calculate the mean molar mass
sumMoleFractions_[phaseIdx] = 0.0;
averageMolarMass_[phaseIdx] = 0.0;
for (int compJIdx = 0; compJIdx < numComponents; ++compJIdx) {
sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compJIdx];
averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]*FluidSystem::molarMass(compJIdx);
}
}
moleFraction_[phaseIdx][compIdx] = value;
// re-calculate the mean molar mass
sumMoleFractions_[phaseIdx] = 0.0;
averageMolarMass_[phaseIdx] = 0.0;
for (int compJIdx = 0; compJIdx < numComponents; ++compJIdx) {
sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compJIdx];
averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]*FluidSystem::molarMass(compJIdx);
}
}
/*!
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment