Adapted to change in gravitation solver interface.

This commit is contained in:
Xavier Raynaud 2012-03-27 13:05:53 +02:00
parent 873b25c9e4
commit 252fada2b4
3 changed files with 6 additions and 7 deletions

View File

@ -664,7 +664,7 @@ main(int argc, char** argv)
model.initGravityTrans(*grid->c_grid(), psolver.getHalfTrans());
}
TransportSolver tsolver(model);
typedef std::map<int, std::vector<int> > ColMap;
typedef std::pair<std::vector<int>, std::vector<std::vector<int> > > ColMap;
ColMap columns;
if (use_column_solver) {
Opm::extractColumn(*grid->c_grid(), columns);
@ -672,7 +672,6 @@ main(int argc, char** argv)
Opm::GravityColumnSolverPolymer<NewtonPolymerTransportModel> colsolver(model, *grid->c_grid(), nltol, maxit);
// Boundary conditions.
Opm::FlowBCManager bcs;

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

View File

@ -117,7 +117,7 @@ namespace Opm
/// vertical column, and ordered
/// (direction doesn't matter).
template <class Model>
void GravityColumnSolverPolymer<Model>::solve(const std::map<int, std::vector<int> >& columns,
void GravityColumnSolverPolymer<Model>::solve(const std::pair<std::vector<int>, 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);
std::map<int, std::vector<int> >::const_iterator it;
for (it = columns.begin(); it != columns.end(); ++it) {
solveSingleColumn(it->second, dt, s, c, cmax, increment);
int size = columns.second.size();
for(int i = 0; i < size; ++i) {
solveSingleColumn(columns.second[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];