mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-25 15:10:09 -05:00
multiphasebasemodel: do not set a default flux module
This commit is contained in:
1 parent
1f20c2ea34
commit
05f6583222
47 files changed
+356
-91
No files matched your search
@@ -32,33 +32,35 @@
|
||||
#include <opm/common/OpmLog/OpmLog.hpp>
|
||||
#include <opm/common/OpmLog/StreamLog.hpp>
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2ptflashproblem.hh"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
|
||||
|
||||
namespace Opm::Properties {
|
||||
|
||||
namespace TTag {
|
||||
struct CO2PTEcfvProblem {
|
||||
using InheritsFrom = std::tuple<CO2PTBaseProblem, FlashModel>;
|
||||
};
|
||||
|
||||
struct CO2PTEcfvProblem
|
||||
{ using InheritsFrom = std::tuple<CO2PTBaseProblem, FlashModel>; };
|
||||
|
||||
}
|
||||
|
||||
template <class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::CO2PTEcfvProblem>
|
||||
{
|
||||
using type = TTag::EcfvDiscretization;
|
||||
};
|
||||
{ using type = TTag::EcfvDiscretization; };
|
||||
|
||||
template <class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::CO2PTEcfvProblem>
|
||||
{
|
||||
using type = TTag::AutoDiffLocalLinearizer;
|
||||
};
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::CO2PTEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
||||
@@ -32,10 +32,12 @@
|
||||
#include <opm/material/common/quad.hpp>
|
||||
#endif
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionflash.hh"
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -64,6 +66,12 @@ struct FlashSolver<TypeTag, TTag::Co2InjectionFlashEcfvProblem>
|
||||
{ using type = Opm::Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionFlashEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// the flash model has serious problems with the numerical
|
||||
// precision. if quadruple precision math is available, we use it,
|
||||
// else we increase the tolerance of the Newton solver
|
||||
|
||||
@@ -31,10 +31,12 @@
|
||||
// this must be included before the vanguard
|
||||
#include <opm/material/common/quad.hpp>
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionflash.hh"
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -63,8 +65,13 @@ struct LocalLinearizerSplice<TypeTag, TTag::Co2InjectionFlashNiEcfvProblem>
|
||||
// use the CO2 injection problem adapted flash solver
|
||||
template<class TypeTag>
|
||||
struct FlashSolver<TypeTag, TTag::Co2InjectionFlashNiEcfvProblem>
|
||||
{ using type = Opm::Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
{ using type = Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionFlashNiEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// the flash model has serious problems with the numerical
|
||||
// precision. if quadruple precision math is available, we use it,
|
||||
|
||||
@@ -31,10 +31,12 @@
|
||||
// this must be included before the vanguard
|
||||
#include <opm/material/common/quad.hpp>
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionflash.hh"
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -59,8 +61,14 @@ struct EnableEnergy<TypeTag, TTag::Co2InjectionFlashNiVcfvProblem>
|
||||
// use the CO2 injection problem adapted flash solver
|
||||
template<class TypeTag>
|
||||
struct FlashSolver<TypeTag, TTag::Co2InjectionFlashNiVcfvProblem>
|
||||
{ using type = Opm::Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
{ using type = Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionFlashNiVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// the flash model has serious problems with the numerical
|
||||
// precision. if quadruple precision math is available, we use it,
|
||||
|
||||
@@ -32,10 +32,12 @@
|
||||
#include <opm/material/common/quad.hpp>
|
||||
#endif
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionflash.hh"
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -55,8 +57,13 @@ struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionFlashVcfvProblem>
|
||||
// use the flash solver adapted to the CO2 injection problem
|
||||
template<class TypeTag>
|
||||
struct FlashSolver<TypeTag, TTag::Co2InjectionFlashVcfvProblem>
|
||||
{ using type = Opm::Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
{ using type = Co2InjectionFlash<GetPropType<TypeTag, Properties::Scalar>,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionFlashVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// the flash model has serious problems with the numerical
|
||||
// precision. if quadruple precision math is available, we use it,
|
||||
|
||||
@@ -28,10 +28,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -48,6 +49,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionImmiscibleEcfvProblem>
|
||||
{ using type = TTag::EcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionImmiscibleEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
////////////////////////
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -56,6 +58,11 @@ template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::Co2InjectionImmiscibleNiEcfvProblem>
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionImmiscibleNiEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
////////////////////////
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -51,6 +53,11 @@ template<class TypeTag>
|
||||
struct EnableEnergy<TypeTag, TTag::Co2InjectionImmiscibleNiVcfvProblem>
|
||||
{ static constexpr bool value = true; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionImmiscibleNiVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
////////////////////////
|
||||
|
||||
@@ -28,10 +28,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -48,6 +49,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionImmiscibleVcfvProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionImmiscibleVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
////////////////////////
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -48,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionNcpEcfvProblem>
|
||||
{ using type = TTag::EcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionNcpEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -57,6 +59,11 @@ template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::Co2InjectionNcpNiEcfvProblem>
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionNcpNiEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -51,6 +53,11 @@ template<class TypeTag>
|
||||
struct EnableEnergy<TypeTag, TTag::Co2InjectionNcpNiVcfvProblem>
|
||||
{ static constexpr bool value = true; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionNcpNiVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -49,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionNcpVcfvProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionNcpVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -48,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionPvsEcfvProblem>
|
||||
{ using type = TTag::EcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionPvsEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -56,6 +58,11 @@ template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::Co2InjectionPvsNiEcfvProblem>
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionPvsNiEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
@@ -52,6 +54,11 @@ template<class TypeTag>
|
||||
struct EnableEnergy<TypeTag, TTag::Co2InjectionPvsNiVcfvProblem>
|
||||
{ static constexpr bool value = true; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionPvsNiVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include "problems/co2injectionproblem.hh"
|
||||
|
||||
@@ -49,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Co2InjectionPvsVcfvProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Co2InjectionPvsVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
@@ -50,6 +51,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::CuvetteProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::CuvetteProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/flash/flashmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -50,6 +51,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::DiffusionProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::DiffusionProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -50,6 +51,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::DiffusionProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::DiffusionProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -50,6 +51,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::DiffusionProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::DiffusionProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,9 +27,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include <opm/simulators/linalg/parallelbicgstabbackend.hh>
|
||||
|
||||
#include "problems/fingerproblem.hh"
|
||||
@@ -38,10 +40,20 @@ namespace Opm::Properties {
|
||||
|
||||
// Create new type tags
|
||||
namespace TTag {
|
||||
struct FingerProblemEcfv { using InheritsFrom = std::tuple<FingerBaseProblem, ImmiscibleTwoPhaseModel>; };
|
||||
|
||||
struct FingerProblemEcfv
|
||||
{ using InheritsFrom = std::tuple<FingerBaseProblem, ImmiscibleTwoPhaseModel>; };
|
||||
|
||||
} // end namespace TTag
|
||||
|
||||
template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::FingerProblemEcfv> { using type = TTag::EcfvDiscretization; };
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::FingerProblemEcfv>
|
||||
{ using type = TTag::EcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::FingerProblemEcfv>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
||||
@@ -27,9 +27,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include <opm/simulators/linalg/parallelbicgstabbackend.hh>
|
||||
|
||||
#include "problems/fingerproblem.hh"
|
||||
@@ -38,10 +40,20 @@ namespace Opm::Properties {
|
||||
|
||||
// Create new type tags
|
||||
namespace TTag {
|
||||
struct FingerProblemVcfv { using InheritsFrom = std::tuple<FingerBaseProblem, ImmiscibleTwoPhaseModel>; };
|
||||
|
||||
struct FingerProblemVcfv
|
||||
{ using InheritsFrom = std::tuple<FingerBaseProblem, ImmiscibleTwoPhaseModel>; };
|
||||
|
||||
} // end namespace TTag
|
||||
|
||||
template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::FingerProblemVcfv> { using type = TTag::VcfvDiscretization; };
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::FingerProblemVcfv>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::FingerProblemVcfv>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
@@ -49,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::GroundWaterProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::GroundWaterProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
@@ -49,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::InfiltrationProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::InfiltrationProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -29,28 +29,41 @@
|
||||
#ifndef EWOMS_LENS_IMMISCIBLE_ECFV_AD_HH
|
||||
#define EWOMS_LENS_IMMISCIBLE_ECFV_AD_HH
|
||||
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
|
||||
#include "problems/lensproblem.hh"
|
||||
|
||||
namespace Opm::Properties {
|
||||
|
||||
// Create new type tags
|
||||
namespace TTag {
|
||||
struct LensProblemEcfvAd { using InheritsFrom = std::tuple<LensBaseProblem, ImmiscibleTwoPhaseModel>; };
|
||||
|
||||
struct LensProblemEcfvAd
|
||||
{ using InheritsFrom = std::tuple<LensBaseProblem, ImmiscibleTwoPhaseModel>; };
|
||||
|
||||
} // end namespace TTag
|
||||
|
||||
// use the element centered finite volume spatial discretization
|
||||
template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::LensProblemEcfvAd> { using type = TTag::EcfvDiscretization; };
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::LensProblemEcfvAd>
|
||||
{ using type = TTag::EcfvDiscretization; };
|
||||
|
||||
// use automatic differentiation for this simulator
|
||||
template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::LensProblemEcfvAd> { using type = TTag::AutoDiffLocalLinearizer; };
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::LensProblemEcfvAd>
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
// this problem works fine if the linear solver uses single precision scalars
|
||||
template<class TypeTag>
|
||||
struct LinearSolverScalar<TypeTag, TTag::LensProblemEcfvAd> { using type = float; };
|
||||
struct LinearSolverScalar<TypeTag, TTag::LensProblemEcfvAd>
|
||||
{ using type = float; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::LensProblemEcfvAd>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -56,6 +57,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::LensProblemVcfvAd>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::LensProblemVcfvAd>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// use linear finite element gradients if dune-localfunctions is available
|
||||
#if HAVE_DUNE_LOCALFUNCTIONS
|
||||
template<class TypeTag>
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -56,6 +57,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::LensProblemVcfvFd>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::LensProblemVcfvFd>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// use linear finite element gradients if dune-localfunctions is available
|
||||
#if HAVE_DUNE_LOCALFUNCTIONS
|
||||
template<class TypeTag>
|
||||
|
||||
@@ -27,9 +27,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
|
||||
#include <opm/simulators/linalg/parallelbicgstabbackend.hh>
|
||||
|
||||
#include "problems/richardslensproblem.hh"
|
||||
@@ -52,6 +54,11 @@ template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::RichardsLensEcfvProblem>
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::RichardsLensEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,9 +27,11 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
|
||||
#include <opm/simulators/linalg/parallelbicgstabbackend.hh>
|
||||
|
||||
#include "problems/richardslensproblem.hh"
|
||||
@@ -48,6 +50,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::RichardsLensVcfvProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::RichardsLensVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
@@ -51,6 +52,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::ObstacleProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::ObstacleProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
@@ -51,6 +52,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::ObstacleProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::ObstacleProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
@@ -53,6 +54,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::ObstacleProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::ObstacleProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
@@ -51,6 +52,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::OutflowProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::OutflowProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -46,7 +47,7 @@ struct PowerInjectionDarcyAdProblem
|
||||
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::PowerInjectionDarcyAdProblem>
|
||||
{ using type = Opm::DarcyFluxModule<TypeTag>; };
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::PowerInjectionDarcyAdProblem>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/forchheimerfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -46,7 +47,7 @@ struct PowerInjectionForchheimerAdProblem
|
||||
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::PowerInjectionForchheimerAdProblem>
|
||||
{ using type = Opm::ForchheimerFluxModule<TypeTag>; };
|
||||
{ using type = ForchheimerFluxModule<TypeTag>; };
|
||||
|
||||
template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::PowerInjectionForchheimerAdProblem>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/forchheimerfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
@@ -46,7 +47,7 @@ struct PowerInjectionForchheimerFdProblem
|
||||
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::PowerInjectionForchheimerFdProblem>
|
||||
{ using type = Opm::ForchheimerFluxModule<TypeTag>; };
|
||||
{ using type = ForchheimerFluxModule<TypeTag>; };
|
||||
|
||||
template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::PowerInjectionForchheimerFdProblem>
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <opm/material/components/SimpleH2O.hpp>
|
||||
#include <opm/material/components/Dnapl.hpp>
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretefracture/discretefracturemodel.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
@@ -169,6 +170,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::FractureProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::FractureProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
namespace Opm {
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <opm/material/components/SimpleH2O.hpp>
|
||||
#include <opm/material/components/Air.hpp>
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/common/fvbaseadlocallinearizer.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
#include <opm/models/io/cubegridvanguard.hh>
|
||||
|
||||
@@ -27,10 +27,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include <opm/simulators/linalg/parallelbicgstabbackend.hh>
|
||||
|
||||
#include "problems/reservoirproblem.hh"
|
||||
@@ -55,6 +57,10 @@ template<class TypeTag>
|
||||
struct LocalLinearizerSplice<TypeTag, TTag::ReservoirNcpEcfvProblem>
|
||||
{ using type = TTag::AutoDiffLocalLinearizer; };
|
||||
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::ReservoirNcpEcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/ncp/ncpmodel.hh>
|
||||
#include <opm/models/utils/start.hh>
|
||||
|
||||
#include <opm/simulators/linalg/parallelbicgstabbackend.hh>
|
||||
|
||||
#include "problems/reservoirproblem.hh"
|
||||
@@ -51,6 +53,10 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::ReservoirNcpVcfvProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::ReservoirNcpVcfvProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// reduce the base epsilon for the finite difference method to 10^-11. for some reason
|
||||
// the simulator converges better with this. (TODO: use automatic differentiation?)
|
||||
template<class TypeTag>
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#define EWOMS_TUTORIAL1_PROBLEM_HH /*@\label{tutorial1:guardian2}@*/
|
||||
|
||||
// The numerical model
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/immiscible/immisciblemodel.hh>
|
||||
|
||||
// The spatial discretization (VCFV == Vertex-Centered Finite Volumes)
|
||||
@@ -70,6 +71,10 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::Tutorial1Problem>
|
||||
{ using type = TTag::VcfvDiscretization; }; /*@\label{tutorial1:set-spatial-discretization}@*/
|
||||
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::Tutorial1Problem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
// Set the "Problem" property
|
||||
template<class TypeTag>
|
||||
struct Problem<TypeTag, TTag::Tutorial1Problem>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/models/common/darcyfluxmodule.hh>
|
||||
#include <opm/models/discretization/vcfv/vcfvdiscretization.hh>
|
||||
#include <opm/models/io/dgfvanguard.hh>
|
||||
#include <opm/models/pvs/pvsmodel.hh>
|
||||
@@ -51,6 +52,11 @@ template<class TypeTag>
|
||||
struct SpatialDiscretizationSplice<TypeTag, TTag::WaterAirProblem>
|
||||
{ using type = TTag::VcfvDiscretization; };
|
||||
|
||||
//! Use the Darcy relation to determine the phase velocity
|
||||
template<class TypeTag>
|
||||
struct FluxModule<TypeTag, TTag::WaterAirProblem>
|
||||
{ using type = DarcyFluxModule<TypeTag>; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
Reference in new issue
Block a user