diff --git a/examples/polymer_reorder.cpp b/examples/polymer_reorder.cpp index b270834d0..508c42915 100644 --- a/examples/polymer_reorder.cpp +++ b/examples/polymer_reorder.cpp @@ -446,7 +446,11 @@ main(int argc, char** argv) if (use_segregation_split) { use_column_solver = param.getDefault("use_column_solver", use_column_solver); if (use_column_solver) { + // use_gauss_seidel_gravity is not implemented for polymer. use_gauss_seidel_gravity = param.getDefault("use_gauss_seidel_gravity", use_gauss_seidel_gravity); + if (use_gauss_seidel_gravity) { + THROW("gauss_seidel_gravity is not implemented for polymer"); + } } } } diff --git a/opm/polymer/GravityColumnSolverPolymer.hpp b/opm/polymer/GravityColumnSolverPolymer.hpp index 32f16762b..e9f6f86f8 100644 --- a/opm/polymer/GravityColumnSolverPolymer.hpp +++ b/opm/polymer/GravityColumnSolverPolymer.hpp @@ -45,7 +45,7 @@ namespace Opm /// problem. For each column, its cells must be in a single /// vertical column, and ordered /// (direction doesn't matter). - void solve(const std::pair, std::vector > >& columns, + void solve(const std::vector >& columns, const double dt, std::vector& s, std::vector& c, diff --git a/opm/polymer/GravityColumnSolverPolymer_impl.hpp b/opm/polymer/GravityColumnSolverPolymer_impl.hpp index a7ecc3dc7..30cb3f4c9 100644 --- a/opm/polymer/GravityColumnSolverPolymer_impl.hpp +++ b/opm/polymer/GravityColumnSolverPolymer_impl.hpp @@ -111,13 +111,13 @@ namespace Opm - /// \param[in] columns for each column (with logical cartesian indices as key), + /// \param[in] columns for each column col, columns[col] /// contains the cells on which to solve the segregation /// problem. For each column, its cells must be in a single - /// vertical column, and ordered + /// vertical column, connected and ordered /// (direction doesn't matter). template - void GravityColumnSolverPolymer::solve(const std::pair, std::vector > >& columns, + void GravityColumnSolverPolymer::solve(const std::vector >& columns, const double dt, std::vector& s, std::vector& c, @@ -134,9 +134,9 @@ namespace Opm double max_delta = 1e100; while (iter < maxit_) { model_.initIteration(state, grid_, sys); - int size = columns.second.size(); + int size = columns.size(); for(int i = 0; i < size; ++i) { - solveSingleColumn(columns.second[i], dt, s, c, cmax, increment); + solveSingleColumn(columns[i], dt, s, c, cmax, increment); } for (int cell = 0; cell < grid_.number_of_cells; ++cell) { sys.vector().writableSolution()[2*cell + 0] += increment[2*cell + 0];