15 #if !defined(KRATOS_CSR_SPMM_UTILITIES_H_INCLUDED)
16 #define KRATOS_CSR_SPMM_UTILITIES_H_INCLUDED
21 #include <amgcl/backend/builtin.hpp>
22 #include <amgcl/adapter/zero_copy.hpp>
42 template<
class TDataType=
double,
class TIndexType=std::
size_t >
48 bool move_to_backend=
false;
52 auto pAamgcl = AmgclDistributedCSRConversionUtilities::ConvertToAmgcl<double,IndexType>
53 (rA,Aoffdiag_global_index2,move_to_backend);
56 auto pBamgcl = AmgclDistributedCSRConversionUtilities::ConvertToAmgcl<double,IndexType>
57 (rB,Boffdiag_global_index2,move_to_backend);
59 auto Camgcl = product(*pAamgcl, *pBamgcl);
63 return AmgclDistributedCSRConversionUtilities::ConvertToCsrMatrix<TDataType,IndexType>(*Camgcl, rA.
GetComm());
Definition: amgcl_distributed_csr_spmm_utilities.h:35
static DistributedCsrMatrix< TDataType, TIndexType >::Pointer SparseMultiply(const DistributedCsrMatrix< TDataType, TIndexType > &rA, const DistributedCsrMatrix< TDataType, TIndexType > &rB)
Definition: amgcl_distributed_csr_spmm_utilities.h:43
This class implements "serial" CSR matrix, including capabilities for FEM assembly.
Definition: distributed_csr_matrix.h:58
const DataCommunicator & GetComm() const
Definition: distributed_csr_matrix.h:329
DenseVector< TIndexType > GetOffDiagonalIndex2DataInGlobalNumbering() const
Definition: distributed_csr_matrix.h:431
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21