diff --git a/dune/upscaling/SteadyStateUpscaler.hpp b/dune/upscaling/SteadyStateUpscaler.hpp index 93d7c0c..d2342bb 100644 --- a/dune/upscaling/SteadyStateUpscaler.hpp +++ b/dune/upscaling/SteadyStateUpscaler.hpp @@ -106,6 +106,7 @@ namespace Dune // ------- Data members ------- std::vector last_saturation_state_; + bool use_gravity_; bool output_vtk_; bool print_inoutflows_; int simulation_steps_; diff --git a/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp b/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp index 427141c..955cf40 100644 --- a/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp +++ b/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp @@ -53,6 +53,7 @@ namespace Dune template inline SteadyStateUpscalerImplicit::SteadyStateUpscalerImplicit() : Super(), + use_gravity_(false), output_vtk_(false), print_inoutflows_(false), simulation_steps_(10), @@ -73,6 +74,7 @@ namespace Dune inline void SteadyStateUpscalerImplicit::initImpl(const Opm::parameter::ParameterGroup& param) { Super::initImpl(param); + use_gravity_ = param.getDefault("output_vtk", use_gravity_); output_vtk_ = param.getDefault("output_vtk", output_vtk_); print_inoutflows_ = param.getDefault("print_inoutflows", print_inoutflows_); simulation_steps_ = param.getDefault("simulation_steps", simulation_steps_); @@ -147,9 +149,12 @@ namespace Dune Opm::SparseVector injection(num_cells); // Gravity. FieldVector gravity(0.0); - // gravity[2] = -Opm::unit::gravity; + if(use_gravity_){ + gravity[2] = -Opm::unit::gravity; + } + if (gravity.two_norm() > 0.0) { - MESSAGE("Warning: Gravity not yet handled by flow solver."); + MESSAGE("Warning: Gravity is experimental for flow solver."); } // Set up initial saturation profile. diff --git a/dune/upscaling/SteadyStateUpscaler_impl.hpp b/dune/upscaling/SteadyStateUpscaler_impl.hpp index cd5c3f9..62e0060 100644 --- a/dune/upscaling/SteadyStateUpscaler_impl.hpp +++ b/dune/upscaling/SteadyStateUpscaler_impl.hpp @@ -41,7 +41,7 @@ #include #include #include - +#include #include namespace Dune @@ -52,6 +52,7 @@ namespace Dune template inline SteadyStateUpscaler::SteadyStateUpscaler() : Super(), + use_gravity_(false), output_vtk_(false), print_inoutflows_(false), simulation_steps_(10), @@ -69,6 +70,7 @@ namespace Dune inline void SteadyStateUpscaler::initImpl(const Opm::parameter::ParameterGroup& param) { Super::initImpl(param); + use_gravity_ = param.getDefault("use_gravity", use_gravity_); output_vtk_ = param.getDefault("output_vtk", output_vtk_); print_inoutflows_ = param.getDefault("print_inoutflows", print_inoutflows_); simulation_steps_ = param.getDefault("simulation_steps", simulation_steps_); @@ -141,9 +143,11 @@ namespace Dune Opm::SparseVector injection(num_cells); // Gravity. FieldVector gravity(0.0); - // gravity[2] = -Opm::unit::gravity; + if(use_gravity_){ + gravity[2] = -Opm::unit::gravity; + } if (gravity.two_norm() > 0.0) { - MESSAGE("Warning: Gravity not yet handled by flow solver."); + MESSAGE("Warning: Gravity is experimental for flow solver."); } // Set up initial saturation profile.