From 3f6862bbd7f7198f914cbfb197f3ec51a1f4fd85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halvor=20M=C3=B8ll=20Nilsen?= Date: Thu, 4 Oct 2012 13:13:40 +0200 Subject: [PATCH 1/2] Removed the forcing of gravity to be zero. Added option use_gravity. The gravity is set to the standard value --- dune/upscaling/SteadyStateUpscaler.hpp | 1 + dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp | 9 +++++++-- dune/upscaling/SteadyStateUpscaler_impl.hpp | 10 +++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) 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. From 59197c6f582fb3af090e987f2a5dad948617d18a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Fri, 7 Dec 2012 16:26:49 +0100 Subject: [PATCH 2/2] Fixed missing member, parameter name and changed gravity sign. Assumes now that gravity should be positive in the z direction. --- dune/upscaling/SteadyStateUpscalerImplicit.hpp | 1 + dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp | 6 +++--- dune/upscaling/SteadyStateUpscaler_impl.hpp | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dune/upscaling/SteadyStateUpscalerImplicit.hpp b/dune/upscaling/SteadyStateUpscalerImplicit.hpp index 18ededa..cce128b 100644 --- a/dune/upscaling/SteadyStateUpscalerImplicit.hpp +++ b/dune/upscaling/SteadyStateUpscalerImplicit.hpp @@ -114,6 +114,7 @@ namespace Dune // ------- Data members ------- std::vector last_saturation_state_; + bool use_gravity_; bool output_vtk_; bool output_ecl_; bool print_inoutflows_; diff --git a/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp b/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp index 4c70f12..10e01d8 100644 --- a/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp +++ b/dune/upscaling/SteadyStateUpscalerImplicit_impl.hpp @@ -77,7 +77,7 @@ namespace Dune inline void SteadyStateUpscalerImplicit::initImpl(const Opm::parameter::ParameterGroup& param) { Super::initImpl(param); - use_gravity_ = param.getDefault("output_vtk", use_gravity_); + use_gravity_ = param.getDefault("use_gravity", use_gravity_); output_vtk_ = param.getDefault("output_vtk", output_vtk_); output_ecl_ = param.getDefault("output_ecl", output_ecl_); if (output_ecl_) { @@ -157,8 +157,8 @@ namespace Dune Opm::SparseVector injection(num_cells); // Gravity. FieldVector gravity(0.0); - if(use_gravity_){ - gravity[2] = -Opm::unit::gravity; + if (use_gravity_) { + gravity[2] = Opm::unit::gravity; } if (gravity.two_norm() > 0.0) { diff --git a/dune/upscaling/SteadyStateUpscaler_impl.hpp b/dune/upscaling/SteadyStateUpscaler_impl.hpp index ee346d4..1dc9b4e 100644 --- a/dune/upscaling/SteadyStateUpscaler_impl.hpp +++ b/dune/upscaling/SteadyStateUpscaler_impl.hpp @@ -143,8 +143,8 @@ namespace Dune Opm::SparseVector injection(num_cells); // Gravity. FieldVector gravity(0.0); - if(use_gravity_){ - gravity[2] = -Opm::unit::gravity; + if (use_gravity_) { + gravity[2] = Opm::unit::gravity; } if (gravity.two_norm() > 0.0) { MESSAGE("Warning: Gravity is experimental for flow solver.");