opm-simulators
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
int * colIndices
int * rowPointers
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]Nb_number of blockrows
[in]nnzbs_number of nonzero blocks
[in]block_size_the 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]Nb_number of blockrows
[in]nnzbs_number of nonzero blocks
[in]block_size_the number of rows and columns for each block
[in]nnzValues_array of nonzero values, contains nnzb*block_size*block_size scalars
[in]colIndices_array of column indices, contains nnzb entries
[in]rowPointers_array of row pointers, contains Nb+1 entries

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