My Project
Loading...
Searching...
No Matches
Opm::Accelerator::BlockedMatrix< Scalar > Class Template Reference

This struct resembles a blocked csr matrix, like Dune::BCRSMatrix. More...

#include <BlockedMatrix.hpp>

Public Member Functions

 BlockedMatrix (int Nb_, int nnzbs_, unsigned int block_size_)
 Allocate BlockedMatrix and data arrays with given sizes.
 
 BlockedMatrix (const BlockedMatrix &M)
 Allocate BlockedMatrix, but copy sparsity pattern instead of allocating new memory.
 
 BlockedMatrix (int Nb_, int nnzbs_, unsigned int block_size_, Scalar *nnzValues_, int *colIndices_, int *rowPointers_)
 Allocate BlockedMatrix, but let data arrays point to existing arrays.
 

Public Attributes

Scalar * nnzValues
 
intcolIndices
 
introwPointers
 
int Nb
 
int nnzbs
 
unsigned int block_size
 
bool deleteNnzs
 
bool deleteSparsity
 

Detailed Description

template<class Scalar>
class Opm::Accelerator::BlockedMatrix< Scalar >

This struct resembles a blocked csr matrix, like Dune::BCRSMatrix.

The data is stored in contiguous memory, such that they can be copied to a device in one transfer.

Constructor & Destructor Documentation

◆ BlockedMatrix() [1/3]

template<class Scalar >
Opm::Accelerator::BlockedMatrix< Scalar >::BlockedMatrix ( int  Nb_,
int  nnzbs_,
unsigned int  block_size_ 
)
inline

Allocate BlockedMatrix and data arrays with given sizes.

Parameters
[in]Nbnumber of blockrows
[in]nnzbsnumber of nonzero blocks
[in]block_sizethe number of rows and columns for each block

◆ BlockedMatrix() [2/3]

template<class Scalar >
Opm::Accelerator::BlockedMatrix< Scalar >::BlockedMatrix ( const BlockedMatrix< Scalar > &  M)
inline

Allocate BlockedMatrix, but copy sparsity pattern instead of allocating new memory.

Parameters
[in]Mmatrix to be copied

◆ BlockedMatrix() [3/3]

template<class Scalar >
Opm::Accelerator::BlockedMatrix< Scalar >::BlockedMatrix ( int  Nb_,
int  nnzbs_,
unsigned int  block_size_,
Scalar *  nnzValues_,
int colIndices_,
int rowPointers_ 
)
inline

Allocate BlockedMatrix, but let data arrays point to existing arrays.

Parameters
[in]Nbnumber of blockrows
[in]nnzbsnumber of nonzero blocks
[in]block_sizethe number of rows and columns for each block
[in]nnzValuesarray of nonzero values, contains nnzb*block_size*block_size scalars
[in]colIndicesarray of column indices, contains nnzb entries
[in]rowPointersarray of row pointers, contains Nb+1 entries

The documentation for this class was generated from the following file: