Use new linear solver interface in fully implicit solver.

This includes:
 - Using the class FullyImplicitBlackoilResidual instead of
   in-class definition for the residual object.
 - Changing residual field name mass_balance to material_balance_eq.
 - Letting the simulator and solver classes accept a
   FullyImplicitSystemSolverInterface instead of a LinearSolverInterface.
 - In sim_fibo_ad and test_implicit_ad, instantiate class
   FullyImplicitSystemSolverSimple, replicating existing behaviour.
This commit is contained in:
Atgeirr Flø Rasmussen
2014-02-10 10:47:21 +01:00
parent 8850868f50
commit a14cff7834
6 changed files with 30 additions and 93 deletions

View File

@@ -41,6 +41,7 @@
#include <opm/core/props/rock/RockCompressibility.hpp>
#include <opm/core/linalg/LinearSolverFactory.hpp>
#include <opm/autodiff/FullyImplicitSystemSolverSimple.hpp>
#include <opm/core/simulator/BlackoilState.hpp>
#include <opm/core/simulator/WellState.hpp>
@@ -137,6 +138,7 @@ try
// Linear solver.
LinearSolverFactory linsolver(param);
FullyImplicitSystemSolverSimple fis_solver(linsolver);
// Write parameters used for later reference.
bool output = param.getDefault("output", true);
@@ -211,7 +213,7 @@ try
*new_props,
rock_comp->isActive() ? rock_comp.get() : 0,
wells,
linsolver,
fis_solver,
grav,
outputWriter);
if (epoch == 0) {