Further templatized sequential model and simulator classes.

Now the actual pressure and transport model classes are not specified,
but taken as template template parameters, also grid and well model
are templates for both the sequential model and the simulator class,
although at this point only StandardWells is expected to work with
the sequential model.
This commit is contained in:
Atgeirr Flø Rasmussen
2016-07-03 08:00:59 +02:00
parent 6e66d885fb
commit 1a3c1d3058
3 changed files with 24 additions and 14 deletions

View File

@@ -23,8 +23,6 @@
#include <opm/autodiff/BlackoilModelBase.hpp>
#include <opm/autodiff/BlackoilPressureModel.hpp>
#include <opm/autodiff/BlackoilTransportModel.hpp>
#include <opm/core/simulator/BlackoilState.hpp>
#include <opm/autodiff/WellStateFullyImplicitBlackoil.hpp>
#include <opm/autodiff/BlackoilModelParameters.hpp>
@@ -44,7 +42,9 @@ namespace Opm {
/// A sequential splitting model implementation for three-phase black oil.
template<class Grid, class WellModel>
template<class Grid, class WellModel,
template <class G, class W> class PressureModelT,
template <class G, class W> class TransportModelT>
class BlackoilSequentialModel
{
public:
@@ -297,6 +297,8 @@ namespace Opm {
{ return failureReport_; }
protected:
typedef PressureModelT<Grid, WellModel> PressureModel;
typedef TransportModelT<Grid, WellModel> TransportModel;
typedef NonlinearSolver<PressureModel> PressureSolver;
typedef NonlinearSolver<TransportModel> TransportSolver;