Skip to content
Snippets Groups Projects
Commit 0c199082 authored by Timo Koch's avatar Timo Koch
Browse files

Merge branch 'feature/umfpack-add-dense-matrix-support' into 'master'

[umfpack] Add support for Dune::Matrix

See merge request !586
parents 8de016aa 30190383
No related branches found
No related tags found
1 merge request!586[umfpack] Add support for Dune::Matrix
Pipeline #76209 passed
......@@ -17,6 +17,7 @@
#include<dune/common/fvector.hh>
#include<dune/istl/bccsmatrixinitializer.hh>
#include<dune/istl/bcrsmatrix.hh>
#include<dune/istl/matrix.hh>
#include<dune/istl/foreach.hh>
#include<dune/istl/multitypeblockmatrix.hh>
#include<dune/istl/multitypeblockvector.hh>
......@@ -211,6 +212,12 @@ namespace Dune {
using range_type = BlockVector<UMFPackRangeType<T>, typename std::allocator_traits<A>::template rebind_alloc<UMFPackRangeType<T>>>;
};
template<typename T, typename A>
struct UMFPackVectorChooser<Matrix<T,A>,
std::void_t<UMFPackDomainType<T>, UMFPackRangeType<T>>>
: public UMFPackVectorChooser<BCRSMatrix<T,A>, std::void_t<UMFPackDomainType<T>, UMFPackRangeType<T>>>
{};
// to make the `UMFPackVectorChooser` work with `MultiTypeBlockMatrix`, we need to add an intermediate step for the rows, which are typically `MultiTypeBlockVector`
template<typename FirstBlock, typename... Blocks>
struct UMFPackVectorChooser<MultiTypeBlockVector<FirstBlock, Blocks...>,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment