![]() |
deal.II version 9.7.0
|
#include <deal.II/matrix_free/portable_matrix_free.h>
A block vector used for source and destination vectors in device functions like MatrixFree::cell_loop().
The maximum number of block is limited by the constant n_max_dof_handlers.
Definition at line 96 of file portable_matrix_free.h.
Public Member Functions | |
| DeviceBlockVector () | |
| DeviceBlockVector (const DeviceBlockVector &other)=default | |
| DeviceBlockVector (const DeviceVector< Number > &src) | |
| template<typename MemorySpace> | |
| DeviceBlockVector (const LinearAlgebra::distributed::BlockVector< Number, MemorySpace > &src) | |
| DeviceVector< Number > & | block (unsigned int index) |
| const DeviceVector< Number > & | block (unsigned int index) const |
Private Attributes | |
| unsigned int | n_blocks |
| Kokkos::Array< DeviceVector< Number >, n_max_dof_handlers > | blocks |
|
inline |
Constructor.
Definition at line 102 of file portable_matrix_free.h.
|
default |
Constructor.
|
inlineexplicit |
Constructor from a DeviceVector. Creates a DeviceBlockVector with a single block.
Definition at line 115 of file portable_matrix_free.h.
|
inline |
Constructor from a LinearAlgebra::distributed::BlockVector. Creates a DeviceVector from each block and stores it.
Definition at line 125 of file portable_matrix_free.h.
|
inline |
Access block index.
Definition at line 145 of file portable_matrix_free.h.
|
inline |
Access block index.
Definition at line 155 of file portable_matrix_free.h.
|
private |
The number of components / blocks
Definition at line 165 of file portable_matrix_free.h.
|
private |
Storage for the blocks
Definition at line 170 of file portable_matrix_free.h.