mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
rename "(Volume|Flux)Variables" to "(In|Ex)tensiveQuantities"
"intensive" means that the value of these quantities at a given spatial location does not depend on any value of the neighboring intensive quantities. In contrast, "extensive" quantities depend in the intensive quantities of the environment of the spatial location. this change is necessary is because the previous nomenclature was very specific to finite volume discretizations, but the models themselves were already rather generic. (i.e., "volume variables" are the intensive quantities of finite volume methods and "flux variables" are the extensive ones.)
This commit is contained in:
parent
536370fc96
commit
8e0e9e9d31
@ -459,7 +459,7 @@ public:
|
|||||||
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
||||||
fs.setSaturation(gasPhaseIdx, 1.0);
|
fs.setSaturation(gasPhaseIdx, 1.0);
|
||||||
fs.setPressure(gasPhaseIdx,
|
fs.setPressure(gasPhaseIdx,
|
||||||
context.volVars(spaceIdx, timeIdx).fluidState().pressure(
|
context.intensiveQuantities(spaceIdx, timeIdx).fluidState().pressure(
|
||||||
gasPhaseIdx));
|
gasPhaseIdx));
|
||||||
fs.setTemperature(temperature(context, spaceIdx, timeIdx));
|
fs.setTemperature(temperature(context, spaceIdx, timeIdx));
|
||||||
typename FluidSystem::ParameterCache paramCache;
|
typename FluidSystem::ParameterCache paramCache;
|
||||||
@ -478,7 +478,7 @@ public:
|
|||||||
// \}
|
// \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
@ -537,8 +537,7 @@ private:
|
|||||||
Scalar pl = 1e5 - densityL * this->gravity()[dim - 1] * depth;
|
Scalar pl = 1e5 - densityL * this->gravity()[dim - 1] * depth;
|
||||||
|
|
||||||
Scalar pC[numPhases];
|
Scalar pC[numPhases];
|
||||||
const auto &matParams
|
const auto &matParams = this->materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= this->materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
MaterialLaw::capillaryPressures(pC, matParams, fs);
|
MaterialLaw::capillaryPressures(pC, matParams, fs);
|
||||||
|
|
||||||
fs.setPressure(liquidPhaseIdx, pl + (pC[liquidPhaseIdx] - pC[liquidPhaseIdx]));
|
fs.setPressure(liquidPhaseIdx, pl + (pC[liquidPhaseIdx] - pC[liquidPhaseIdx]));
|
||||||
|
@ -379,19 +379,18 @@ public:
|
|||||||
// the injection fluid state
|
// the injection fluid state
|
||||||
Scalar molarInjectionRate = 0.3435; // [mol/(m^2 s)]
|
Scalar molarInjectionRate = 0.3435; // [mol/(m^2 s)]
|
||||||
for (int compIdx = 0; compIdx < numComponents; ++compIdx)
|
for (int compIdx = 0; compIdx < numComponents; ++compIdx)
|
||||||
molarRate[conti0EqIdx + compIdx]
|
molarRate[conti0EqIdx + compIdx] =
|
||||||
= -molarInjectionRate
|
-molarInjectionRate
|
||||||
* injectFluidState_.moleFraction(gasPhaseIdx, compIdx);
|
* injectFluidState_.moleFraction(gasPhaseIdx, compIdx);
|
||||||
|
|
||||||
// calculate the total mass injection rate [kg / (m^2 s)
|
// calculate the total mass injection rate [kg / (m^2 s)
|
||||||
Scalar massInjectionRate
|
Scalar massInjectionRate =
|
||||||
= molarInjectionRate
|
molarInjectionRate
|
||||||
* injectFluidState_.averageMolarMass(gasPhaseIdx);
|
* injectFluidState_.averageMolarMass(gasPhaseIdx);
|
||||||
|
|
||||||
// set the boundary rate vector
|
// set the boundary rate vector [J / (m^2 s)]
|
||||||
values.setMolarRate(molarRate);
|
values.setMolarRate(molarRate);
|
||||||
values.setEnthalpyRate(-injectFluidState_.enthalpy(gasPhaseIdx)
|
values.setEnthalpyRate(-injectFluidState_.enthalpy(gasPhaseIdx) * massInjectionRate);
|
||||||
* massInjectionRate); // [J / (m^2 s)]
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
values.setNoFlow();
|
values.setNoFlow();
|
||||||
@ -400,7 +399,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
@ -477,8 +476,7 @@ private:
|
|||||||
fs.setSaturation(gasPhaseIdx, 1 - 0.12 - 0.07);
|
fs.setSaturation(gasPhaseIdx, 1 - 0.12 - 0.07);
|
||||||
|
|
||||||
// set the capillary pressures
|
// set the capillary pressures
|
||||||
const auto &matParams
|
const auto &matParams = materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
Scalar pc[numPhases];
|
Scalar pc[numPhases];
|
||||||
MaterialLaw::capillaryPressures(pc, matParams, fs);
|
MaterialLaw::capillaryPressures(pc, matParams, fs);
|
||||||
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
|
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
|
||||||
@ -496,8 +494,7 @@ private:
|
|||||||
fs.setSaturation(naplPhaseIdx, 0);
|
fs.setSaturation(naplPhaseIdx, 0);
|
||||||
|
|
||||||
// set the capillary pressures
|
// set the capillary pressures
|
||||||
const auto &matParams
|
const auto &matParams = materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
Scalar pc[numPhases];
|
Scalar pc[numPhases];
|
||||||
MaterialLaw::capillaryPressures(pc, matParams, fs);
|
MaterialLaw::capillaryPressures(pc, matParams, fs);
|
||||||
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
|
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
|
||||||
@ -549,10 +546,11 @@ private:
|
|||||||
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
|
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
|
||||||
Scalar lambdaSaturated;
|
Scalar lambdaSaturated;
|
||||||
if (FluidSystem::isLiquid(phaseIdx)) {
|
if (FluidSystem::isLiquid(phaseIdx)) {
|
||||||
Scalar lambdaFluid
|
Scalar lambdaFluid = FluidSystem::thermalConductivity(fs, paramCache, phaseIdx);
|
||||||
= FluidSystem::thermalConductivity(fs, paramCache, phaseIdx);
|
lambdaSaturated =
|
||||||
lambdaSaturated = std::pow(lambdaGranite, (1 - poro))
|
std::pow(lambdaGranite, (1 - poro))
|
||||||
+ std::pow(lambdaFluid, poro);
|
+
|
||||||
|
std::pow(lambdaFluid, poro);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
lambdaSaturated = std::pow(lambdaGranite, (1 - poro));
|
lambdaSaturated = std::pow(lambdaGranite, (1 - poro));
|
||||||
@ -578,8 +576,7 @@ private:
|
|||||||
typename FluidSystem::ParameterCache paramCache;
|
typename FluidSystem::ParameterCache paramCache;
|
||||||
paramCache.updatePhase(injectFluidState_, gasPhaseIdx);
|
paramCache.updatePhase(injectFluidState_, gasPhaseIdx);
|
||||||
|
|
||||||
Scalar h
|
Scalar h = FluidSystem::enthalpy(injectFluidState_, paramCache, gasPhaseIdx);
|
||||||
= FluidSystem::enthalpy(injectFluidState_, paramCache, gasPhaseIdx);
|
|
||||||
injectFluidState_.setEnthalpy(gasPhaseIdx, h);
|
injectFluidState_.setEnthalpy(gasPhaseIdx, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -359,7 +359,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -272,8 +272,7 @@ public:
|
|||||||
elemCtx.updateAll(*elemIt);
|
elemCtx.updateAll(*elemIt);
|
||||||
for (int scvIdx = 0; scvIdx < elemCtx.numDof(/*timeIdx=*/0); ++scvIdx) {
|
for (int scvIdx = 0; scvIdx < elemCtx.numDof(/*timeIdx=*/0); ++scvIdx) {
|
||||||
int globalIdx = elemCtx.globalSpaceIndex(scvIdx, /*timeIdx=*/0);
|
int globalIdx = elemCtx.globalSpaceIndex(scvIdx, /*timeIdx=*/0);
|
||||||
const auto &fs
|
const auto &fs = elemCtx.intensiveQuantities(scvIdx, /*timeIdx=*/0).fluidState();
|
||||||
= elemCtx.volVars(scvIdx, /*timeIdx=*/0).fluidState();
|
|
||||||
ParkerLenhard::update(materialParams_[globalIdx], fs);
|
ParkerLenhard::update(materialParams_[globalIdx], fs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -355,7 +354,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -443,7 +443,7 @@ public:
|
|||||||
// \}
|
// \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
// \{
|
// \{
|
||||||
|
|
||||||
@ -559,9 +559,9 @@ private:
|
|||||||
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
|
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
|
||||||
Scalar lambdaSaturated;
|
Scalar lambdaSaturated;
|
||||||
if (FluidSystem::isLiquid(phaseIdx)) {
|
if (FluidSystem::isLiquid(phaseIdx)) {
|
||||||
Scalar lambdaFluid
|
Scalar lambdaFluid = FluidSystem::thermalConductivity(fs, paramCache, phaseIdx);
|
||||||
= FluidSystem::thermalConductivity(fs, paramCache, phaseIdx);
|
lambdaSaturated =
|
||||||
lambdaSaturated = std::pow(lambdaGranite, (1 - poro))
|
std::pow(lambdaGranite, (1 - poro))
|
||||||
+ std::pow(lambdaFluid, poro);
|
+ std::pow(lambdaFluid, poro);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -164,16 +164,12 @@ public:
|
|||||||
|
|
||||||
lensUpperRight_[0] = EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightX);
|
lensUpperRight_[0] = EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightX);
|
||||||
if (dim > 1)
|
if (dim > 1)
|
||||||
lensUpperRight_[1]
|
lensUpperRight_[1] = EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightY);
|
||||||
= EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightY);
|
|
||||||
if (dim > 2)
|
if (dim > 2)
|
||||||
lensUpperRight_[2]
|
lensUpperRight_[2] = EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightY);
|
||||||
= EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightY);
|
|
||||||
|
|
||||||
intrinsicPerm_
|
intrinsicPerm_ = this->toDimMatrix_(EWOMS_GET_PARAM(TypeTag, Scalar, Permeability));
|
||||||
= this->toDimMatrix_(EWOMS_GET_PARAM(TypeTag, Scalar, Permeability));
|
intrinsicPermLens_ = this->toDimMatrix_(EWOMS_GET_PARAM(TypeTag, Scalar, PermeabilityLens));
|
||||||
intrinsicPermLens_ = this->toDimMatrix_(
|
|
||||||
EWOMS_GET_PARAM(TypeTag, Scalar, PermeabilityLens));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -296,7 +292,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -139,9 +139,7 @@ public:
|
|||||||
cellRes[2] = EWOMS_GET_PARAM(TypeTag, int, CellsZ);
|
cellRes[2] = EWOMS_GET_PARAM(TypeTag, int, CellsZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned numRefinements
|
unsigned numRefinements = EWOMS_GET_PARAM(TypeTag, unsigned, GridGlobalRefinements);
|
||||||
= EWOMS_GET_PARAM(TypeTag, unsigned, GridGlobalRefinements);
|
|
||||||
|
|
||||||
gridPtr_.reset(new Dune::YaspGrid<dim>(
|
gridPtr_.reset(new Dune::YaspGrid<dim>(
|
||||||
#ifdef HAVE_MPI
|
#ifdef HAVE_MPI
|
||||||
/*mpiCommunicator=*/Dune::MPIHelper::getCommunicator(),
|
/*mpiCommunicator=*/Dune::MPIHelper::getCommunicator(),
|
||||||
|
@ -230,8 +230,7 @@ public:
|
|||||||
|
|
||||||
if (dimWorld == 3) {
|
if (dimWorld == 3) {
|
||||||
lensLowerLeft_[2] = EWOMS_GET_PARAM(TypeTag, Scalar, LensLowerLeftZ);
|
lensLowerLeft_[2] = EWOMS_GET_PARAM(TypeTag, Scalar, LensLowerLeftZ);
|
||||||
lensUpperRight_[2]
|
lensUpperRight_[2] = EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightZ);
|
||||||
= EWOMS_GET_PARAM(TypeTag, Scalar, LensUpperRightZ);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// parameters for the Van Genuchten law
|
// parameters for the Van Genuchten law
|
||||||
@ -380,8 +379,7 @@ public:
|
|||||||
|
|
||||||
if (onLeftBoundary_(pos) || onRightBoundary_(pos)) {
|
if (onLeftBoundary_(pos) || onRightBoundary_(pos)) {
|
||||||
// free flow boundary
|
// free flow boundary
|
||||||
Scalar densityW
|
Scalar densityW = WettingPhase::density(temperature_, /*pressure=*/1e5);
|
||||||
= WettingPhase::density(temperature_, /*pressure=*/1e5);
|
|
||||||
|
|
||||||
Scalar T = temperature(context, spaceIdx, timeIdx);
|
Scalar T = temperature(context, spaceIdx, timeIdx);
|
||||||
Scalar pw, Sw;
|
Scalar pw, Sw;
|
||||||
@ -405,8 +403,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// specify a full fluid state using pw and Sw
|
// specify a full fluid state using pw and Sw
|
||||||
const MaterialLawParams &matParams
|
const MaterialLawParams &matParams = this->materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= this->materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
|
|
||||||
Opm::ImmiscibleFluidState<Scalar, FluidSystem,
|
Opm::ImmiscibleFluidState<Scalar, FluidSystem,
|
||||||
/*storeEnthalpy=*/false> fs;
|
/*storeEnthalpy=*/false> fs;
|
||||||
@ -439,7 +436,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
@ -470,8 +467,7 @@ public:
|
|||||||
Scalar pw = 1e5 - densityW * this->gravity()[1] * depth;
|
Scalar pw = 1e5 - densityW * this->gravity()[1] * depth;
|
||||||
|
|
||||||
// calculate the capillary pressure
|
// calculate the capillary pressure
|
||||||
const MaterialLawParams &matParams
|
const MaterialLawParams &matParams = this->materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= this->materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
Scalar pC[numPhases];
|
Scalar pC[numPhases];
|
||||||
MaterialLaw::capillaryPressures(pC, matParams, fs);
|
MaterialLaw::capillaryPressures(pC, matParams, fs);
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -322,7 +322,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -178,8 +178,8 @@ public:
|
|||||||
maxDepth_ = EWOMS_GET_PARAM(TypeTag, Scalar, MaxDepth);
|
maxDepth_ = EWOMS_GET_PARAM(TypeTag, Scalar, MaxDepth);
|
||||||
|
|
||||||
FluidSystem::initBegin();
|
FluidSystem::initBegin();
|
||||||
std::vector<std::pair<Scalar, Scalar> > Bg
|
std::vector<std::pair<Scalar, Scalar> > Bg =
|
||||||
= { { 1.013529e+05, 9.998450e-01 },
|
{ { 1.013529e+05, 9.998450e-01 },
|
||||||
{ 2.757903e+06, 3.075500e-02 },
|
{ 2.757903e+06, 3.075500e-02 },
|
||||||
{ 5.515806e+06, 1.537947e-02 },
|
{ 5.515806e+06, 1.537947e-02 },
|
||||||
{ 8.273709e+06, 1.021742e-02 },
|
{ 8.273709e+06, 1.021742e-02 },
|
||||||
@ -190,8 +190,8 @@ public:
|
|||||||
{ 2.206322e+07, 3.857780e-03 },
|
{ 2.206322e+07, 3.857780e-03 },
|
||||||
{ 2.482113e+07, 3.388401e-03 },
|
{ 2.482113e+07, 3.388401e-03 },
|
||||||
{ 2.757903e+07, 3.049842e-03 } };
|
{ 2.757903e+07, 3.049842e-03 } };
|
||||||
std::vector<std::pair<Scalar, Scalar> > Bo
|
std::vector<std::pair<Scalar, Scalar> > Bo =
|
||||||
= { { 1.013529e+05, 1.000000e+00 },
|
{ { 1.013529e+05, 1.000000e+00 },
|
||||||
{ 2.757903e+06, 1.012000e+00 },
|
{ 2.757903e+06, 1.012000e+00 },
|
||||||
{ 5.515806e+06, 1.025500e+00 },
|
{ 5.515806e+06, 1.025500e+00 },
|
||||||
{ 8.273709e+06, 1.038000e+00 },
|
{ 8.273709e+06, 1.038000e+00 },
|
||||||
@ -202,8 +202,8 @@ public:
|
|||||||
{ 2.206322e+07, 1.098500e+00 },
|
{ 2.206322e+07, 1.098500e+00 },
|
||||||
{ 2.482113e+07, 1.110000e+00 },
|
{ 2.482113e+07, 1.110000e+00 },
|
||||||
{ 2.757903e+07, 1.120000e+00 } };
|
{ 2.757903e+07, 1.120000e+00 } };
|
||||||
std::vector<std::pair<Scalar, Scalar> > Rs
|
std::vector<std::pair<Scalar, Scalar> > Rs =
|
||||||
= { { 1.013529e+05, 0.000000e+00 },
|
{ { 1.013529e+05, 0.000000e+00 },
|
||||||
{ 2.757903e+06, 2.938776e+01 },
|
{ 2.757903e+06, 2.938776e+01 },
|
||||||
{ 5.515806e+06, 5.966605e+01 },
|
{ 5.515806e+06, 5.966605e+01 },
|
||||||
{ 8.273709e+06, 8.905380e+01 },
|
{ 8.273709e+06, 8.905380e+01 },
|
||||||
@ -214,8 +214,8 @@ public:
|
|||||||
{ 2.206322e+07, 2.261967e+02 },
|
{ 2.206322e+07, 2.261967e+02 },
|
||||||
{ 2.482113e+07, 2.475696e+02 },
|
{ 2.482113e+07, 2.475696e+02 },
|
||||||
{ 2.757903e+07, 2.671614e+02 } };
|
{ 2.757903e+07, 2.671614e+02 } };
|
||||||
std::vector<std::pair<Scalar, Scalar> > muo
|
std::vector<std::pair<Scalar, Scalar> > muo =
|
||||||
= { { 1.013529e+05, 1.200000e-03 },
|
{ { 1.013529e+05, 1.200000e-03 },
|
||||||
{ 2.757903e+06, 1.170000e-03 },
|
{ 2.757903e+06, 1.170000e-03 },
|
||||||
{ 5.515806e+06, 1.140000e-03 },
|
{ 5.515806e+06, 1.140000e-03 },
|
||||||
{ 8.273709e+06, 1.110000e-03 },
|
{ 8.273709e+06, 1.110000e-03 },
|
||||||
@ -226,8 +226,8 @@ public:
|
|||||||
{ 2.206322e+07, 9.800000e-04 },
|
{ 2.206322e+07, 9.800000e-04 },
|
||||||
{ 2.482113e+07, 9.500000e-04 },
|
{ 2.482113e+07, 9.500000e-04 },
|
||||||
{ 2.757903e+07, 9.400000e-04 } };
|
{ 2.757903e+07, 9.400000e-04 } };
|
||||||
std::vector<std::pair<Scalar, Scalar> > mug
|
std::vector<std::pair<Scalar, Scalar> > mug =
|
||||||
= { { 1.013529e+05, 1.250000e-05 },
|
{ { 1.013529e+05, 1.250000e-05 },
|
||||||
{ 2.757903e+06, 1.300000e-05 },
|
{ 2.757903e+06, 1.300000e-05 },
|
||||||
{ 5.515806e+06, 1.350000e-05 },
|
{ 5.515806e+06, 1.350000e-05 },
|
||||||
{ 8.273709e+06, 1.400000e-05 },
|
{ 8.273709e+06, 1.400000e-05 },
|
||||||
@ -382,7 +382,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -294,8 +294,7 @@ public:
|
|||||||
const auto &pos = context.pos(spaceIdx, timeIdx);
|
const auto &pos = context.pos(spaceIdx, timeIdx);
|
||||||
|
|
||||||
if (onLeftBoundary_(pos) || onRightBoundary_(pos)) {
|
if (onLeftBoundary_(pos) || onRightBoundary_(pos)) {
|
||||||
const auto &materialParams
|
const auto &materialParams = this->materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= this->materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
|
|
||||||
Scalar Sw = 0.0;
|
Scalar Sw = 0.0;
|
||||||
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
||||||
@ -324,7 +323,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
@ -337,8 +336,7 @@ public:
|
|||||||
int spaceIdx,
|
int spaceIdx,
|
||||||
int timeIdx) const
|
int timeIdx) const
|
||||||
{
|
{
|
||||||
const auto &materialParams
|
const auto &materialParams = this->materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= this->materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
|
|
||||||
Scalar Sw = 0.0;
|
Scalar Sw = 0.0;
|
||||||
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
||||||
|
@ -185,7 +185,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
@ -205,10 +205,12 @@ public:
|
|||||||
|
|
||||||
// parabolic profile
|
// parabolic profile
|
||||||
const Scalar v1 = 1.0;
|
const Scalar v1 = 1.0;
|
||||||
values[velocity0Idx + 1]
|
values[velocity0Idx + 1] =
|
||||||
= -v1 * (globalPos[0] - this->boundingBoxMin()[0])
|
- v1
|
||||||
|
* (globalPos[0] - this->boundingBoxMin()[0])
|
||||||
* (this->boundingBoxMax()[0] - globalPos[0])
|
* (this->boundingBoxMax()[0] - globalPos[0])
|
||||||
/ (0.25 * (this->boundingBoxMax()[0] - this->boundingBoxMin()[0])
|
/ (0.25
|
||||||
|
* (this->boundingBoxMax()[0] - this->boundingBoxMin()[0])
|
||||||
* (this->boundingBoxMax()[0] - this->boundingBoxMin()[0]));
|
* (this->boundingBoxMax()[0] - this->boundingBoxMin()[0]));
|
||||||
|
|
||||||
Scalar moleFrac[numComponents];
|
Scalar moleFrac[numComponents];
|
||||||
|
@ -186,7 +186,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
// \{
|
// \{
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
|
@ -390,7 +390,7 @@ public:
|
|||||||
//! \}
|
//! \}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \name Volume terms
|
* \name Volumetric terms
|
||||||
*/
|
*/
|
||||||
//! \{
|
//! \{
|
||||||
|
|
||||||
@ -413,8 +413,8 @@ public:
|
|||||||
/*!
|
/*!
|
||||||
* \copydoc VcfvProblem::constraints
|
* \copydoc VcfvProblem::constraints
|
||||||
*
|
*
|
||||||
* In this problem, constraints are used to keep the temperature
|
* In this problem, constraints are used to keep the temperature of the degrees of
|
||||||
* of the finite-volumes which are closest to the inlet constant.
|
* freedom which are closest to the inlet constant.
|
||||||
*/
|
*/
|
||||||
template <class Context>
|
template <class Context>
|
||||||
void constraints(Constraints &constraints,
|
void constraints(Constraints &constraints,
|
||||||
|
@ -218,8 +218,7 @@ public:
|
|||||||
const auto &pos = context.pos(spaceIdx, timeIdx);
|
const auto &pos = context.pos(spaceIdx, timeIdx);
|
||||||
if (pos[0] < eps_) {
|
if (pos[0] < eps_) {
|
||||||
// Free-flow conditions on left boundary
|
// Free-flow conditions on left boundary
|
||||||
const auto &materialParams
|
const auto &materialParams = this->materialLawParams(context, spaceIdx, timeIdx);
|
||||||
= this->materialLawParams(context, spaceIdx, timeIdx);
|
|
||||||
|
|
||||||
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
Opm::ImmiscibleFluidState<Scalar, FluidSystem> fs;
|
||||||
Scalar Sw = 1.0;
|
Scalar Sw = 1.0;
|
||||||
|
Loading…
Reference in New Issue
Block a user