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] | M | matrix 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:

- opm/simulators/linalg/gpubridge/BlockedMatrix.hpp