Merge pull request #1004 from andlaus/fix_undefined_behaviour

avoid relying on undefined behaviour
This commit is contained in:
Atgeirr Flø Rasmussen 2017-01-09 12:49:03 +01:00 committed by GitHub
commit c292dd4975
2 changed files with 9 additions and 5 deletions

View File

@ -158,7 +158,7 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
phase_usage_ = phaseUsageFromDeck(deck);
if (! (&FluidSystem::oilPvt()) ) {
if (!FluidSystem::isInitialized()) {
// make sure that we don't initialize the fluid system twice
FluidSystem::initFromDeck(deck, eclState);
}

View File

@ -260,24 +260,28 @@ namespace Opm
dxOld = dx;
switch (relaxType()) {
case DAMPEN:
case DAMPEN: {
if (omega == 1.) {
return;
}
for (size_t i = 0; i < dx.size(); ++i) {
auto i = dx.size();
for (i = 0; i < dx.size(); ++i) {
dx[i] *= omega;
}
return;
case SOR:
}
case SOR: {
if (omega == 1.) {
return;
}
for (size_t i = 0; i < dx.size(); ++i) {
auto i = dx.size();
for (i = 0; i < dx.size(); ++i) {
dx[i] *= omega;
tempDxOld[i] *= (1.-omega);
dx[i] += tempDxOld[i];
}
return;
}
default:
OPM_THROW(std::runtime_error, "Can only handle DAMPEN and SOR relaxation type.");
}