Make right hand passed to the linear solver consistent.

Previously, we had to use two layers of overlap cells such the
innermost layer contains the rightvalues automatically (as it is
surrounded by internal edges). No we use communication to get
the correct values in the whole overlap region and one layer
suffices as it should.
This commit is contained in:
Markus Blatt 2015-02-12 20:54:31 +01:00
parent 01ea7bacba
commit 60cdc583ae
2 changed files with 2 additions and 1 deletions

View File

@ -219,7 +219,7 @@ try
{
OPM_THROW(std::logic_error, "We only support vtk output during parallel runs");
}
grid->loadBalance(2);
grid->loadBalance();
Dune::CpGrid global_grid = *grid;
distributed_grid = *grid;
global_grid.switchToGlobalView();

View File

@ -91,6 +91,7 @@ namespace Opm
// Construct preconditioner.
// typedef Dune::SeqILU0<Mat,Vector,Vector> Preconditioner;
typedef Opm::CPRPreconditioner<Mat,Vector,Vector,P> Preconditioner;
parallelInformation.copyOwnerToAll(istlb, istlb);
Preconditioner precond(opA.getmat(), istlAe, cpr_relax_, cpr_ilu_n_, cpr_use_amg_, cpr_use_bicgstab_, parallelInformation);
// Construct linear solver.