Implement solveMultiCell() properly.

Interface change: solver now requires a linear solver (for the multi-cell blocks only).

Implementation uses new private method assembleSingleCell(), that is a modified copy
of solveSingleCell(). Should refactor.
This commit is contained in:
Atgeirr Flø Rasmussen
2013-04-17 12:58:15 +02:00
parent f8db9cad66
commit 25a2c3d00b
3 changed files with 120 additions and 3 deletions

View File

@@ -120,6 +120,9 @@ main(int argc, char** argv)
}
}
// Linear solver.
LinearSolverFactory linsolver(param);
// Choice of tof solver.
bool use_dg = param.getDefault("use_dg", false);
bool use_multidim_upwind = false;
@@ -163,7 +166,7 @@ main(int argc, char** argv)
if (use_dg) {
dg_solver->solveTof(&flux[0], &porevol[0], &src[0], tof);
} else {
Opm::TofReorder tofsolver(grid, use_multidim_upwind);
Opm::TofReorder tofsolver(grid, linsolver, use_multidim_upwind);
if (compute_tracer) {
tofsolver.solveTofTracer(&flux[0], &porevol[0], &src[0], tof, tracer);
} else {