mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #5882 from akva2/outputblackmodule_param_generic
OutputBlackoilModule: move some more code to GenericOutputBlackoilModule
This commit is contained in:
commit
fe94ea1100
@ -25,15 +25,13 @@
|
|||||||
|
|
||||||
#include <opm/common/OpmLog/OpmLog.hpp>
|
#include <opm/common/OpmLog/OpmLog.hpp>
|
||||||
|
|
||||||
|
#include <opm/grid/common/CommunicationUtils.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/GenericOilGasFluidSystem.hpp>
|
#include <opm/material/fluidsystems/GenericOilGasFluidSystem.hpp>
|
||||||
|
|
||||||
#include <opm/grid/common/CommunicationUtils.hpp>
|
|
||||||
|
|
||||||
#include <opm/output/data/Solution.hpp>
|
|
||||||
|
|
||||||
#include <opm/input/eclipse/EclipseState/EclipseState.hpp>
|
#include <opm/input/eclipse/EclipseState/EclipseState.hpp>
|
||||||
#include <opm/input/eclipse/EclipseState/Runspec.hpp>
|
#include <opm/input/eclipse/EclipseState/Runspec.hpp>
|
||||||
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
|
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
|
||||||
@ -46,6 +44,10 @@
|
|||||||
|
|
||||||
#include <opm/input/eclipse/Units/Units.hpp>
|
#include <opm/input/eclipse/Units/Units.hpp>
|
||||||
|
|
||||||
|
#include <opm/models/utils/parametersystem.hpp>
|
||||||
|
|
||||||
|
#include <opm/output/data/Solution.hpp>
|
||||||
|
|
||||||
#include <opm/simulators/utils/PressureAverage.hpp>
|
#include <opm/simulators/utils/PressureAverage.hpp>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@ -270,12 +272,29 @@ GenericOutputBlackoilModule(const EclipseState& eclState,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
forceDisableFipOutput_ =
|
||||||
|
Parameters::Get<Parameters::ForceDisableFluidInPlaceOutput>();
|
||||||
|
forceDisableFipresvOutput_ =
|
||||||
|
Parameters::Get<Parameters::ForceDisableResvFluidInPlaceOutput>();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class FluidSystem>
|
template<class FluidSystem>
|
||||||
GenericOutputBlackoilModule<FluidSystem>::
|
GenericOutputBlackoilModule<FluidSystem>::
|
||||||
~GenericOutputBlackoilModule() = default;
|
~GenericOutputBlackoilModule() = default;
|
||||||
|
|
||||||
|
template<class FluidSystem>
|
||||||
|
void GenericOutputBlackoilModule<FluidSystem>::
|
||||||
|
registerParameters()
|
||||||
|
{
|
||||||
|
Parameters::Register<Parameters::ForceDisableFluidInPlaceOutput>
|
||||||
|
("Do not print fluid-in-place values after each report step "
|
||||||
|
"even if requested by the deck.");
|
||||||
|
Parameters::Register<Parameters::ForceDisableResvFluidInPlaceOutput>
|
||||||
|
("Do not print reservoir volumes values after each report step "
|
||||||
|
"even if requested by the deck.");
|
||||||
|
}
|
||||||
|
|
||||||
template<class FluidSystem>
|
template<class FluidSystem>
|
||||||
void GenericOutputBlackoilModule<FluidSystem>::
|
void GenericOutputBlackoilModule<FluidSystem>::
|
||||||
outputTimeStamp(const std::string& lbl,
|
outputTimeStamp(const std::string& lbl,
|
||||||
@ -361,9 +380,9 @@ outputFipAndResvLog(const Inplace& inplace,
|
|||||||
const bool substep,
|
const bool substep,
|
||||||
const Parallel::Communication& comm)
|
const Parallel::Communication& comm)
|
||||||
{
|
{
|
||||||
if (comm.rank() != 0)
|
if (comm.rank() != 0) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// For report step 0 we use the RPTSOL config, else derive from RPTSCHED
|
// For report step 0 we use the RPTSOL config, else derive from RPTSCHED
|
||||||
std::unique_ptr<FIPConfig> fipSched;
|
std::unique_ptr<FIPConfig> fipSched;
|
||||||
|
@ -48,6 +48,13 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
namespace Opm::Parameters {
|
||||||
|
|
||||||
|
struct ForceDisableFluidInPlaceOutput { static constexpr bool value = false; };
|
||||||
|
struct ForceDisableResvFluidInPlaceOutput { static constexpr bool value = false; };
|
||||||
|
|
||||||
|
} // namespace Opm::Parameters
|
||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
|
||||||
namespace data { class Solution; }
|
namespace data { class Solution; }
|
||||||
@ -65,13 +72,20 @@ public:
|
|||||||
// Virtual destructor for safer inheritance.
|
// Virtual destructor for safer inheritance.
|
||||||
virtual ~GenericOutputBlackoilModule();
|
virtual ~GenericOutputBlackoilModule();
|
||||||
|
|
||||||
Scalar* getPRESSURE_ptr(void) {
|
Scalar* getPRESSURE_ptr()
|
||||||
return (this->fluidPressure_.data()) ;
|
{
|
||||||
};
|
return this->fluidPressure_.data();
|
||||||
|
}
|
||||||
|
|
||||||
int getPRESSURE_size( void ) {
|
int getPRESSURE_size()
|
||||||
return (this->fluidPressure_.size()) ;
|
{
|
||||||
};
|
return this->fluidPressure_.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Register all run-time parameters for the Vtk output module.
|
||||||
|
*/
|
||||||
|
static void registerParameters();
|
||||||
|
|
||||||
void outputTimeStamp(const std::string& lbl,
|
void outputTimeStamp(const std::string& lbl,
|
||||||
double elapsed,
|
double elapsed,
|
||||||
|
@ -65,15 +65,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Opm::Parameters {
|
namespace Opm {
|
||||||
|
|
||||||
struct ForceDisableFluidInPlaceOutput { static constexpr bool value = false; };
|
|
||||||
struct ForceDisableResvFluidInPlaceOutput { static constexpr bool value = false; };
|
|
||||||
|
|
||||||
} // namespace Opm::Parameters
|
|
||||||
|
|
||||||
namespace Opm
|
|
||||||
{
|
|
||||||
|
|
||||||
// forward declaration
|
// forward declaration
|
||||||
template <class TypeTag>
|
template <class TypeTag>
|
||||||
@ -146,12 +138,6 @@ public:
|
|||||||
|
|
||||||
this->setupBlockData(isCartIdxOnThisRank);
|
this->setupBlockData(isCartIdxOnThisRank);
|
||||||
|
|
||||||
this->forceDisableFipOutput_ =
|
|
||||||
Parameters::Get<Parameters::ForceDisableFluidInPlaceOutput>();
|
|
||||||
|
|
||||||
this->forceDisableFipresvOutput_ =
|
|
||||||
Parameters::Get<Parameters::ForceDisableResvFluidInPlaceOutput>();
|
|
||||||
|
|
||||||
if (! Parameters::Get<Parameters::OwnerCellsFirst>()) {
|
if (! Parameters::Get<Parameters::OwnerCellsFirst>()) {
|
||||||
const std::string msg = "The output code does not support --owner-cells-first=false.";
|
const std::string msg = "The output code does not support --owner-cells-first=false.";
|
||||||
if (collectToIORank.isIORank()) {
|
if (collectToIORank.isIORank()) {
|
||||||
@ -176,19 +162,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Register all run-time parameters for the Vtk output module.
|
|
||||||
*/
|
|
||||||
static void registerParameters()
|
|
||||||
{
|
|
||||||
Parameters::Register<Parameters::ForceDisableFluidInPlaceOutput>
|
|
||||||
("Do not print fluid-in-place values after each report step "
|
|
||||||
"even if requested by the deck.");
|
|
||||||
Parameters::Register<Parameters::ForceDisableResvFluidInPlaceOutput>
|
|
||||||
("Do not print reservoir volumes values after each report step "
|
|
||||||
"even if requested by the deck.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Allocate memory for the scalar fields we would like to
|
* \brief Allocate memory for the scalar fields we would like to
|
||||||
* write to ECL output files
|
* write to ECL output files
|
||||||
|
Loading…
Reference in New Issue
Block a user