Merge pull request #2296 from akva2/noecl_no_deck_for_existence

Avoid deck usage on non-root processes checking for keywords
This commit is contained in:
Joakim Hove 2020-01-22 14:15:54 +01:00 committed by GitHub
commit 8f52dd34ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 11 deletions

View File

@ -666,10 +666,9 @@ public:
// disables gravity, else the standard value of the gravity constant at sea level
// on earth is used
this->gravity_ = 0.0;
const auto& deck = simulator.vanguard().deck();
if (EWOMS_GET_PARAM(TypeTag, bool, EnableGravity))
this->gravity_[dim - 1] = 9.80665;
if (deck.hasKeyword("NOGRAV"))
if (!eclState.getInitConfig().hasGravity())
this->gravity_[dim - 1] = 0.0;
if (enableTuning_) {
@ -2467,12 +2466,12 @@ private:
{
const auto& simulator = this->simulator();
const auto& vanguard = simulator.vanguard();
const auto& eclState = vanguard.eclState();
const auto& deck = vanguard.deck();
if (!deck.hasKeyword("EQUIL"))
readExplicitInitialCondition_();
else
if (eclState.getInitConfig().hasEquil())
readEquilInitialCondition_();
else
readExplicitInitialCondition_();
readBlackoilExtentionsInitialConditions_();

View File

@ -591,6 +591,7 @@ std::size_t packSize(const InitConfig& data, Dune::MPIHelper::MPICommunicator co
return packSize(data.getEquil(), comm) +
packSize(data.getFoamConfig(), comm) +
packSize(data.filleps(), comm) +
packSize(data.hasGravity(), comm) +
packSize(data.restartRequested(), comm) +
packSize(data.getRestartStep(), comm) +
packSize(data.getRestartRootName(), comm);
@ -2398,6 +2399,7 @@ void pack(const InitConfig& data, std::vector<char>& buffer, int& position,
pack(data.getEquil(), buffer, position, comm);
pack(data.getFoamConfig(), buffer, position, comm);
pack(data.filleps(), buffer, position, comm);
pack(data.hasGravity(), buffer, position, comm);
pack(data.restartRequested(), buffer, position, comm);
pack(data.getRestartStep(), buffer, position, comm);
pack(data.getRestartRootName(), buffer, position, comm);
@ -4379,17 +4381,18 @@ void unpack(InitConfig& data, std::vector<char>& buffer, int& position,
{
Equil equil;
FoamConfig foam;
bool filleps, restartRequested;
bool filleps, hasGravity, restartRequested;
int restartStep;
std::string restartRootName;
unpack(equil, buffer, position, comm);
unpack(foam, buffer, position, comm);
unpack(filleps, buffer, position, comm);
unpack(hasGravity, buffer, position, comm);
unpack(restartRequested, buffer, position, comm);
unpack(restartStep, buffer, position, comm);
unpack(restartRootName, buffer, position, comm);
data = InitConfig(equil, foam, filleps, restartRequested,
restartStep, restartRootName);
data = InitConfig(equil, foam, filleps, hasGravity,
restartRequested, restartStep, restartRootName);
}
void unpack(SimulationConfig& data, std::vector<char>& buffer, int& position,

View File

@ -758,7 +758,7 @@ BOOST_AUTO_TEST_CASE(InitConfig)
#if HAVE_MPI
Opm::InitConfig val1(Opm::Equil({getEquilRecord(), getEquilRecord()}),
Opm::FoamConfig({getFoamData(), getFoamData()}),
true, true, 20, "test1");
true, true, true, 20, "test1");
auto val2 = PackUnpack(val1);
BOOST_CHECK(std::get<1>(val2) == std::get<2>(val2));
BOOST_CHECK(val1 == std::get<0>(val2));
@ -2453,7 +2453,7 @@ BOOST_AUTO_TEST_CASE(EclipseConfig)
"test2", true, "test3", false);
Opm::InitConfig init(Opm::Equil({getEquilRecord(), getEquilRecord()}),
Opm::FoamConfig({getFoamData(), getFoamData()}),
true, true, 20, "test1");
true, true, true, 20, "test1");
Opm::DynamicState<Opm::RestartSchedule> rsched({Opm::RestartSchedule(1, 2, 3)}, 2);
Opm::DynamicState<std::map<std::string,int>> rkw({{{"test",3}}}, 3);
Opm::RestartConfig restart(getTimeMap(), 1, true, rsched, rkw, {false, true});