mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Use macro for instantiations, and clean up includes.
This commit is contained in:
@@ -20,37 +20,5 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <opm/simulators/linalg/FlexibleSolver_impl.hpp>
|
||||
#include <opm/simulators/linalg/matrixblock.hh>
|
||||
|
||||
#include <dune/common/fmatrix.hh>
|
||||
#include <dune/istl/bcrsmatrix.hh>
|
||||
#include <dune/istl/solvers.hh>
|
||||
#include <dune/istl/umfpack.hh>
|
||||
#include <dune/istl/owneroverlapcopy.hh>
|
||||
#include <dune/istl/paamg/pinfo.hh>
|
||||
|
||||
// Explicit instantiations of FlexibleSolver
|
||||
|
||||
template <int N>
|
||||
using BV = Dune::BlockVector<Dune::FieldVector<double, N>>;
|
||||
template <int N>
|
||||
using BM = Dune::BCRSMatrix<Dune::FieldMatrix<double, N, N>>;
|
||||
template <int N>
|
||||
using OBM = Dune::BCRSMatrix<Opm::MatrixBlock<double, N, N>>;
|
||||
|
||||
// Variants using Dune::FieldMatrix blocks.
|
||||
template class Dune::FlexibleSolver<BM<2>, BV<2>>;
|
||||
|
||||
// Variants using Opm::MatrixBlock blocks.
|
||||
template class Dune::FlexibleSolver<OBM<2>, BV<2>>;
|
||||
|
||||
#if HAVE_MPI
|
||||
|
||||
using Comm = Dune::OwnerOverlapCopyCommunication<int, int>;
|
||||
|
||||
template Dune::FlexibleSolver<OBM<2>, BV<2>>::FlexibleSolver(const MatrixType& matrix,
|
||||
const Comm& comm,
|
||||
const boost::property_tree::ptree& prm,
|
||||
const std::function<BV<2>()>& weightsCalculator);
|
||||
|
||||
#endif // HAVE_MPI
|
||||
INSTANTIATE_FLEXIBLESOLVER(2);
|
||||
|
||||
Reference in New Issue
Block a user