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