My Project
Opm::Accelerator::BlockedMatrix Class 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. More...
 
 BlockedMatrix (const BlockedMatrix &M)
 Allocate BlockedMatrix, but copy sparsity pattern instead of allocating new memory. More...
 
 BlockedMatrix (int Nb_, int nnzbs_, unsigned int block_size_, double *nnzValues_, int *colIndices_, int *rowPointers_)
 Allocate BlockedMatrix, but let data arrays point to existing arrays. More...
 

Public Attributes

double * nnzValues
 
int * colIndices
 
int * rowPointers
 
int Nb
 
int nnzbs
 
unsigned int block_size
 
bool deleteNnzs
 
bool deleteSparsity
 

Detailed Description

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]

Opm::Accelerator::BlockedMatrix::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]

Opm::Accelerator::BlockedMatrix::BlockedMatrix ( const BlockedMatrix M)
inline

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

Parameters
[in]Mmatrix to be copied

◆ BlockedMatrix() [3/3]

Opm::Accelerator::BlockedMatrix::BlockedMatrix ( int  Nb_,
int  nnzbs_,
unsigned int  block_size_,
double *  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: