ExtraSmoothers.hpp
Go to the documentation of this file.
1#ifndef OPM_EXTRASMOOTHERS_HPP
2#define OPM_EXTRASMOOTHERS_HPP
3
4#include "DILU.hpp"
5
6namespace Dune
7{
8 template <class M, class X, class Y>
9 class MultithreadDILU;
10
11namespace Amg
12{
16 template <class M, class X, class Y>
17 struct ConstructionTraits<MultithreadDILU<M, X, Y>> {
18 using Arguments = DefaultConstructionArgs<MultithreadDILU<M, X, Y>>;
19
20 static inline std::shared_ptr<MultithreadDILU<M, X, Y>> construct(Arguments& args) {
21 return std::make_shared<MultithreadDILU<M, X, Y>>(args.getMatrix());
22 }
23 };
24
25} // namespace Amg
26} // namespace Dune
27#endif // OPM_EXTRASMOOTHERS_HPP
The OpenMP thread parallelized DILU preconditioner.
Definition: DILU.hpp:53
Definition: fvbaseprimaryvariables.hh:141
static std::shared_ptr< MultithreadDILU< M, X, Y > > construct(Arguments &args)
Definition: ExtraSmoothers.hpp:20
DefaultConstructionArgs< MultithreadDILU< M, X, Y > > Arguments
Definition: ExtraSmoothers.hpp:18