mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-11 04:55:33 -06:00
GenericProblem: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
This commit is contained in:
parent
5972b3c88d
commit
958f33fbfc
@ -41,20 +41,17 @@
|
||||
namespace Opm {
|
||||
|
||||
template class FlowGenericProblem<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CpGrid>>,
|
||||
BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>,
|
||||
double>;
|
||||
BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>>;
|
||||
|
||||
#if HAVE_DUNE_FEM
|
||||
template class FlowGenericProblem<Dune::GridView<Dune::Fem::GridPart2GridViewTraits<Dune::Fem::AdaptiveLeafGridPart<Dune::CpGrid, Dune::PartitionIteratorType(4), false>>>,
|
||||
BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>,
|
||||
double>;
|
||||
BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>>;
|
||||
template class FlowGenericProblem<Dune::Fem::GridPart2GridViewImpl<
|
||||
Dune::Fem::AdaptiveLeafGridPart<
|
||||
Dune::CpGrid,
|
||||
Dune::PartitionIteratorType(4),
|
||||
false> >,
|
||||
BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>,
|
||||
double>;
|
||||
BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>>;
|
||||
#endif // HAVE_DUNE_FEM
|
||||
|
||||
} // end namespace Opm
|
||||
|
@ -65,10 +65,11 @@ int eclPositionalParameter(Dune::ParameterTree& tree,
|
||||
* \brief This problem simulates an input file given in the data format used by the
|
||||
* commercial ECLiPSE simulator.
|
||||
*/
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
template<class GridView, class FluidSystem>
|
||||
class FlowGenericProblem
|
||||
{
|
||||
public:
|
||||
using Scalar = typename FluidSystem::Scalar;
|
||||
using TabulatedTwoDFunction = UniformXTabulated2DFunction<Scalar>;
|
||||
using TabulatedFunction = Tabulated1DFunction<Scalar>;
|
||||
|
||||
|
@ -78,8 +78,8 @@ int eclPositionalParameter(Dune::ParameterTree& tree,
|
||||
return 1;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
FlowGenericProblem(const EclipseState& eclState,
|
||||
const Schedule& schedule,
|
||||
const GridView& gridView)
|
||||
@ -91,9 +91,9 @@ FlowGenericProblem(const EclipseState& eclState,
|
||||
{
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
FlowGenericProblem<GridView,FluidSystem,Scalar>
|
||||
FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
FlowGenericProblem<GridView,FluidSystem>
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
serializationTestObject(const EclipseState& eclState,
|
||||
const Schedule& schedule,
|
||||
const GridView& gridView)
|
||||
@ -112,9 +112,9 @@ serializationTestObject(const EclipseState& eclState,
|
||||
return result;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
template<class GridView, class FluidSystem>
|
||||
std::string
|
||||
FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
helpPreamble(int,
|
||||
const char **argv)
|
||||
{
|
||||
@ -127,16 +127,16 @@ helpPreamble(int,
|
||||
+ desc;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
template<class GridView, class FluidSystem>
|
||||
std::string
|
||||
FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
briefDescription()
|
||||
{
|
||||
return briefDescription_;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
readRockParameters_(const std::vector<Scalar>& cellCenterDepths,
|
||||
std::function<std::array<int,3>(const unsigned)> ijkIndex)
|
||||
{
|
||||
@ -210,8 +210,8 @@ readRockParameters_(const std::vector<Scalar>& cellCenterDepths,
|
||||
}
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
readRockCompactionParameters_()
|
||||
{
|
||||
const auto& rock_config = eclState_.getSimulationConfig().rock_config();
|
||||
@ -303,8 +303,9 @@ readRockCompactionParameters_()
|
||||
}
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
rockCompressibility(unsigned globalSpaceIdx) const
|
||||
{
|
||||
if (this->rockParams_.empty())
|
||||
@ -317,8 +318,9 @@ rockCompressibility(unsigned globalSpaceIdx) const
|
||||
return this->rockParams_[tableIdx].compressibility;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
rockReferencePressure(unsigned globalSpaceIdx) const
|
||||
{
|
||||
if (this->rockParams_.empty())
|
||||
@ -331,15 +333,17 @@ rockReferencePressure(unsigned globalSpaceIdx) const
|
||||
return this->rockParams_[tableIdx].referencePressure;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
porosity(unsigned globalSpaceIdx, unsigned timeIdx) const
|
||||
{
|
||||
return this->referencePorosity_[timeIdx][globalSpaceIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
rockFraction(unsigned elementIdx, unsigned timeIdx) const
|
||||
{
|
||||
// the reference porosity is defined as the accumulated pore volume divided by the
|
||||
@ -350,9 +354,9 @@ rockFraction(unsigned elementIdx, unsigned timeIdx) const
|
||||
return referencePorosity(elementIdx, timeIdx) / porosity * (1 - porosity);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
template<class GridView, class FluidSystem>
|
||||
template<class T>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updateNum(const std::string& name, std::vector<T>& numbers, std::size_t num_regions)
|
||||
{
|
||||
if (!eclState_.fieldProps().has_int(name))
|
||||
@ -372,40 +376,40 @@ updateNum(const std::string& name, std::vector<T>& numbers, std::size_t num_regi
|
||||
true /*needsTranslation*/, valueCheck);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updatePvtnum_()
|
||||
{
|
||||
const auto num_regions = eclState_.getTableManager().getTabdims().getNumPVTTables();
|
||||
updateNum("PVTNUM", pvtnum_, num_regions);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updateSatnum_()
|
||||
{
|
||||
const auto num_regions = eclState_.getTableManager().getTabdims().getNumSatTables();
|
||||
updateNum("SATNUM", satnum_, num_regions);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updateMiscnum_()
|
||||
{
|
||||
const auto num_regions = 1; // we only support single region
|
||||
updateNum("MISCNUM", miscnum_, num_regions);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updatePlmixnum_()
|
||||
{
|
||||
const auto num_regions = 1; // we only support single region
|
||||
updateNum("PLMIXNUM", plmixnum_, num_regions);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updateKrnum_()
|
||||
{
|
||||
const auto num_regions = eclState_.getTableManager().getTabdims().getNumSatTables();
|
||||
@ -414,8 +418,8 @@ updateKrnum_()
|
||||
updateNum("KRNUMZ", krnumz_, num_regions);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
updateImbnum_()
|
||||
{
|
||||
const auto num_regions = eclState_.getTableManager().getTabdims().getNumSatTables();
|
||||
@ -424,16 +428,16 @@ updateImbnum_()
|
||||
updateNum("IMBNUMZ", imbnumz_, num_regions);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
bool FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
bool FlowGenericProblem<GridView,FluidSystem>::
|
||||
vapparsActive(int episodeIdx) const
|
||||
{
|
||||
const auto& oilVaporizationControl = schedule_[episodeIdx].oilvap();
|
||||
return (oilVaporizationControl.getType() == OilVaporizationProperties::OilVaporization::VAPPARS);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
bool FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
bool FlowGenericProblem<GridView,FluidSystem>::
|
||||
beginEpisode_(bool enableExperiments,
|
||||
int episodeIdx)
|
||||
{
|
||||
@ -469,8 +473,8 @@ beginEpisode_(bool enableExperiments,
|
||||
return false;
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
beginTimeStep_(bool enableExperiments,
|
||||
int episodeIdx,
|
||||
int timeStepIndex,
|
||||
@ -496,15 +500,15 @@ beginTimeStep_(bool enableExperiments,
|
||||
this->mixControls_.updateExplicitQuantities(episodeIdx, timeStepSize);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
initFluidSystem_()
|
||||
{
|
||||
FluidSystem::initFromState(eclState_, schedule_);
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
void FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
void FlowGenericProblem<GridView,FluidSystem>::
|
||||
readBlackoilExtentionsInitialConditions_(std::size_t numDof,
|
||||
bool enableSolvent,
|
||||
bool enablePolymer,
|
||||
@ -568,8 +572,9 @@ readBlackoilExtentionsInitialConditions_(std::size_t numDof,
|
||||
}
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
maxWaterSaturation(unsigned globalDofIdx) const
|
||||
{
|
||||
if (maxWaterSaturation_.empty())
|
||||
@ -578,8 +583,9 @@ maxWaterSaturation(unsigned globalDofIdx) const
|
||||
return maxWaterSaturation_[globalDofIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
minOilPressure(unsigned globalDofIdx) const
|
||||
{
|
||||
if (minRefPressure_.empty())
|
||||
@ -588,8 +594,9 @@ minOilPressure(unsigned globalDofIdx) const
|
||||
return minRefPressure_[globalDofIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
overburdenPressure(unsigned elementIdx) const
|
||||
{
|
||||
if (overburdenPressure_.empty())
|
||||
@ -598,8 +605,9 @@ overburdenPressure(unsigned elementIdx) const
|
||||
return overburdenPressure_[elementIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
solventSaturation(unsigned elemIdx) const
|
||||
{
|
||||
if (solventSaturation_.empty())
|
||||
@ -608,8 +616,9 @@ solventSaturation(unsigned elemIdx) const
|
||||
return solventSaturation_[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
solventRsw(unsigned elemIdx) const
|
||||
{
|
||||
if (solventRsw_.empty())
|
||||
@ -618,16 +627,18 @@ solventRsw(unsigned elemIdx) const
|
||||
return solventRsw_[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
drsdtcon(unsigned elemIdx, int episodeIdx) const
|
||||
{
|
||||
return this->mixControls_.drsdtcon(elemIdx, episodeIdx,
|
||||
this->pvtRegionIndex(elemIdx));
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
polymerConcentration(unsigned elemIdx) const
|
||||
{
|
||||
if (polymer_.concentration.empty()) {
|
||||
@ -637,8 +648,9 @@ polymerConcentration(unsigned elemIdx) const
|
||||
return polymer_.concentration[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
polymerMolecularWeight(const unsigned elemIdx) const
|
||||
{
|
||||
if (polymer_.moleWeight.empty()) {
|
||||
@ -648,8 +660,9 @@ polymerMolecularWeight(const unsigned elemIdx) const
|
||||
return polymer_.moleWeight[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
microbialConcentration(unsigned elemIdx) const
|
||||
{
|
||||
if (micp_.microbialConcentration.empty()) {
|
||||
@ -659,8 +672,9 @@ microbialConcentration(unsigned elemIdx) const
|
||||
return micp_.microbialConcentration[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
oxygenConcentration(unsigned elemIdx) const
|
||||
{
|
||||
if (micp_.oxygenConcentration.empty()) {
|
||||
@ -670,8 +684,9 @@ oxygenConcentration(unsigned elemIdx) const
|
||||
return micp_.oxygenConcentration[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
ureaConcentration(unsigned elemIdx) const
|
||||
{
|
||||
if (micp_.ureaConcentration.empty()) {
|
||||
@ -681,8 +696,9 @@ ureaConcentration(unsigned elemIdx) const
|
||||
return micp_.ureaConcentration[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
biofilmConcentration(unsigned elemIdx) const
|
||||
{
|
||||
if (micp_.biofilmConcentration.empty()) {
|
||||
@ -692,8 +708,9 @@ biofilmConcentration(unsigned elemIdx) const
|
||||
return micp_.biofilmConcentration[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
calciteConcentration(unsigned elemIdx) const
|
||||
{
|
||||
if (micp_.calciteConcentration.empty()) {
|
||||
@ -703,8 +720,8 @@ calciteConcentration(unsigned elemIdx) const
|
||||
return micp_.calciteConcentration[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem>::
|
||||
pvtRegionIndex(unsigned elemIdx) const
|
||||
{
|
||||
if (pvtnum_.empty())
|
||||
@ -713,8 +730,8 @@ pvtRegionIndex(unsigned elemIdx) const
|
||||
return pvtnum_[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem>::
|
||||
satnumRegionIndex(unsigned elemIdx) const
|
||||
{
|
||||
if (satnum_.empty())
|
||||
@ -723,8 +740,8 @@ satnumRegionIndex(unsigned elemIdx) const
|
||||
return satnum_[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem>::
|
||||
miscnumRegionIndex(unsigned elemIdx) const
|
||||
{
|
||||
if (miscnum_.empty())
|
||||
@ -733,8 +750,8 @@ miscnumRegionIndex(unsigned elemIdx) const
|
||||
return miscnum_[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
unsigned FlowGenericProblem<GridView,FluidSystem>::
|
||||
plmixnumRegionIndex(unsigned elemIdx) const
|
||||
{
|
||||
if (plmixnum_.empty())
|
||||
@ -743,8 +760,9 @@ plmixnumRegionIndex(unsigned elemIdx) const
|
||||
return plmixnum_[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
Scalar FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
typename FlowGenericProblem<GridView,FluidSystem>::Scalar
|
||||
FlowGenericProblem<GridView,FluidSystem>::
|
||||
maxPolymerAdsorption(unsigned elemIdx) const
|
||||
{
|
||||
if (polymer_.maxAdsorption.empty()) {
|
||||
@ -754,8 +772,8 @@ maxPolymerAdsorption(unsigned elemIdx) const
|
||||
return polymer_.maxAdsorption[elemIdx];
|
||||
}
|
||||
|
||||
template<class GridView, class FluidSystem, class Scalar>
|
||||
bool FlowGenericProblem<GridView,FluidSystem,Scalar>::
|
||||
template<class GridView, class FluidSystem>
|
||||
bool FlowGenericProblem<GridView,FluidSystem>::
|
||||
operator==(const FlowGenericProblem& rhs) const
|
||||
{
|
||||
return this->maxWaterSaturation_ == rhs.maxWaterSaturation_ &&
|
||||
|
@ -108,12 +108,10 @@ namespace Opm {
|
||||
template <class TypeTag>
|
||||
class FlowProblem : public GetPropType<TypeTag, Properties::BaseProblem>
|
||||
, public FlowGenericProblem<GetPropType<TypeTag, Properties::GridView>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>,
|
||||
GetPropType<TypeTag, Properties::Scalar>>
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>
|
||||
{
|
||||
using BaseType = FlowGenericProblem<GetPropType<TypeTag, Properties::GridView>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>,
|
||||
GetPropType<TypeTag, Properties::Scalar>>;
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>;
|
||||
using ParentType = GetPropType<TypeTag, Properties::BaseProblem>;
|
||||
using Implementation = GetPropType<TypeTag, Properties::Problem>;
|
||||
|
||||
@ -197,13 +195,13 @@ class FlowProblem : public GetPropType<TypeTag, Properties::BaseProblem>
|
||||
using DirectionalMobilityPtr = Utility::CopyablePtr<DirectionalMobility<TypeTag, Evaluation>>;
|
||||
|
||||
public:
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::briefDescription;
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::helpPreamble;
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::shouldWriteOutput;
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::shouldWriteRestartFile;
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::rockCompressibility;
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::rockReferencePressure;
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::porosity;
|
||||
using BaseType::briefDescription;
|
||||
using BaseType::helpPreamble;
|
||||
using BaseType::shouldWriteOutput;
|
||||
using BaseType::shouldWriteRestartFile;
|
||||
using BaseType::rockCompressibility;
|
||||
using BaseType::rockReferencePressure;
|
||||
using BaseType::porosity;
|
||||
|
||||
/*!
|
||||
* \copydoc FvBaseProblem::registerParameters
|
||||
@ -270,9 +268,9 @@ public:
|
||||
*/
|
||||
FlowProblem(Simulator& simulator)
|
||||
: ParentType(simulator)
|
||||
, FlowGenericProblem<GridView,FluidSystem,Scalar>(simulator.vanguard().eclState(),
|
||||
simulator.vanguard().schedule(),
|
||||
simulator.vanguard().gridView())
|
||||
, BaseType(simulator.vanguard().eclState(),
|
||||
simulator.vanguard().schedule(),
|
||||
simulator.vanguard().gridView())
|
||||
, transmissibilities_(simulator.vanguard().eclState(),
|
||||
simulator.vanguard().gridView(),
|
||||
simulator.vanguard().cartesianIndexMapper(),
|
||||
@ -1077,7 +1075,7 @@ public:
|
||||
std::shared_ptr<EclMaterialLawManager> materialLawManager()
|
||||
{ return materialLawManager_; }
|
||||
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::pvtRegionIndex;
|
||||
using BaseType::pvtRegionIndex;
|
||||
/*!
|
||||
* \brief Returns the index of the relevant region for thermodynmic properties
|
||||
*/
|
||||
@ -1085,7 +1083,7 @@ public:
|
||||
unsigned pvtRegionIndex(const Context& context, unsigned spaceIdx, unsigned timeIdx) const
|
||||
{ return pvtRegionIndex(context.globalSpaceIndex(spaceIdx, timeIdx)); }
|
||||
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::satnumRegionIndex;
|
||||
using BaseType::satnumRegionIndex;
|
||||
/*!
|
||||
* \brief Returns the index of the relevant region for thermodynmic properties
|
||||
*/
|
||||
@ -1093,7 +1091,7 @@ public:
|
||||
unsigned satnumRegionIndex(const Context& context, unsigned spaceIdx, unsigned timeIdx) const
|
||||
{ return this->satnumRegionIndex(context.globalSpaceIndex(spaceIdx, timeIdx)); }
|
||||
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::miscnumRegionIndex;
|
||||
using BaseType::miscnumRegionIndex;
|
||||
/*!
|
||||
* \brief Returns the index of the relevant region for thermodynmic properties
|
||||
*/
|
||||
@ -1101,7 +1099,7 @@ public:
|
||||
unsigned miscnumRegionIndex(const Context& context, unsigned spaceIdx, unsigned timeIdx) const
|
||||
{ return this->miscnumRegionIndex(context.globalSpaceIndex(spaceIdx, timeIdx)); }
|
||||
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::plmixnumRegionIndex;
|
||||
using BaseType::plmixnumRegionIndex;
|
||||
/*!
|
||||
* \brief Returns the index of the relevant region for thermodynmic properties
|
||||
*/
|
||||
@ -1109,7 +1107,7 @@ public:
|
||||
unsigned plmixnumRegionIndex(const Context& context, unsigned spaceIdx, unsigned timeIdx) const
|
||||
{ return this->plmixnumRegionIndex(context.globalSpaceIndex(spaceIdx, timeIdx)); }
|
||||
|
||||
using FlowGenericProblem<GridView,FluidSystem,Scalar>::maxPolymerAdsorption;
|
||||
using BaseType::maxPolymerAdsorption;
|
||||
/*!
|
||||
* \brief Returns the max polymer adsorption value
|
||||
*/
|
||||
|
@ -239,7 +239,7 @@ BOOST_AUTO_TEST_CASE(EclGenericProblem)
|
||||
auto gridView = grid.leafGridView();
|
||||
#endif // HAVE_DUNE_FEM
|
||||
auto data_out
|
||||
= Opm::FlowGenericProblem<GridView, Opm::BlackOilFluidSystem<double, Opm::BlackOilDefaultIndexTraits>, double>::
|
||||
= Opm::FlowGenericProblem<GridView, Opm::BlackOilFluidSystem<double, Opm::BlackOilDefaultIndexTraits>>::
|
||||
serializationTestObject(eclState, schedule, gridView);
|
||||
Opm::Serialization::MemPacker packer;
|
||||
Opm::Serializer ser(packer);
|
||||
|
Loading…
Reference in New Issue
Block a user