minimum dune version required is now 2.7

This commit is contained in:
Arne Morten Kvarving 2023-02-27 09:39:25 +01:00
parent 5309ba22f7
commit f2983ac6af
29 changed files with 14 additions and 204 deletions

View File

@ -10,4 +10,4 @@ Label: 2023.04-pre
Maintainer: atgeirr@sintef.no Maintainer: atgeirr@sintef.no
MaintainerName: Atgeirr F. Rasmussen MaintainerName: Atgeirr F. Rasmussen
Url: http://opm-project.org Url: http://opm-project.org
Depends: dune-istl (>= 2.6) opm-common opm-grid opm-models Depends: dune-istl (>= 2.7) opm-common opm-grid opm-models

View File

@ -214,11 +214,7 @@ public:
: sendMapper_(sendMapper), recvMapper_(recvMapper), elementIndices_(elementIndices) : sendMapper_(sendMapper), recvMapper_(recvMapper), elementIndices_(elementIndices)
{} {}
using DataType = int; using DataType = int;
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
bool fixedSize(int /*dim*/, int /*codim*/) bool fixedSize(int /*dim*/, int /*codim*/)
#else
bool fixedsize(int /*dim*/, int /*codim*/)
#endif
{ {
return true; return true;
} }
@ -258,11 +254,7 @@ public:
: mapper_(mapper), elementIndices_(elementIndices) : mapper_(mapper), elementIndices_(elementIndices)
{} {}
using DataType = int; using DataType = int;
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
bool fixedSize(int /*dim*/, int /*codim*/) bool fixedSize(int /*dim*/, int /*codim*/)
#else
bool fixedsize(int /*dim*/, int /*codim*/)
#endif
{ {
return true; return true;
} }

View File

@ -274,10 +274,6 @@ template<class Grid,class GridView, class DofMapper, class Stencil, class Scalar
bool EclGenericTracerModel<Grid,GridView,DofMapper,Stencil,Scalar>:: bool EclGenericTracerModel<Grid,GridView,DofMapper,Stencil,Scalar>::
linearSolve_(const TracerMatrix& M, TracerVector& x, TracerVector& b) linearSolve_(const TracerMatrix& M, TracerVector& x, TracerVector& b)
{ {
#if ! DUNE_VERSION_NEWER(DUNE_COMMON, 2,7)
Dune::FMatrixPrecision<Scalar>::set_singular_limit(1.e-30);
Dune::FMatrixPrecision<Scalar>::set_absolute_limit(1.e-30);
#endif
x = 0.0; x = 0.0;
Scalar tolerance = 1e-2; Scalar tolerance = 1e-2;
int maxIter = 100; int maxIter = 100;
@ -333,10 +329,6 @@ template<class Grid,class GridView, class DofMapper, class Stencil, class Scalar
bool EclGenericTracerModel<Grid,GridView,DofMapper,Stencil,Scalar>:: bool EclGenericTracerModel<Grid,GridView,DofMapper,Stencil,Scalar>::
linearSolveBatchwise_(const TracerMatrix& M, std::vector<TracerVector>& x, std::vector<TracerVector>& b) linearSolveBatchwise_(const TracerMatrix& M, std::vector<TracerVector>& x, std::vector<TracerVector>& b)
{ {
#if ! DUNE_VERSION_NEWER(DUNE_COMMON, 2,7)
Dune::FMatrixPrecision<Scalar>::set_singular_limit(1.e-30);
Dune::FMatrixPrecision<Scalar>::set_absolute_limit(1.e-30);
#endif
Scalar tolerance = 1e-2; Scalar tolerance = 1e-2;
int maxIter = 100; int maxIter = 100;

View File

@ -33,11 +33,7 @@
#include <opm/simulators/utils/ParallelCommunication.hpp> #include <opm/simulators/utils/ParallelCommunication.hpp>
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
#include <dune/common/parallel/communication.hh> #include <dune/common/parallel/communication.hh>
#else
#include <dune/common/parallel/collectivecommunication.hh>
#endif
#include <array> #include <array>
#include <cassert> #include <cassert>

View File

@ -53,11 +53,7 @@
#include <opm/simulators/wells/WellConnectionAuxiliaryModule.hpp> #include <opm/simulators/wells/WellConnectionAuxiliaryModule.hpp>
#include <dune/istl/owneroverlapcopy.hh> #include <dune/istl/owneroverlapcopy.hh>
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
#include <dune/common/parallel/communication.hh> #include <dune/common/parallel/communication.hh>
#else
#include <dune/common/parallel/collectivecommunication.hh>
#endif
#include <dune/common/timer.hh> #include <dune/common/timer.hh>
#include <dune/common/unused.hh> #include <dune/common/unused.hh>

View File

@ -9,7 +9,6 @@
#ifndef OPM_MATRIXMARKETSPECIALIZATIONS_HEADER_INCLUDED #ifndef OPM_MATRIXMARKETSPECIALIZATIONS_HEADER_INCLUDED
#define OPM_MATRIXMARKETSPECIALIZATIONS_HEADER_INCLUDED #define OPM_MATRIXMARKETSPECIALIZATIONS_HEADER_INCLUDED
#include <dune/common/version.hh>
#include <dune/istl/matrixmarket.hh> #include <dune/istl/matrixmarket.hh>
namespace Opm namespace Opm
@ -46,10 +45,8 @@ namespace MatrixMarketImpl
}; };
} // namespace MatrixMarketImpl } // namespace MatrixMarketImpl
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
namespace MatrixMarketImpl namespace MatrixMarketImpl
{ {
#endif
template <typename T, int i, int j, typename A> template <typename T, int i, int j, typename A>
struct mm_multipliers<BCRSMatrix<Opm::MatrixBlock<T,i,j>, A>> struct mm_multipliers<BCRSMatrix<Opm::MatrixBlock<T,i,j>, A>>
{ {
@ -58,9 +55,7 @@ namespace MatrixMarketImpl
cols = j cols = j
}; };
}; };
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
} // namespace MatrixMarketImpl } // namespace MatrixMarketImpl
#endif
} // namespace Dune } // namespace Dune

View File

@ -22,7 +22,6 @@
#include <opm/simulators/linalg/MILU.hpp> #include <opm/simulators/linalg/MILU.hpp>
#include <opm/simulators/linalg/PreconditionerWithUpdate.hpp> #include <opm/simulators/linalg/PreconditionerWithUpdate.hpp>
#include <dune/common/version.hh>
#include <dune/istl/paamg/smoother.hh> #include <dune/istl/paamg/smoother.hh>
#include <cstddef> #include <cstddef>
@ -92,11 +91,7 @@ struct ConstructionTraits<Opm::ParallelOverlappingILU0<Matrix,Domain,Range,Paral
using T = Opm::ParallelOverlappingILU0<Matrix,Domain,Range,ParallelInfo>; using T = Opm::ParallelOverlappingILU0<Matrix,Domain,Range,ParallelInfo>;
using Arguments = DefaultParallelConstructionArgs<T,ParallelInfo>; using Arguments = DefaultParallelConstructionArgs<T,ParallelInfo>;
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using ParallelOverlappingILU0Pointer = std::shared_ptr<T>; using ParallelOverlappingILU0Pointer = std::shared_ptr<T>;
#else
using ParallelOverlappingILU0Pointer = T*;
#endif
static inline ParallelOverlappingILU0Pointer construct(Arguments& args) static inline ParallelOverlappingILU0Pointer construct(Arguments& args)
{ {
@ -107,15 +102,6 @@ struct ConstructionTraits<Opm::ParallelOverlappingILU0<Matrix,Domain,Range,Paral
args.getArgs().relaxationFactor, args.getArgs().relaxationFactor,
args.getArgs().getMilu()) ); args.getArgs().getMilu()) );
} }
#if ! DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
// this method is not needed anymore in 2.7 since std::shared_ptr is used
static inline void deconstruct(T* bp)
{
delete bp;
}
#endif
}; };
} // end namespace Amg } // end namespace Amg

View File

@ -20,6 +20,8 @@
#include <opm/simulators/linalg/ParallelOverlappingILU0.hpp> #include <opm/simulators/linalg/ParallelOverlappingILU0.hpp>
#include <dune/common/version.hh>
#include <dune/istl/ilu.hh> #include <dune/istl/ilu.hh>
#include <dune/istl/owneroverlapcopy.hh> #include <dune/istl/owneroverlapcopy.hh>

View File

@ -55,33 +55,19 @@ struct ConstructionTraits<Opm::ParallelRestrictedOverlappingSchwarz<Range,
typedef ConstructionTraits<SeqPreconditioner> SeqConstructionTraits; typedef ConstructionTraits<SeqPreconditioner> SeqConstructionTraits;
/// \brief Construct a parallel restricted overlapping schwarz preconditioner. /// \brief Construct a parallel restricted overlapping schwarz preconditioner.
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
typedef std::shared_ptr< Opm::ParallelRestrictedOverlappingSchwarz<Range, typedef std::shared_ptr< Opm::ParallelRestrictedOverlappingSchwarz<Range,
Domain, Domain,
ParallelInfo, ParallelInfo,
SeqPreconditioner> > ParallelRestrictedOverlappingSchwarzPointer; SeqPreconditioner> > ParallelRestrictedOverlappingSchwarzPointer;
#else
typedef Opm::ParallelRestrictedOverlappingSchwarz<Range,
Domain,
ParallelInfo,
SeqPreconditioner>* ParallelRestrictedOverlappingSchwarzPointer;
#endif
static inline ParallelRestrictedOverlappingSchwarzPointer static inline ParallelRestrictedOverlappingSchwarzPointer
construct(Arguments& args) construct(Arguments& args)
{ {
return using PROS =
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7) Opm::ParallelRestrictedOverlappingSchwarz<Range,Domain,
std::make_shared( ParallelInfo,SeqPreconditioner>;
#endif return std::make_shared<PROS>(*SeqConstructionTraits::construct(args),
new Opm::ParallelRestrictedOverlappingSchwarz args.getComm());
<Range,Domain,ParallelInfo,SeqPreconditioner>(*SeqConstructionTraits ::construct(args),
args.getComm())
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
);
#else
;
#endif
} }
/// \brief Deconstruct and free a parallel restricted overlapping schwarz preconditioner. /// \brief Deconstruct and free a parallel restricted overlapping schwarz preconditioner.

View File

@ -24,13 +24,8 @@
#include <opm/simulators/linalg/PreconditionerWithUpdate.hpp> #include <opm/simulators/linalg/PreconditionerWithUpdate.hpp>
#include <dune/common/version.hh>
#include <dune/istl/paamg/aggregates.hh> #include <dune/istl/paamg/aggregates.hh>
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
#include <dune/istl/paamg/matrixhierarchy.hh> #include <dune/istl/paamg/matrixhierarchy.hh>
#else
#include <dune/istl/paamg/hierarchy.hh>
#endif
#include <cstddef> #include <cstddef>
#include <map> #include <map>

View File

@ -320,11 +320,7 @@ struct StandardPreconditioners<Operator,Dune::Amg::SequentialInformation>
F::addCreator("amg", [](const O& op, const P& prm, const std::function<V()>&, std::size_t) { F::addCreator("amg", [](const O& op, const P& prm, const std::function<V()>&, std::size_t) {
const std::string smoother = prm.get<std::string>("smoother", "ParOverILU0"); const std::string smoother = prm.get<std::string>("smoother", "ParOverILU0");
if (smoother == "ILU0" || smoother == "ParOverILU0") { if (smoother == "ILU0" || smoother == "ParOverILU0") {
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using Smoother = SeqILU<M, V, V>; using Smoother = SeqILU<M, V, V>;
#else
using Smoother = SeqILU0<M, V, V>;
#endif
return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm); return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm);
} else if (smoother == "Jac") { } else if (smoother == "Jac") {
using Smoother = SeqJac<M, V, V>; using Smoother = SeqJac<M, V, V>;
@ -336,11 +332,7 @@ struct StandardPreconditioners<Operator,Dune::Amg::SequentialInformation>
using Smoother = SeqSSOR<M, V, V>; using Smoother = SeqSSOR<M, V, V>;
return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm); return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm);
} else if (smoother == "ILUn") { } else if (smoother == "ILUn") {
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using Smoother = SeqILU<M, V, V>; using Smoother = SeqILU<M, V, V>;
#else
using Smoother = SeqILUn<M, V, V>;
#endif
return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm); return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm);
} else { } else {
OPM_THROW(std::invalid_argument, OPM_THROW(std::invalid_argument,
@ -350,11 +342,7 @@ struct StandardPreconditioners<Operator,Dune::Amg::SequentialInformation>
F::addCreator("kamg", [](const O& op, const P& prm, const std::function<V()>&, std::size_t) { F::addCreator("kamg", [](const O& op, const P& prm, const std::function<V()>&, std::size_t) {
const std::string smoother = prm.get<std::string>("smoother", "ParOverILU0"); const std::string smoother = prm.get<std::string>("smoother", "ParOverILU0");
if (smoother == "ILU0" || smoother == "ParOverILU0") { if (smoother == "ILU0" || smoother == "ParOverILU0") {
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using Smoother = SeqILU<M, V, V>; using Smoother = SeqILU<M, V, V>;
#else
using Smoother = SeqILU0<M, V, V>;
#endif
return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm, true); return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm, true);
} else if (smoother == "Jac") { } else if (smoother == "Jac") {
using Smoother = SeqJac<M, V, V>; using Smoother = SeqJac<M, V, V>;
@ -369,11 +357,7 @@ struct StandardPreconditioners<Operator,Dune::Amg::SequentialInformation>
using Smoother = SeqSSOR<M, V, V>; using Smoother = SeqSSOR<M, V, V>;
return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm, true); return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm, true);
} else if (smoother == "ILUn") { } else if (smoother == "ILUn") {
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using Smoother = SeqILU<M, V, V>; using Smoother = SeqILU<M, V, V>;
#else
using Smoother = SeqILUn<M, V, V>;
#endif
return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm, true); return AMGHelper<O,C,M,V>::template makeAmgPreconditioner<Smoother>(op, prm, true);
} else { } else {
OPM_THROW(std::invalid_argument, OPM_THROW(std::invalid_argument,

View File

@ -140,21 +140,12 @@ namespace Opm
++createIter; ++createIter;
} }
} }
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
if constexpr (std::is_same_v<Communication, Dune::Amg::SequentialInformation>) { if constexpr (std::is_same_v<Communication, Dune::Amg::SequentialInformation>) {
coarseLevelCommunication_ = std::make_shared<Communication>(); coarseLevelCommunication_ = std::make_shared<Communication>();
} else { } else {
coarseLevelCommunication_ = std::make_shared<Communication>( coarseLevelCommunication_ = std::make_shared<Communication>(
communication_->communicator(), communication_->category(), false); communication_->communicator(), communication_->category(), false);
} }
#else
if constexpr (std::is_same_v<Communication, Dune::Amg::SequentialInformation>) {
coarseLevelCommunication_ = std::make_shared<Communication>();
} else {
coarseLevelCommunication_ = std::make_shared<Communication>(
communication_->communicator(), communication_->getSolverCategory(), false);
}
#endif
if (prm_.get<bool>("add_wells")) { if (prm_.get<bool>("add_wells")) {
fineOperator.addWellPressureEquationsStruct(*coarseLevelMatrix_); fineOperator.addWellPressureEquationsStruct(*coarseLevelMatrix_);
coarseLevelMatrix_->compress(); // all elemenst should be set coarseLevelMatrix_->compress(); // all elemenst should be set
@ -167,13 +158,8 @@ namespace Opm
this->lhs_.resize(this->coarseLevelMatrix_->M()); this->lhs_.resize(this->coarseLevelMatrix_->M());
this->rhs_.resize(this->coarseLevelMatrix_->N()); this->rhs_.resize(this->coarseLevelMatrix_->N());
using OperatorArgs = typename Dune::Amg::ConstructionTraits<CoarseOperator>::Arguments; using OperatorArgs = typename Dune::Amg::ConstructionTraits<CoarseOperator>::Arguments;
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
OperatorArgs oargs(coarseLevelMatrix_, *coarseLevelCommunication_); OperatorArgs oargs(coarseLevelMatrix_, *coarseLevelCommunication_);
this->operator_ = Dune::Amg::ConstructionTraits<CoarseOperator>::construct(oargs); this->operator_ = Dune::Amg::ConstructionTraits<CoarseOperator>::construct(oargs);
#else
OperatorArgs oargs(*coarseLevelMatrix_, *coarseLevelCommunication_);
this->operator_.reset(Dune::Amg::ConstructionTraits<CoarseOperator>::construct(oargs));
#endif
} }
virtual void calculateCoarseEntries(const FineOperator& fineOperator) override virtual void calculateCoarseEntries(const FineOperator& fineOperator) override

View File

@ -87,13 +87,8 @@ public:
this->lhs_.resize(this->coarseLevelMatrix_->M()); this->lhs_.resize(this->coarseLevelMatrix_->M());
this->rhs_.resize(this->coarseLevelMatrix_->N()); this->rhs_.resize(this->coarseLevelMatrix_->N());
using OperatorArgs = typename Dune::Amg::ConstructionTraits<CoarseOperator>::Arguments; using OperatorArgs = typename Dune::Amg::ConstructionTraits<CoarseOperator>::Arguments;
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
OperatorArgs oargs(coarseLevelMatrix_, *coarseLevelCommunication_); OperatorArgs oargs(coarseLevelMatrix_, *coarseLevelCommunication_);
this->operator_ = Dune::Amg::ConstructionTraits<CoarseOperator>::construct(oargs); this->operator_ = Dune::Amg::ConstructionTraits<CoarseOperator>::construct(oargs);
#else
OperatorArgs oargs(*coarseLevelMatrix_, *coarseLevelCommunication_);
this->operator_.reset(Dune::Amg::ConstructionTraits<CoarseOperator>::construct(oargs));
#endif
} }
virtual void calculateCoarseEntries(const FineOperator& fineOperator) override virtual void calculateCoarseEntries(const FineOperator& fineOperator) override

View File

@ -256,7 +256,6 @@ namespace Dune
* @param matrix The fine level matrix operator. * @param matrix The fine level matrix operator.
* @param pinfo The fine level parallel information. * @param pinfo The fine level parallel information.
*/ */
#if DUNE_VERSION_NEWER( DUNE_ISTL, 2, 7 )
template<class C> template<class C>
void createHierarchies(C& criterion, Operator& matrix, void createHierarchies(C& criterion, Operator& matrix,
const PI& pinfo) const PI& pinfo)
@ -271,12 +270,6 @@ namespace Dune
void createHierarchies(C& criterion, std::shared_ptr< Operator > matrix, void createHierarchies(C& criterion, std::shared_ptr< Operator > matrix,
std::shared_ptr< PI > pinfo ); std::shared_ptr< PI > pinfo );
#else
template<class C>
void createHierarchies(C& criterion, Operator& matrix,
const PI& pinfo);
#endif
void setupCoarseSolver(); void setupCoarseSolver();
/** /**
@ -492,12 +485,8 @@ namespace Dune
template<class M, class X, class S, class PI, class A> template<class M, class X, class S, class PI, class A>
template<class C> template<class C>
#if DUNE_VERSION_NEWER( DUNE_ISTL, 2, 7)
void AMGCPR<M,X,S,PI,A>::createHierarchies(C& criterion, std::shared_ptr< Operator > matrix, void AMGCPR<M,X,S,PI,A>::createHierarchies(C& criterion, std::shared_ptr< Operator > matrix,
std::shared_ptr< PI > pinfo ) std::shared_ptr< PI > pinfo )
#else
void AMGCPR<M,X,S,PI,A>::createHierarchies(C& criterion, Operator& matrix, const PI& pinfo )
#endif
{ {
Timer watch; Timer watch;
matrices_.reset(new OperatorHierarchy(matrix, pinfo)); matrices_.reset(new OperatorHierarchy(matrix, pinfo));
@ -538,15 +527,9 @@ namespace Dune
cargs.setComm(*matrices_->parallelInformation().coarsest()); cargs.setComm(*matrices_->parallelInformation().coarsest());
} }
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
coarseSmoother_ = ConstructionTraits<Smoother>::construct(cargs); coarseSmoother_ = ConstructionTraits<Smoother>::construct(cargs);
#else
coarseSmoother_.reset(ConstructionTraits<Smoother>::construct(cargs));
#endif
scalarProduct_ = createScalarProduct<X>(cargs.getComm(),category()); scalarProduct_ = createScalarProduct<X>(cargs.getComm(),category());
typedef DirectSolverSelector< typename M::matrix_type, X > SolverSelector; typedef DirectSolverSelector< typename M::matrix_type, X > SolverSelector;
// Use superlu if we are purely sequential or with only one processor on the coarsest level. // Use superlu if we are purely sequential or with only one processor on the coarsest level.
@ -660,13 +643,8 @@ namespace Dune
matrices_->parallelInformation().coarsest()->copyOwnerToAll(x,x); matrices_->parallelInformation().coarsest()->copyOwnerToAll(x,x);
#if DUNE_VERSION_NEWER( DUNE_ISTL, 2, 7)
typedef std::shared_ptr< Range > RangePtr ; typedef std::shared_ptr< Range > RangePtr ;
typedef std::shared_ptr< Domain > DomainPtr; typedef std::shared_ptr< Domain > DomainPtr;
#else
typedef Range* RangePtr;
typedef Domain* DomainPtr;
#endif
// Hierarchy takes ownership of pointers // Hierarchy takes ownership of pointers
RangePtr copy( new Range(b) ); RangePtr copy( new Range(b) );

View File

@ -73,12 +73,7 @@ private:
unsigned int getColIdx(unsigned int idx); unsigned int getColIdx(unsigned int idx);
public: public:
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using UMFPackIndex = SuiteSparse_long; using UMFPackIndex = SuiteSparse_long;
#else
using UMFPackIndex = int;
#endif
#if HAVE_CUDA #if HAVE_CUDA
/// Set a cudaStream to be used /// Set a cudaStream to be used

View File

@ -53,11 +53,7 @@ class WellContributions
public: public:
static std::unique_ptr<WellContributions> create(const std::string& accelerator_mode, bool useWellConn); static std::unique_ptr<WellContributions> create(const std::string& accelerator_mode, bool useWellConn);
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using UMFPackIndex = SuiteSparse_long; using UMFPackIndex = SuiteSparse_long;
#else
using UMFPackIndex = int;
#endif
/// StandardWell has C, D and B matrices that need to be copied /// StandardWell has C, D and B matrices that need to be copied
enum class MatrixType { enum class MatrixType {
C, C,

View File

@ -299,12 +299,8 @@ void CPR<block_size>::create_preconditioner_amg(BlockedMatrix *mat_) {
} }
dune_op = std::make_shared<MatrixOperator>(*dune_coarse); dune_op = std::make_shared<MatrixOperator>(*dune_coarse);
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
Dune::Amg::SequentialInformation seqinfo; Dune::Amg::SequentialInformation seqinfo;
dune_amg = std::make_unique<DuneAmg>(dune_op, Dune::stackobject_to_shared_ptr(seqinfo)); dune_amg = std::make_unique<DuneAmg>(dune_op, Dune::stackobject_to_shared_ptr(seqinfo));
#else
dune_amg = std::make_unique<DuneAmg>(*dune_op);
#endif
Opm::PropertyTree property_tree; Opm::PropertyTree property_tree;
property_tree.put("alpha", 0.333333333333); property_tree.put("alpha", 0.333333333333);

View File

@ -22,12 +22,7 @@
#include <mutex> #include <mutex>
#include <dune/common/version.hh>
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
#include <dune/istl/paamg/matrixhierarchy.hh> #include <dune/istl/paamg/matrixhierarchy.hh>
#else
#include <dune/istl/paamg/hierarchy.hh>
#endif
#include <dune/istl/umfpack.hh> #include <dune/istl/umfpack.hh>
#include <opm/simulators/linalg/bda/opencl/opencl.hpp> #include <opm/simulators/linalg/bda/opencl/opencl.hpp>

View File

@ -23,16 +23,13 @@
#include <dune/common/version.hh> #include <dune/common/version.hh>
#include <dune/common/parallel/mpihelper.hh> #include <dune/common/parallel/mpihelper.hh>
namespace Opm namespace Opm {
{ namespace Parallel {
namespace Parallel
{
using MPIComm = typename Dune::MPIHelper::MPICommunicator; using MPIComm = typename Dune::MPIHelper::MPICommunicator;
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
using Communication = Dune::Communication<MPIComm>; using Communication = Dune::Communication<MPIComm>;
#else
using Communication = Dune::CollectiveCommunication<MPIComm>;
#endif
} // namespace Parallel } // namespace Parallel
} // end namespace Opm } // end namespace Opm
#endif // OPM_PARALLELCOMMUNICATION_HEADER_INCLUDED #endif // OPM_PARALLELCOMMUNICATION_HEADER_INCLUDED

View File

@ -60,11 +60,7 @@ protected:
using GroupRateMap = using GroupRateMap =
std::map<std::string, GroupRates>; std::map<std::string, GroupRates>;
using GroupIdxMap = std::map<std::string, int>; using GroupIdxMap = std::map<std::string, int>;
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
using Communication = Dune::Communication<Dune::MPIHelper::MPICommunicator>; using Communication = Dune::Communication<Dune::MPIHelper::MPICommunicator>;
#else
using Communication = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>;
#endif
// TODO: same definition with WellInterface, and // TODO: same definition with WellInterface, and
// WellState eventually they should go to a common header file. // WellState eventually they should go to a common header file.

View File

@ -185,11 +185,7 @@ invDX(const MatrixType& D, VectorType x, DeferredLogger& deferred_logger)
Dune::MatrixAdapter<MatrixType, VectorType, VectorType> linearOperator(D); Dune::MatrixAdapter<MatrixType, VectorType, VectorType> linearOperator(D);
// Sequential incomplete LU decomposition as the preconditioner // Sequential incomplete LU decomposition as the preconditioner
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
Dune::SeqILU<MatrixType, VectorType, VectorType> preconditioner(D, 1.0); Dune::SeqILU<MatrixType, VectorType, VectorType> preconditioner(D, 1.0);
#else
Dune::SeqILU0<MatrixType, VectorType, VectorType> preconditioner(D, 1.0);
#endif
// Dune::SeqILUn<MatrixType, VectorType, VectorType> preconditioner(D, 1, 0.92); // Dune::SeqILUn<MatrixType, VectorType, VectorType> preconditioner(D, 1, 0.92);
// Dune::SeqGS<MatrixType, VectorType, VectorType> preconditioner(D, 1, 1); // Dune::SeqGS<MatrixType, VectorType, VectorType> preconditioner(D, 1, 1);
// Dune::SeqJac<MatrixType, VectorType, VectorType> preconditioner(D, 1, 1); // Dune::SeqJac<MatrixType, VectorType, VectorType> preconditioner(D, 1, 1);

View File

@ -29,14 +29,8 @@
#error "This file needs to compiled with MPI support!" #error "This file needs to compiled with MPI support!"
#endif #endif
#include <dune/common/version.hh>
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
#include <dune/common/parallel/mpicommunication.hh> #include <dune/common/parallel/mpicommunication.hh>
#include <dune/common/parallel/communication.hh> #include <dune/common/parallel/communication.hh>
#else
#include <dune/common/parallel/mpicollectivecommunication.hh>
#include <dune/common/parallel/collectivecommunication.hh>
#endif
#include <dune/common/parallel/indexset.hh> #include <dune/common/parallel/indexset.hh>
#include <dune/common/parallel/communicator.hh> #include <dune/common/parallel/communicator.hh>

View File

@ -144,11 +144,7 @@
template<class T> template<class T>
std::tuple<T,int,int> PackUnpack(T& in) std::tuple<T,int,int> PackUnpack(T& in)
{ {
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
const auto& comm = Dune::MPIHelper::getCommunication(); const auto& comm = Dune::MPIHelper::getCommunication();
#else
const auto& comm = Dune::MPIHelper::getCollectiveCommunication();
#endif
Opm::EclMpiSerializer ser(comm); Opm::EclMpiSerializer ser(comm);
ser.pack(in); ser.pack(in);

View File

@ -31,12 +31,7 @@
#include <dune/common/unused.hh> #include <dune/common/unused.hh>
#include <dune/common/parallel/indexset.hh> #include <dune/common/parallel/indexset.hh>
#include <dune/common/parallel/plocalindex.hh> #include <dune/common/parallel/plocalindex.hh>
#include <dune/common/version.hh>
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
#include <dune/common/parallel/communication.hh> #include <dune/common/parallel/communication.hh>
#else
#include <dune/common/parallel/collectivecommunication.hh>
#endif
#include <dune/istl/bcrsmatrix.hh> #include <dune/istl/bcrsmatrix.hh>
#include <dune/istl/owneroverlapcopy.hh> #include <dune/istl/owneroverlapcopy.hh>
#include <dune/istl/schwarz.hh> #include <dune/istl/schwarz.hh>
@ -277,11 +272,7 @@ void runBlackoilAmgLaplace()
typedef Dune::OwnerOverlapCopyCommunication<GlobalId> Communication; typedef Dune::OwnerOverlapCopyCommunication<GlobalId> Communication;
typedef Dune::OverlappingSchwarzOperator<BCRSMat,Vector,Vector,Communication> Operator; typedef Dune::OverlappingSchwarzOperator<BCRSMat,Vector,Vector,Communication> Operator;
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
const auto& ccomm = Dune::MPIHelper::getCommunication(); const auto& ccomm = Dune::MPIHelper::getCommunication();
#else
const auto& ccomm = Dune::MPIHelper::getCollectiveCommunication();
#endif
Communication comm(ccomm); Communication comm(ccomm);
int n=0; int n=0;

View File

@ -58,11 +58,7 @@ init_unit_test_func()
BOOST_AUTO_TEST_CASE(BroadCast) BOOST_AUTO_TEST_CASE(BroadCast)
{ {
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
const auto& cc = Dune::MPIHelper::getCommunication(); const auto& cc = Dune::MPIHelper::getCommunication();
#else
const auto& cc = Dune::MPIHelper::getCollectiveCommunication();
#endif
std::vector<double> d(3); std::vector<double> d(3);
if (cc.rank() == 1) if (cc.rank() == 1)

View File

@ -5,7 +5,6 @@
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <boost/version.hpp> #include <boost/version.hpp>
#include <dune/common/version.hh>
#include <dune/common/fvector.hh> #include <dune/common/fvector.hh>
#include <dune/istl/bcrsmatrix.hh> #include <dune/istl/bcrsmatrix.hh>
#include <dune/istl/matrixmarket.hh> #include <dune/istl/matrixmarket.hh>
@ -14,11 +13,7 @@
BOOST_AUTO_TEST_CASE(testcsrtocscoffsetmap){ BOOST_AUTO_TEST_CASE(testcsrtocscoffsetmap){
#if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7)
using Matrix = Dune::BCRSMatrix<double>; using Matrix = Dune::BCRSMatrix<double>;
#else
using Matrix = Dune::BCRSMatrix<Dune::FieldMatrix<double,1,1>>;
#endif
Matrix matrix; Matrix matrix;
{ {

View File

@ -25,7 +25,6 @@
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <dune/common/version.hh>
#include <opm/simulators/utils/gatherDeferredLogger.hpp> #include <opm/simulators/utils/gatherDeferredLogger.hpp>
#include <dune/common/parallel/mpihelper.hh> #include <dune/common/parallel/mpihelper.hh>
@ -81,11 +80,7 @@ void initLogger(std::ostringstream& log_stream) {
BOOST_AUTO_TEST_CASE(NoMessages) BOOST_AUTO_TEST_CASE(NoMessages)
{ {
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
const auto& cc = Dune::MPIHelper::getCommunication(); const auto& cc = Dune::MPIHelper::getCommunication();
#else
const auto& cc = Dune::MPIHelper::getCollectiveCommunication();
#endif
std::ostringstream log_stream; std::ostringstream log_stream;
initLogger(log_stream); initLogger(log_stream);
@ -107,11 +102,7 @@ BOOST_AUTO_TEST_CASE(NoMessages)
BOOST_AUTO_TEST_CASE(VariableNumberOfMessages) BOOST_AUTO_TEST_CASE(VariableNumberOfMessages)
{ {
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
const auto& cc = Dune::MPIHelper::getCommunication(); const auto& cc = Dune::MPIHelper::getCommunication();
#else
const auto& cc = Dune::MPIHelper::getCollectiveCommunication();
#endif
std::ostringstream log_stream; std::ostringstream log_stream;
initLogger(log_stream); initLogger(log_stream);
@ -149,11 +140,7 @@ BOOST_AUTO_TEST_CASE(VariableNumberOfMessages)
BOOST_AUTO_TEST_CASE(AllHaveOneMessage) BOOST_AUTO_TEST_CASE(AllHaveOneMessage)
{ {
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
const auto& cc = Dune::MPIHelper::getCommunication(); const auto& cc = Dune::MPIHelper::getCommunication();
#else
const auto& cc = Dune::MPIHelper::getCollectiveCommunication();
#endif
std::ostringstream log_stream; std::ostringstream log_stream;
initLogger(log_stream); initLogger(log_stream);

View File

@ -7,6 +7,7 @@
#include<dune/istl/bcrsmatrix.hh> #include<dune/istl/bcrsmatrix.hh>
#include<dune/istl/bvector.hh> #include<dune/istl/bvector.hh>
#include<dune/common/version.hh>
#include<dune/common/fmatrix.hh> #include<dune/common/fmatrix.hh>
#include<dune/common/fvector.hh> #include<dune/common/fvector.hh>
#include<opm/simulators/linalg/ParallelOverlappingILU0.hpp> #include<opm/simulators/linalg/ParallelOverlappingILU0.hpp>

View File

@ -103,11 +103,7 @@ struct GlobalFixture {
Dune::MPIHelper::instance(argcDummy, argvDummy); Dune::MPIHelper::instance(argcDummy, argvDummy);
#endif #endif
#if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 7)
Opm::FlowMainEbos<Opm::Properties::TTag::EclFlowProblem>::setupParameters_(argcDummy, argvDummy, Dune::MPIHelper::getCommunication()); Opm::FlowMainEbos<Opm::Properties::TTag::EclFlowProblem>::setupParameters_(argcDummy, argvDummy, Dune::MPIHelper::getCommunication());
#else
Opm::FlowMainEbos<Opm::Properties::TTag::EclFlowProblem>::setupParameters_(argcDummy, argvDummy, Dune::MPIHelper::getCollectiveCommunication());
#endif
} }
}; };