diff --git a/examples/co2_ptflash_ecfv.cpp b/examples/co2_ptflash_ecfv.cpp index 1b772d1e29..f8809fcd6c 100644 --- a/examples/co2_ptflash_ecfv.cpp +++ b/examples/co2_ptflash_ecfv.cpp @@ -32,33 +32,35 @@ #include #include +#include #include + #include "problems/co2ptflashproblem.hh" #include #include - namespace Opm::Properties { namespace TTag { - struct CO2PTEcfvProblem { - using InheritsFrom = std::tuple; -}; + +struct CO2PTEcfvProblem +{ using InheritsFrom = std::tuple; }; + } template struct SpatialDiscretizationSplice -{ - using type = TTag::EcfvDiscretization; -}; +{ using type = TTag::EcfvDiscretization; }; template struct LocalLinearizerSplice -{ - using type = TTag::AutoDiffLocalLinearizer; -}; +{ using type = TTag::AutoDiffLocalLinearizer; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; } // namespace Opm::Properties diff --git a/examples/co2injection_flash_ecfv.cpp b/examples/co2injection_flash_ecfv.cpp index 25e90a2928..dd7b1f4416 100644 --- a/examples/co2injection_flash_ecfv.cpp +++ b/examples/co2injection_flash_ecfv.cpp @@ -32,10 +32,12 @@ #include #endif +#include +#include +#include #include #include -#include -#include + #include "problems/co2injectionflash.hh" #include "problems/co2injectionproblem.hh" @@ -64,6 +66,12 @@ struct FlashSolver { using type = Opm::Co2InjectionFlash, GetPropType>; }; + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + // 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 diff --git a/examples/co2injection_flash_ni_ecfv.cpp b/examples/co2injection_flash_ni_ecfv.cpp index 5e6f809f83..54d17f561d 100644 --- a/examples/co2injection_flash_ni_ecfv.cpp +++ b/examples/co2injection_flash_ni_ecfv.cpp @@ -31,10 +31,12 @@ // this must be included before the vanguard #include +#include +#include +#include #include #include -#include -#include + #include "problems/co2injectionflash.hh" #include "problems/co2injectionproblem.hh" @@ -63,8 +65,13 @@ struct LocalLinearizerSplice // use the CO2 injection problem adapted flash solver template struct FlashSolver -{ using type = Opm::Co2InjectionFlash, - GetPropType>; }; +{ using type = Co2InjectionFlash, + GetPropType>; }; + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; // the flash model has serious problems with the numerical // precision. if quadruple precision math is available, we use it, diff --git a/examples/co2injection_flash_ni_vcfv.cpp b/examples/co2injection_flash_ni_vcfv.cpp index a8a8b83e37..e65116843a 100644 --- a/examples/co2injection_flash_ni_vcfv.cpp +++ b/examples/co2injection_flash_ni_vcfv.cpp @@ -31,10 +31,12 @@ // this must be included before the vanguard #include +#include +#include +#include #include #include -#include -#include + #include "problems/co2injectionflash.hh" #include "problems/co2injectionproblem.hh" @@ -59,8 +61,14 @@ struct EnableEnergy // use the CO2 injection problem adapted flash solver template struct FlashSolver -{ using type = Opm::Co2InjectionFlash, - GetPropType>; }; +{ using type = Co2InjectionFlash, + GetPropType>; }; + + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; // the flash model has serious problems with the numerical // precision. if quadruple precision math is available, we use it, diff --git a/examples/co2injection_flash_vcfv.cpp b/examples/co2injection_flash_vcfv.cpp index 117c21b892..1d98f42e35 100644 --- a/examples/co2injection_flash_vcfv.cpp +++ b/examples/co2injection_flash_vcfv.cpp @@ -32,10 +32,12 @@ #include #endif +#include +#include +#include #include #include -#include -#include + #include "problems/co2injectionflash.hh" #include "problems/co2injectionproblem.hh" @@ -55,8 +57,13 @@ struct SpatialDiscretizationSplice // use the flash solver adapted to the CO2 injection problem template struct FlashSolver -{ using type = Opm::Co2InjectionFlash, - GetPropType>; }; +{ using type = Co2InjectionFlash, + GetPropType>; }; + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; // the flash model has serious problems with the numerical // precision. if quadruple precision math is available, we use it, diff --git a/examples/co2injection_immiscible_ecfv.cpp b/examples/co2injection_immiscible_ecfv.cpp index ae6fdbb64a..de0a8f5b75 100644 --- a/examples/co2injection_immiscible_ecfv.cpp +++ b/examples/co2injection_immiscible_ecfv.cpp @@ -28,10 +28,11 @@ */ #include "config.h" +#include +#include +#include #include #include -#include -#include #include "problems/co2injectionproblem.hh" @@ -48,6 +49,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::EcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties //////////////////////// diff --git a/examples/co2injection_immiscible_ni_ecfv.cpp b/examples/co2injection_immiscible_ni_ecfv.cpp index 21469c1f36..95e877b92d 100644 --- a/examples/co2injection_immiscible_ni_ecfv.cpp +++ b/examples/co2injection_immiscible_ni_ecfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" +#include +#include +#include #include #include -#include -#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -56,6 +58,11 @@ template struct LocalLinearizerSplice { using type = TTag::AutoDiffLocalLinearizer; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties //////////////////////// diff --git a/examples/co2injection_immiscible_ni_vcfv.cpp b/examples/co2injection_immiscible_ni_vcfv.cpp index 8ffe8ee2c6..567f9897d5 100644 --- a/examples/co2injection_immiscible_ni_vcfv.cpp +++ b/examples/co2injection_immiscible_ni_vcfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" +#include +#include +#include #include #include -#include -#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -51,6 +53,11 @@ template struct EnableEnergy { static constexpr bool value = true; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties //////////////////////// diff --git a/examples/co2injection_immiscible_vcfv.cpp b/examples/co2injection_immiscible_vcfv.cpp index 26d929f66d..43a473dbf1 100644 --- a/examples/co2injection_immiscible_vcfv.cpp +++ b/examples/co2injection_immiscible_vcfv.cpp @@ -28,10 +28,11 @@ */ #include "config.h" +#include +#include +#include #include #include -#include -#include #include "problems/co2injectionproblem.hh" @@ -48,6 +49,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties //////////////////////// diff --git a/examples/co2injection_ncp_ecfv.cpp b/examples/co2injection_ncp_ecfv.cpp index 400fe73156..966dfed19c 100644 --- a/examples/co2injection_ncp_ecfv.cpp +++ b/examples/co2injection_ncp_ecfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -48,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::EcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_ncp_ni_ecfv.cpp b/examples/co2injection_ncp_ni_ecfv.cpp index d4e89fed61..7d30ab952b 100644 --- a/examples/co2injection_ncp_ni_ecfv.cpp +++ b/examples/co2injection_ncp_ni_ecfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -57,6 +59,11 @@ template struct LocalLinearizerSplice { using type = TTag::AutoDiffLocalLinearizer; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_ncp_ni_vcfv.cpp b/examples/co2injection_ncp_ni_vcfv.cpp index cc4a20929f..7396741d93 100644 --- a/examples/co2injection_ncp_ni_vcfv.cpp +++ b/examples/co2injection_ncp_ni_vcfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -51,6 +53,11 @@ template struct EnableEnergy { static constexpr bool value = true; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_ncp_vcfv.cpp b/examples/co2injection_ncp_vcfv.cpp index 11a4efc2d3..1a964e8dea 100644 --- a/examples/co2injection_ncp_vcfv.cpp +++ b/examples/co2injection_ncp_vcfv.cpp @@ -28,10 +28,11 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include #include "problems/co2injectionproblem.hh" @@ -49,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_pvs_ecfv.cpp b/examples/co2injection_pvs_ecfv.cpp index 7efef6559e..e24b546c90 100644 --- a/examples/co2injection_pvs_ecfv.cpp +++ b/examples/co2injection_pvs_ecfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -48,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::EcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_pvs_ni_ecfv.cpp b/examples/co2injection_pvs_ni_ecfv.cpp index 4015dd56fb..e12a9a460b 100644 --- a/examples/co2injection_pvs_ni_ecfv.cpp +++ b/examples/co2injection_pvs_ni_ecfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -56,6 +58,11 @@ template struct LocalLinearizerSplice { using type = TTag::AutoDiffLocalLinearizer; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_pvs_ni_vcfv.cpp b/examples/co2injection_pvs_ni_vcfv.cpp index a42ff62a03..31567e4501 100644 --- a/examples/co2injection_pvs_ni_vcfv.cpp +++ b/examples/co2injection_pvs_ni_vcfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include "problems/co2injectionproblem.hh" namespace Opm::Properties { @@ -52,6 +54,11 @@ template struct EnableEnergy { static constexpr bool value = true; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/co2injection_pvs_vcfv.cpp b/examples/co2injection_pvs_vcfv.cpp index fd830ead5b..53576f99bd 100644 --- a/examples/co2injection_pvs_vcfv.cpp +++ b/examples/co2injection_pvs_vcfv.cpp @@ -28,10 +28,11 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include #include "problems/co2injectionproblem.hh" @@ -49,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/cuvette_pvs.cpp b/examples/cuvette_pvs.cpp index c3d217dd80..96017e19c8 100644 --- a/examples/cuvette_pvs.cpp +++ b/examples/cuvette_pvs.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -50,6 +51,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/diffusion_flash.cpp b/examples/diffusion_flash.cpp index 5ccc664842..c03f8d37a4 100644 --- a/examples/diffusion_flash.cpp +++ b/examples/diffusion_flash.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -50,6 +51,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/diffusion_ncp.cpp b/examples/diffusion_ncp.cpp index 2542e895df..b0d9bb673b 100644 --- a/examples/diffusion_ncp.cpp +++ b/examples/diffusion_ncp.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -50,6 +51,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/diffusion_pvs.cpp b/examples/diffusion_pvs.cpp index 8e7e3f01d2..cde8848f6e 100644 --- a/examples/diffusion_pvs.cpp +++ b/examples/diffusion_pvs.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -50,6 +51,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/finger_immiscible_ecfv.cpp b/examples/finger_immiscible_ecfv.cpp index a385803325..0f5c735939 100644 --- a/examples/finger_immiscible_ecfv.cpp +++ b/examples/finger_immiscible_ecfv.cpp @@ -27,9 +27,11 @@ */ #include "config.h" -#include -#include +#include #include +#include +#include + #include #include "problems/fingerproblem.hh" @@ -38,10 +40,20 @@ namespace Opm::Properties { // Create new type tags namespace TTag { -struct FingerProblemEcfv { using InheritsFrom = std::tuple; }; + +struct FingerProblemEcfv +{ using InheritsFrom = std::tuple; }; + } // end namespace TTag + template -struct SpatialDiscretizationSplice { using type = TTag::EcfvDiscretization; }; +struct SpatialDiscretizationSplice +{ using type = TTag::EcfvDiscretization; }; + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; } // namespace Opm::Properties diff --git a/examples/finger_immiscible_vcfv.cpp b/examples/finger_immiscible_vcfv.cpp index d5e4b4c591..98bf1e9c1b 100644 --- a/examples/finger_immiscible_vcfv.cpp +++ b/examples/finger_immiscible_vcfv.cpp @@ -27,9 +27,11 @@ */ #include "config.h" -#include -#include +#include #include +#include +#include + #include #include "problems/fingerproblem.hh" @@ -38,10 +40,20 @@ namespace Opm::Properties { // Create new type tags namespace TTag { -struct FingerProblemVcfv { using InheritsFrom = std::tuple; }; + +struct FingerProblemVcfv +{ using InheritsFrom = std::tuple; }; + } // end namespace TTag + template -struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +struct SpatialDiscretizationSplice +{ using type = TTag::VcfvDiscretization; }; + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; } // namespace Opm::Properties diff --git a/examples/groundwater_immiscible.cpp b/examples/groundwater_immiscible.cpp index e452e6ed6c..f599ac6192 100644 --- a/examples/groundwater_immiscible.cpp +++ b/examples/groundwater_immiscible.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -49,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/infiltration_pvs.cpp b/examples/infiltration_pvs.cpp index 46540a21e6..233945c943 100644 --- a/examples/infiltration_pvs.cpp +++ b/examples/infiltration_pvs.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -49,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/lens_immiscible_ecfv_ad.hh b/examples/lens_immiscible_ecfv_ad.hh index 609fcb4e7d..a0f7ad44b4 100644 --- a/examples/lens_immiscible_ecfv_ad.hh +++ b/examples/lens_immiscible_ecfv_ad.hh @@ -29,28 +29,41 @@ #ifndef EWOMS_LENS_IMMISCIBLE_ECFV_AD_HH #define EWOMS_LENS_IMMISCIBLE_ECFV_AD_HH -#include +#include #include +#include + #include "problems/lensproblem.hh" namespace Opm::Properties { // Create new type tags namespace TTag { -struct LensProblemEcfvAd { using InheritsFrom = std::tuple; }; + +struct LensProblemEcfvAd +{ using InheritsFrom = std::tuple; }; + } // end namespace TTag // use the element centered finite volume spatial discretization template -struct SpatialDiscretizationSplice { using type = TTag::EcfvDiscretization; }; +struct SpatialDiscretizationSplice +{ using type = TTag::EcfvDiscretization; }; // use automatic differentiation for this simulator template -struct LocalLinearizerSplice { using type = TTag::AutoDiffLocalLinearizer; }; +struct LocalLinearizerSplice +{ using type = TTag::AutoDiffLocalLinearizer; }; // this problem works fine if the linear solver uses single precision scalars template -struct LinearSolverScalar { using type = float; }; +struct LinearSolverScalar +{ using type = float; }; + +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; } // namespace Opm::Properties diff --git a/examples/lens_immiscible_vcfv_ad.cpp b/examples/lens_immiscible_vcfv_ad.cpp index 532cc168a1..e81b3826b6 100644 --- a/examples/lens_immiscible_vcfv_ad.cpp +++ b/examples/lens_immiscible_vcfv_ad.cpp @@ -28,6 +28,7 @@ */ #include "config.h" +#include #include #include #include @@ -56,6 +57,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + // use linear finite element gradients if dune-localfunctions is available #if HAVE_DUNE_LOCALFUNCTIONS template diff --git a/examples/lens_immiscible_vcfv_fd.cpp b/examples/lens_immiscible_vcfv_fd.cpp index ecf937d834..f23f30c42e 100644 --- a/examples/lens_immiscible_vcfv_fd.cpp +++ b/examples/lens_immiscible_vcfv_fd.cpp @@ -28,6 +28,7 @@ */ #include "config.h" +#include #include #include #include @@ -56,6 +57,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + // use linear finite element gradients if dune-localfunctions is available #if HAVE_DUNE_LOCALFUNCTIONS template diff --git a/examples/lens_richards_ecfv.cpp b/examples/lens_richards_ecfv.cpp index fa12ada84d..c1c9397f75 100644 --- a/examples/lens_richards_ecfv.cpp +++ b/examples/lens_richards_ecfv.cpp @@ -27,9 +27,11 @@ */ #include "config.h" +#include +#include #include #include -#include + #include #include "problems/richardslensproblem.hh" @@ -52,6 +54,11 @@ template struct LocalLinearizerSplice { using type = TTag::AutoDiffLocalLinearizer; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/lens_richards_vcfv.cpp b/examples/lens_richards_vcfv.cpp index 40acde088d..df65bba820 100644 --- a/examples/lens_richards_vcfv.cpp +++ b/examples/lens_richards_vcfv.cpp @@ -27,9 +27,11 @@ */ #include "config.h" +#include +#include #include #include -#include + #include #include "problems/richardslensproblem.hh" @@ -48,6 +50,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/obstacle_immiscible.cpp b/examples/obstacle_immiscible.cpp index cbde817d41..127a99a03e 100644 --- a/examples/obstacle_immiscible.cpp +++ b/examples/obstacle_immiscible.cpp @@ -28,6 +28,7 @@ */ #include "config.h" +#include #include #include #include @@ -51,6 +52,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/obstacle_ncp.cpp b/examples/obstacle_ncp.cpp index 9939ab90b2..1392c20991 100644 --- a/examples/obstacle_ncp.cpp +++ b/examples/obstacle_ncp.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -51,6 +52,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/obstacle_pvs.cpp b/examples/obstacle_pvs.cpp index 8a9b8a54fe..2c30da8469 100644 --- a/examples/obstacle_pvs.cpp +++ b/examples/obstacle_pvs.cpp @@ -29,6 +29,7 @@ */ #include "config.h" +#include #include #include #include @@ -53,6 +54,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/outflow_pvs.cpp b/examples/outflow_pvs.cpp index 41e44dc4b1..0d951c1d6c 100644 --- a/examples/outflow_pvs.cpp +++ b/examples/outflow_pvs.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -51,6 +52,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/powerinjection_darcy_ad.cpp b/examples/powerinjection_darcy_ad.cpp index 53fd191cba..8f553ce7cf 100644 --- a/examples/powerinjection_darcy_ad.cpp +++ b/examples/powerinjection_darcy_ad.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -46,7 +47,7 @@ struct PowerInjectionDarcyAdProblem template struct FluxModule -{ using type = Opm::DarcyFluxModule; }; +{ using type = DarcyFluxModule; }; template struct LocalLinearizerSplice diff --git a/examples/powerinjection_forchheimer_ad.cpp b/examples/powerinjection_forchheimer_ad.cpp index 69d9545bd6..05c096ff95 100644 --- a/examples/powerinjection_forchheimer_ad.cpp +++ b/examples/powerinjection_forchheimer_ad.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -46,7 +47,7 @@ struct PowerInjectionForchheimerAdProblem template struct FluxModule -{ using type = Opm::ForchheimerFluxModule; }; +{ using type = ForchheimerFluxModule; }; template struct LocalLinearizerSplice diff --git a/examples/powerinjection_forchheimer_fd.cpp b/examples/powerinjection_forchheimer_fd.cpp index ddf01b571f..c49d24d9a1 100644 --- a/examples/powerinjection_forchheimer_fd.cpp +++ b/examples/powerinjection_forchheimer_fd.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -46,7 +47,7 @@ struct PowerInjectionForchheimerFdProblem template struct FluxModule -{ using type = Opm::ForchheimerFluxModule; }; +{ using type = ForchheimerFluxModule; }; template struct LocalLinearizerSplice diff --git a/examples/problems/fractureproblem.hh b/examples/problems/fractureproblem.hh index 84de99bac1..1a24254c11 100644 --- a/examples/problems/fractureproblem.hh +++ b/examples/problems/fractureproblem.hh @@ -48,6 +48,7 @@ #include #include +#include #include #include #include @@ -169,6 +170,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties namespace Opm { diff --git a/examples/problems/powerinjectionproblem.hh b/examples/problems/powerinjectionproblem.hh index 4d63445908..e51e56866e 100644 --- a/examples/problems/powerinjectionproblem.hh +++ b/examples/problems/powerinjectionproblem.hh @@ -37,6 +37,7 @@ #include #include +#include #include #include #include diff --git a/examples/reservoir_ncp_ecfv.cpp b/examples/reservoir_ncp_ecfv.cpp index 1feec1c2dc..e7884879ca 100644 --- a/examples/reservoir_ncp_ecfv.cpp +++ b/examples/reservoir_ncp_ecfv.cpp @@ -27,10 +27,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include #include "problems/reservoirproblem.hh" @@ -55,6 +57,10 @@ template struct LocalLinearizerSplice { using type = TTag::AutoDiffLocalLinearizer; }; +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/examples/reservoir_ncp_vcfv.cpp b/examples/reservoir_ncp_vcfv.cpp index 95515a983c..711a31a0b5 100644 --- a/examples/reservoir_ncp_vcfv.cpp +++ b/examples/reservoir_ncp_vcfv.cpp @@ -28,10 +28,12 @@ */ #include "config.h" -#include -#include -#include +#include #include +#include +#include +#include + #include #include "problems/reservoirproblem.hh" @@ -51,6 +53,10 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +template +struct FluxModule +{ using type = DarcyFluxModule; }; + // 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 diff --git a/examples/tutorial1problem.hh b/examples/tutorial1problem.hh index d55eee127c..2e66da8bc8 100644 --- a/examples/tutorial1problem.hh +++ b/examples/tutorial1problem.hh @@ -29,6 +29,7 @@ #define EWOMS_TUTORIAL1_PROBLEM_HH /*@\label{tutorial1:guardian2}@*/ // The numerical model +#include #include // The spatial discretization (VCFV == Vertex-Centered Finite Volumes) @@ -70,6 +71,10 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; /*@\label{tutorial1:set-spatial-discretization}@*/ +template +struct FluxModule +{ using type = DarcyFluxModule; }; + // Set the "Problem" property template struct Problem diff --git a/examples/waterair_pvs_ni.cpp b/examples/waterair_pvs_ni.cpp index 682a2fd167..013d7e8c7a 100644 --- a/examples/waterair_pvs_ni.cpp +++ b/examples/waterair_pvs_ni.cpp @@ -27,6 +27,7 @@ */ #include "config.h" +#include #include #include #include @@ -51,6 +52,11 @@ template struct SpatialDiscretizationSplice { using type = TTag::VcfvDiscretization; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule +{ using type = DarcyFluxModule; }; + } // namespace Opm::Properties int main(int argc, char **argv) diff --git a/flowexperimental/comp/flow_comp.hpp b/flowexperimental/comp/flow_comp.hpp index c11f6ed7ba..708c69629c 100644 --- a/flowexperimental/comp/flow_comp.hpp +++ b/flowexperimental/comp/flow_comp.hpp @@ -19,8 +19,6 @@ #ifndef FLOW_COMP_HPP #define FLOW_COMP_HPP -#include - #include #include @@ -148,6 +146,10 @@ struct TracerModel> { using type = EmptyModel; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule> +{ using type = DarcyFluxModule; }; template struct FlashSolver> { @@ -160,7 +162,6 @@ public: using type = Opm::PTFlash; }; - template struct NumComp { using type = UndefinedProperty; }; diff --git a/flowexperimental/comp/flowexp_comp.hpp b/flowexperimental/comp/flowexp_comp.hpp index 7f5b3bb44f..1142f3f9d3 100644 --- a/flowexperimental/comp/flowexp_comp.hpp +++ b/flowexperimental/comp/flowexp_comp.hpp @@ -131,6 +131,10 @@ struct TracerModel> { using type = EmptyModel; }; +//! Use the Darcy relation to determine the phase velocity +template +struct FluxModule> +{ using type = DarcyFluxModule; }; template struct FlashSolver> { diff --git a/opm/models/common/multiphasebasemodel.hh b/opm/models/common/multiphasebasemodel.hh index 4f767a5015..929e4a69f3 100644 --- a/opm/models/common/multiphasebasemodel.hh +++ b/opm/models/common/multiphasebasemodel.hh @@ -36,7 +36,6 @@ #include #include -#include #include #include #include @@ -102,11 +101,6 @@ template struct BaseProblem { using type = MultiPhaseBaseProblem; }; -//! By default, use the Darcy relation to determine the phase velocity -template -struct FluxModule -{ using type = DarcyFluxModule; }; - /*! * \brief Set the material law to the null law by default. */ diff --git a/opm/simulators/flow/FlowProblemComp.hpp b/opm/simulators/flow/FlowProblemComp.hpp index 7087efe4e1..f5f52ea57c 100644 --- a/opm/simulators/flow/FlowProblemComp.hpp +++ b/opm/simulators/flow/FlowProblemComp.hpp @@ -43,8 +43,6 @@ #include #include -#include -#include #include namespace Opm {