mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
move ebos/eclproblem.hh to opm/simulators/flow
This commit is contained in:
parent
6f5d53b20b
commit
fb7c4f6fd2
@ -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
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
|
@ -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
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
Loading…
Reference in New Issue
Block a user