This commit is contained in:
Xavier Raynaud 2012-05-14 10:50:26 +02:00
commit 49948e07b9
3 changed files with 10 additions and 6 deletions

View File

@ -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");
}
}
}
}

View File

@ -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<int>, std::vector<std::vector<int> > >& columns,
void solve(const std::vector<std::vector<int> >& columns,
const double dt,
std::vector<double>& s,
std::vector<double>& c,

View File

@ -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 <class Model>
void GravityColumnSolverPolymer<Model>::solve(const std::pair<std::vector<int>, std::vector<std::vector<int> > >& columns,
void GravityColumnSolverPolymer<Model>::solve(const std::vector<std::vector<int> >& columns,
const double dt,
std::vector<double>& s,
std::vector<double>& 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];