communicate global size setting up blackoil extension boundary conditions

This commit is contained in:
Arne Morten Kvarving 2020-01-29 16:46:27 +01:00
parent 55b5ebd3df
commit ef89d656fb

View File

@ -2753,11 +2753,16 @@ private:
const auto& simulator = this->simulator();
const auto& vanguard = simulator.vanguard();
const auto& eclState = vanguard.eclState();
const auto& comm = vanguard.gridView().comm();
size_t numDof = this->model().numGridDof();
size_t globalSize;
if (comm.rank() == 0)
globalSize = eclState.getInputGrid().getCartesianSize();
comm.broadcast(&globalSize, 1, 0);
if (enableSolvent) {
std::vector<double> solventSaturationData(eclState.getInputGrid().getCartesianSize(), 0.0);
std::vector<double> solventSaturationData(globalSize, 0.0);
if (eclState.fieldProps().has_double("SSOL"))
solventSaturationData = eclState.fieldProps().get_global_double("SSOL");
@ -2771,7 +2776,7 @@ private:
}
if (enablePolymer) {
std::vector<double> polyConcentrationData(eclState.getInputGrid().getCartesianSize(), 0.0);
std::vector<double> polyConcentrationData(globalSize, 0.0);
if (eclState.fieldProps().has_double("SPOLY"))
polyConcentrationData = eclState.fieldProps().get_global_double("SPOLY");
@ -2785,7 +2790,7 @@ private:
}
if (enablePolymerMolarWeight) {
std::vector<double> polyMoleWeightData(eclState.getInputGrid().getCartesianSize(), 0.0);
std::vector<double> polyMoleWeightData(globalSize, 0.0);
if (eclState.fieldProps().has_double("SPOLYMW"))
polyMoleWeightData = eclState.fieldProps().get_global_double("SPOLYMW");
polymerMoleWeight_.resize(numDof, 0.0);