move ebos/eclproblem.hh to opm/simulators/flow

This commit is contained in:
Arne Morten Kvarving 2024-02-05 19:22:15 +01:00
parent 6f5d53b20b
commit fb7c4f6fd2
10 changed files with 29 additions and 31 deletions

View File

@ -411,7 +411,6 @@ list (APPEND TEST_DATA_FILES
# find opm -name '*.h*' -a ! -name '*-pch.hpp' -printf '\t%p\n' | sort # find opm -name '*.h*' -a ! -name '*-pch.hpp' -printf '\t%p\n' | sort
list (APPEND PUBLIC_HEADER_FILES list (APPEND PUBLIC_HEADER_FILES
ebos/eclnewtonmethod.hh ebos/eclnewtonmethod.hh
ebos/eclproblem.hh
opm/simulators/flow/ActionHandler.hpp opm/simulators/flow/ActionHandler.hpp
opm/simulators/flow/AluGridCartesianIndexMapper.hpp opm/simulators/flow/AluGridCartesianIndexMapper.hpp
opm/simulators/flow/AluGridVanguard.hpp opm/simulators/flow/AluGridVanguard.hpp
@ -438,6 +437,7 @@ list (APPEND PUBLIC_HEADER_FILES
opm/simulators/flow/FlowGenericProblem_impl.hpp opm/simulators/flow/FlowGenericProblem_impl.hpp
opm/simulators/flow/FlowGenericVanguard.hpp opm/simulators/flow/FlowGenericVanguard.hpp
opm/simulators/flow/FlowMain.hpp opm/simulators/flow/FlowMain.hpp
opm/simulators/flow/FlowProblem.hpp
opm/simulators/flow/FlowProblemProperties.hpp opm/simulators/flow/FlowProblemProperties.hpp
opm/simulators/flow/FlowUtils.hpp opm/simulators/flow/FlowUtils.hpp
opm/simulators/flow/FlowsData.hpp opm/simulators/flow/FlowsData.hpp

View File

@ -26,8 +26,6 @@
#include <fmt/format.h> #include <fmt/format.h>
#include <ebos/eclproblem.hh>
#include <opm/common/ErrorMacros.hpp> #include <opm/common/ErrorMacros.hpp>
#include <opm/common/Exceptions.hpp> #include <opm/common/Exceptions.hpp>
#include <opm/common/OpmLog/OpmLog.hpp> #include <opm/common/OpmLog/OpmLog.hpp>
@ -42,6 +40,7 @@
#include <opm/simulators/flow/BlackoilModelNldd.hpp> #include <opm/simulators/flow/BlackoilModelNldd.hpp>
#include <opm/simulators/flow/BlackoilModelParameters.hpp> #include <opm/simulators/flow/BlackoilModelParameters.hpp>
#include <opm/simulators/flow/countGlobalCells.hpp> #include <opm/simulators/flow/countGlobalCells.hpp>
#include <opm/simulators/flow/FlowProblem.hpp>
#include <opm/simulators/flow/NonlinearSolver.hpp> #include <opm/simulators/flow/NonlinearSolver.hpp>
#include <opm/simulators/flow/RSTConv.hpp> #include <opm/simulators/flow/RSTConv.hpp>
#include <opm/simulators/timestepping/AdaptiveTimeStepping.hpp> #include <opm/simulators/timestepping/AdaptiveTimeStepping.hpp>

View File

@ -263,7 +263,7 @@ public:
/*! /*!
* \brief Direct indexed access to the porosity. * \brief Direct indexed access to the porosity.
* *
* For the EclProblem, this method is identical to referencePorosity(). The intensive * For the FlowProblem, this method is identical to referencePorosity(). The intensive
* quantities object may apply various multipliers (e.g. ones which model rock * quantities object may apply various multipliers (e.g. ones which model rock
* compressibility and water induced rock compaction) to it which depend on the * compressibility and water induced rock compaction) to it which depend on the
* current physical conditions. * current physical conditions.
@ -303,7 +303,7 @@ protected:
/*! /*!
* \brief Returns true if an eWoms restart file should be written to disk. * \brief Returns true if an eWoms restart file should be written to disk.
* *
* The EclProblem does not write any restart files using the ad-hoc format, only ones * The FlowProblem does not write any restart files using the ad-hoc format, only ones
* using the ECL format. * using the ECL format.
*/ */
bool shouldWriteRestartFile() const bool shouldWriteRestartFile() const

View File

@ -25,10 +25,10 @@
/*! /*!
* \file * \file
* *
* \copydoc Opm::EclProblem * \copydoc Opm::FlowProblem
*/ */
#ifndef EWOMS_ECL_PROBLEM_HH #ifndef OPM_FLOW_PROBLEM_HPP
#define EWOMS_ECL_PROBLEM_HH #define OPM_FLOW_PROBLEM_HPP
#include <dune/common/version.hh> #include <dune/common/version.hh>
#include <dune/common/fvector.hh> #include <dune/common/fvector.hh>
@ -102,16 +102,16 @@
namespace Opm { namespace Opm {
/*! /*!
* \ingroup EclBlackOilSimulator * \ingroup BlackOilSimulator
* *
* \brief This problem simulates an input file given in the data format used by the * \brief This problem simulates an input file given in the data format used by the
* commercial ECLiPSE simulator. * commercial ECLiPSE simulator.
*/ */
template <class TypeTag> template <class TypeTag>
class EclProblem : public GetPropType<TypeTag, Properties::BaseProblem> class FlowProblem : public GetPropType<TypeTag, Properties::BaseProblem>
, public FlowGenericProblem<GetPropType<TypeTag, Properties::GridView>, , public FlowGenericProblem<GetPropType<TypeTag, Properties::GridView>,
GetPropType<TypeTag, Properties::FluidSystem>, GetPropType<TypeTag, Properties::FluidSystem>,
GetPropType<TypeTag, Properties::Scalar>> GetPropType<TypeTag, Properties::Scalar>>
{ {
using BaseType = FlowGenericProblem<GetPropType<TypeTag, Properties::GridView>, using BaseType = FlowGenericProblem<GetPropType<TypeTag, Properties::GridView>,
GetPropType<TypeTag, Properties::FluidSystem>, GetPropType<TypeTag, Properties::FluidSystem>,
@ -270,7 +270,7 @@ public:
/*! /*!
* \copydoc Doxygen::defaultProblemConstructor * \copydoc Doxygen::defaultProblemConstructor
*/ */
EclProblem(Simulator& simulator) FlowProblem(Simulator& simulator)
: ParentType(simulator) : ParentType(simulator)
, FlowGenericProblem<GridView,FluidSystem,Scalar>(simulator.vanguard().eclState(), , FlowGenericProblem<GridView,FluidSystem,Scalar>(simulator.vanguard().eclState(),
simulator.vanguard().schedule(), simulator.vanguard().schedule(),
@ -933,7 +933,7 @@ public:
/*! /*!
* \copydoc FvBaseMultiPhaseProblem::porosity * \copydoc FvBaseMultiPhaseProblem::porosity
* *
* For the EclProblem, this method is identical to referencePorosity(). The intensive * For the FlowProblem, this method is identical to referencePorosity(). The intensive
* quantities object may apply various multipliers (e.g. ones which model rock * quantities object may apply various multipliers (e.g. ones which model rock
* compressibility and water induced rock compaction) to it which depend on the * compressibility and water induced rock compaction) to it which depend on the
* current physical conditions. * current physical conditions.
@ -1262,7 +1262,7 @@ public:
* term for the solution of the previous time step. * term for the solution of the previous time step.
* *
* For quite technical reasons, the storage term cannot be recycled if either DRSDT * For quite technical reasons, the storage term cannot be recycled if either DRSDT
* or DRVDT are active in ebos. Nor if the porosity is changes between timesteps * or DRVDT are active. Nor if the porosity is changes between timesteps
* using a pore volume multiplier (i.e., poreVolumeMultiplier() != 1.0) * using a pore volume multiplier (i.e., poreVolumeMultiplier() != 1.0)
*/ */
bool recycleFirstIterationStorage() const bool recycleFirstIterationStorage() const
@ -1876,7 +1876,7 @@ protected:
return; return;
} }
this->updateProperty_("EclProblem::updateCompositionChangeLimits_()) failed:", this->updateProperty_("FlowProblem::updateCompositionChangeLimits_()) failed:",
[this,episodeIdx,active](unsigned compressedDofIdx, [this,episodeIdx,active](unsigned compressedDofIdx,
const IntensiveQuantities& iq) const IntensiveQuantities& iq)
{ {
@ -1902,7 +1902,7 @@ protected:
// we use VAPPARS // we use VAPPARS
if (this->vapparsActive(episodeIdx)) { if (this->vapparsActive(episodeIdx)) {
this->updateProperty_("EclProblem::updateMaxOilSaturation_() failed:", this->updateProperty_("FlowProblem::updateMaxOilSaturation_() failed:",
[this](unsigned compressedDofIdx, const IntensiveQuantities& iq) [this](unsigned compressedDofIdx, const IntensiveQuantities& iq)
{ {
this->updateMaxOilSaturation_(compressedDofIdx,iq); this->updateMaxOilSaturation_(compressedDofIdx,iq);
@ -1935,7 +1935,7 @@ protected:
return false; return false;
this->maxWaterSaturation_[/*timeIdx=*/1] = this->maxWaterSaturation_[/*timeIdx=*/0]; this->maxWaterSaturation_[/*timeIdx=*/1] = this->maxWaterSaturation_[/*timeIdx=*/0];
this->updateProperty_("EclProblem::updateMaxWaterSaturation_() failed:", this->updateProperty_("FlowProblem::updateMaxWaterSaturation_() failed:",
[this](unsigned compressedDofIdx, const IntensiveQuantities& iq) [this](unsigned compressedDofIdx, const IntensiveQuantities& iq)
{ {
this->updateMaxWaterSaturation_(compressedDofIdx,iq); this->updateMaxWaterSaturation_(compressedDofIdx,iq);
@ -1965,7 +1965,7 @@ protected:
if (this->minRefPressure_.empty()) if (this->minRefPressure_.empty())
return false; return false;
this->updateProperty_("EclProblem::updateMinPressure_() failed:", this->updateProperty_("FlowProblem::updateMinPressure_() failed:",
[this](unsigned compressedDofIdx, const IntensiveQuantities& iq) [this](unsigned compressedDofIdx, const IntensiveQuantities& iq)
{ {
this->updateMinPressure_(compressedDofIdx,iq); this->updateMinPressure_(compressedDofIdx,iq);
@ -2486,7 +2486,7 @@ protected:
// we need to update the hysteresis data for _all_ elements (i.e., not just the // we need to update the hysteresis data for _all_ elements (i.e., not just the
// interior ones) to avoid desynchronization of the processes in the parallel case! // interior ones) to avoid desynchronization of the processes in the parallel case!
this->updateProperty_("EclProblem::updateHysteresis_() failed:", this->updateProperty_("FlowProblem::updateHysteresis_() failed:",
[this](unsigned compressedDofIdx, const IntensiveQuantities& iq) [this](unsigned compressedDofIdx, const IntensiveQuantities& iq)
{ {
materialLawManager_->updateHysteresis(iq.fluidState(), compressedDofIdx); materialLawManager_->updateHysteresis(iq.fluidState(), compressedDofIdx);
@ -2506,7 +2506,7 @@ protected:
void updateMaxPolymerAdsorption_() void updateMaxPolymerAdsorption_()
{ {
// we need to update the max polymer adsoption data for all elements // we need to update the max polymer adsoption data for all elements
this->updateProperty_("EclProblem::updateMaxPolymerAdsorption_() failed:", this->updateProperty_("FlowProblem::updateMaxPolymerAdsorption_() failed:",
[this](unsigned compressedDofIdx, const IntensiveQuantities& iq) [this](unsigned compressedDofIdx, const IntensiveQuantities& iq)
{ {
this->updateMaxPolymerAdsorption_(compressedDofIdx,iq); this->updateMaxPolymerAdsorption_(compressedDofIdx,iq);
@ -2822,4 +2822,4 @@ private:
} // namespace Opm } // namespace Opm
#endif #endif // OPM_FLOW_PROBLEM_HPP

View File

@ -55,7 +55,7 @@
namespace Opm { namespace Opm {
template <class TypeTag> template <class TypeTag>
class EclProblem; class FlowProblem;
} }
namespace Opm::Properties { namespace Opm::Properties {
@ -141,7 +141,7 @@ struct ExplicitRockCompaction {
// Set the problem property // Set the problem property
template<class TypeTag> template<class TypeTag>
struct Problem<TypeTag, TTag::FlowBaseProblem> { struct Problem<TypeTag, TTag::FlowBaseProblem> {
using type = EclProblem<TypeTag>; using type = FlowProblem<TypeTag>;
}; };
template<class TypeTag> template<class TypeTag>

View File

@ -24,7 +24,6 @@
#ifndef OPM_BLACKOILWELLMODEL_HEADER_INCLUDED #ifndef OPM_BLACKOILWELLMODEL_HEADER_INCLUDED
#define OPM_BLACKOILWELLMODEL_HEADER_INCLUDED #define OPM_BLACKOILWELLMODEL_HEADER_INCLUDED
#include <ebos/eclproblem.hh>
#include <opm/common/OpmLog/OpmLog.hpp> #include <opm/common/OpmLog/OpmLog.hpp>
#include <cassert> #include <cassert>
@ -44,6 +43,7 @@
#include <opm/input/eclipse/Schedule/Well/WellTestState.hpp> #include <opm/input/eclipse/Schedule/Well/WellTestState.hpp>
#include <opm/simulators/flow/countGlobalCells.hpp> #include <opm/simulators/flow/countGlobalCells.hpp>
#include <opm/simulators/flow/FlowProblem.hpp>
#include <opm/simulators/flow/SubDomain.hpp> #include <opm/simulators/flow/SubDomain.hpp>
#include <opm/simulators/wells/BlackoilWellModelGeneric.hpp> #include <opm/simulators/wells/BlackoilWellModelGeneric.hpp>

View File

@ -47,7 +47,7 @@ struct TestTypeTag {
// Set the problem class // Set the problem class
template<class TypeTag> template<class TypeTag>
struct Problem<TypeTag, TTag::TestTypeTag> { struct Problem<TypeTag, TTag::TestTypeTag> {
using type = EclProblem<TypeTag>; using type = FlowProblem<TypeTag>;
}; };
// Enable experimental features for ebos: ebos is the research simulator of the OPM // Enable experimental features for ebos: ebos is the research simulator of the OPM

View File

@ -24,8 +24,6 @@
#define BOOST_TEST_MODULE Equil #define BOOST_TEST_MODULE Equil
#include <ebos/eclproblem.hh>
#include <opm/grid/UnstructuredGrid.h> #include <opm/grid/UnstructuredGrid.h>
#include <opm/grid/GridManager.hpp> #include <opm/grid/GridManager.hpp>
#include <opm/grid/cpgrid/GridHelpers.hpp> #include <opm/grid/cpgrid/GridHelpers.hpp>
@ -39,6 +37,7 @@
#include <opm/simulators/flow/BlackoilModelParameters.hpp> #include <opm/simulators/flow/BlackoilModelParameters.hpp>
#include <opm/simulators/flow/FlowGenericVanguard.hpp> #include <opm/simulators/flow/FlowGenericVanguard.hpp>
#include <opm/simulators/flow/FlowProblem.hpp>
#include <opm/simulators/flow/equil/EquilibrationHelpers.hpp> #include <opm/simulators/flow/equil/EquilibrationHelpers.hpp>
#include <opm/simulators/linalg/parallelbicgstabbackend.hh> #include <opm/simulators/linalg/parallelbicgstabbackend.hh>
#include <opm/simulators/wells/BlackoilWellModel.hpp> #include <opm/simulators/wells/BlackoilWellModel.hpp>

View File

@ -27,7 +27,6 @@
#include <opm/models/utils/propertysystem.hh> #include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh> #include <opm/models/utils/parametersystem.hh>
#include <ebos/eclproblem.hh>
#include <opm/models/utils/start.hh> #include <opm/models/utils/start.hh>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp> #include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
@ -35,6 +34,7 @@
#include <opm/input/eclipse/Schedule/Well/Well.hpp> #include <opm/input/eclipse/Schedule/Well/Well.hpp>
#include <opm/simulators/utils/DeferredLogger.hpp> #include <opm/simulators/utils/DeferredLogger.hpp>
#include <opm/simulators/flow/BlackoilModel.hpp> #include <opm/simulators/flow/BlackoilModel.hpp>
#include <opm/simulators/flow/FlowProblem.hpp>
#include <opm/simulators/flow/equil/EquilibrationHelpers.hpp> #include <opm/simulators/flow/equil/EquilibrationHelpers.hpp>
#include <opm/simulators/wells/BlackoilWellModel.hpp> #include <opm/simulators/wells/BlackoilWellModel.hpp>
#include <opm/simulators/wells/StandardWell.hpp> #include <opm/simulators/wells/StandardWell.hpp>

View File

@ -43,8 +43,8 @@
#include <opm/grid/GridHelpers.hpp> #include <opm/grid/GridHelpers.hpp>
#include <opm/simulators/flow/FlowMain.hpp> #include <opm/simulators/flow/FlowMain.hpp>
#include <opm/simulators/flow/BlackoilModel.hpp> #include <opm/simulators/flow/BlackoilModel.hpp>
#include <opm/simulators/flow/FlowProblem.hpp>
#include <ebos/eclproblem.hh>
#include <opm/models/utils/start.hh> #include <opm/models/utils/start.hh>
#include <opm/simulators/wells/StandardWell.hpp> #include <opm/simulators/wells/StandardWell.hpp>