mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #5989 from akva2/simplify_doAllocBuffers
Simplify GenericOutputBlackoilModule::doAllocBuffers
This commit is contained in:
commit
8a69818ba5
@ -27,9 +27,9 @@
|
||||
|
||||
#include <opm/grid/common/CommunicationUtils.hpp>
|
||||
|
||||
#include <opm/material/fluidmatrixinteractions/EclHysteresisConfig.hpp>
|
||||
#include <opm/material/fluidsystems/BlackOilFluidSystem.hpp>
|
||||
#include <opm/material/fluidsystems/BlackOilDefaultIndexTraits.hpp>
|
||||
|
||||
#include <opm/material/fluidsystems/GenericOilGasWaterFluidSystem.hpp>
|
||||
|
||||
#include <opm/input/eclipse/EclipseState/EclipseState.hpp>
|
||||
@ -55,7 +55,6 @@
|
||||
#include <cstddef>
|
||||
#include <functional>
|
||||
#include <initializer_list>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <tuple>
|
||||
@ -752,10 +751,7 @@ doAllocBuffers(const unsigned bufferSize,
|
||||
const bool substep,
|
||||
const bool log,
|
||||
const bool isRestart,
|
||||
const bool vapparsActive,
|
||||
const bool enablePCHysteresis,
|
||||
const bool enableNonWettingHysteresis,
|
||||
const bool enableWettingHysteresis,
|
||||
const EclHysteresisConfig* hysteresisConfig,
|
||||
const unsigned numOutputNnc,
|
||||
std::map<std::string, int> rstKeywords)
|
||||
{
|
||||
@ -953,11 +949,13 @@ doAllocBuffers(const unsigned bufferSize,
|
||||
this->micpC_.allocate(bufferSize);
|
||||
}
|
||||
|
||||
const bool vapparsActive = schedule_[std::max(reportStepNum, 0u)].oilvap().getType() ==
|
||||
OilVaporizationProperties::OilVaporization::VAPPARS;
|
||||
if (vapparsActive) {
|
||||
soMax_.resize(bufferSize, 0.0);
|
||||
}
|
||||
|
||||
if (enableNonWettingHysteresis) {
|
||||
if (hysteresisConfig && hysteresisConfig->enableNonWettingHysteresis()) {
|
||||
if (FluidSystem::phaseIsActive(oilPhaseIdx)){
|
||||
if (FluidSystem::phaseIsActive(waterPhaseIdx)){
|
||||
soMax_.resize(bufferSize, 0.0);
|
||||
@ -969,7 +967,7 @@ doAllocBuffers(const unsigned bufferSize,
|
||||
//TODO add support for gas-water
|
||||
}
|
||||
}
|
||||
if (enableWettingHysteresis) {
|
||||
if (hysteresisConfig && hysteresisConfig->enableWettingHysteresis()) {
|
||||
if (FluidSystem::phaseIsActive(oilPhaseIdx)){
|
||||
if (FluidSystem::phaseIsActive(waterPhaseIdx)){
|
||||
swMax_.resize(bufferSize, 0.0);
|
||||
@ -981,7 +979,7 @@ doAllocBuffers(const unsigned bufferSize,
|
||||
//TODO add support for gas-water
|
||||
}
|
||||
}
|
||||
if (enablePCHysteresis) {
|
||||
if (hysteresisConfig && hysteresisConfig->enablePCHysteresis()) {
|
||||
if (FluidSystem::phaseIsActive(oilPhaseIdx)){
|
||||
if (FluidSystem::phaseIsActive(waterPhaseIdx)){
|
||||
swmin_.resize(bufferSize, 0.0);
|
||||
|
@ -63,6 +63,7 @@ struct ForceDisableResvFluidInPlaceOutput { static constexpr bool value = false;
|
||||
namespace Opm {
|
||||
|
||||
namespace data { class Solution; }
|
||||
class EclHysteresisConfig;
|
||||
class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
@ -327,10 +328,7 @@ protected:
|
||||
const bool substep,
|
||||
const bool log,
|
||||
const bool isRestart,
|
||||
const bool vapparsActive = false,
|
||||
const bool enablePCHysteresis = false,
|
||||
const bool enableNonWettingHysteresis = false,
|
||||
const bool enableWettingHysteresis = false,
|
||||
const EclHysteresisConfig* hysteresisConfig,
|
||||
unsigned numOutputNnc = 0,
|
||||
std::map<std::string, int> rstKeywords = {});
|
||||
|
||||
|
@ -184,10 +184,7 @@ public:
|
||||
substep,
|
||||
log,
|
||||
isRestart,
|
||||
problem.vapparsActive(std::max(simulator_.episodeIndex(), 0)),
|
||||
problem.materialLawManager()->enablePCHysteresis(),
|
||||
problem.materialLawManager()->enableNonWettingHysteresis(),
|
||||
problem.materialLawManager()->enableWettingHysteresis(),
|
||||
&problem.materialLawManager()->hysteresisConfig(),
|
||||
problem.eclWriter()->getOutputNnc().size());
|
||||
}
|
||||
|
||||
|
@ -162,10 +162,7 @@ public:
|
||||
this->compC_.allocate(bufferSize, rstKeywords);
|
||||
|
||||
this->doAllocBuffers(bufferSize, reportStepNum, substep, log, isRestart,
|
||||
/* vapparsActive =*/ false,
|
||||
/* enablePCHysteresis = */ false,
|
||||
/* enableNonWettingHysteresis =*/ false,
|
||||
/* enableWettingHysteresis =*/ false,
|
||||
/* hysteresisConfig = */ nullptr,
|
||||
/* numOutputNnc =*/ 0,
|
||||
std::move(rstKeywords));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user