![]() |
ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
|
#include <source/sparse_matrix.h>
Public Member Functions | |
Constructor and initialization | |
| SparseMatrixView ()=default | |
| SparseMatrixView (SparseMatrix< Number, n_comp, warp_size, simd_length > &sparse_matrix) | |
| SparseMatrixView (const SparseMatrix< Number, n_comp, warp_size, simd_length > &sparse_matrix) | |
| template<bool other_writable> requires (!writable && other_writable) | |
| DEAL_II_HOST_DEVICE | SparseMatrixView (const SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, other_writable > &other) |
| template<typename SparseMatrix > requires (writable != std::is_const_v<SparseMatrix>) | |
| void | reinit (SparseMatrix &sparse_matrix) |
| ACCESSOR_READ_ONLY (sparsity_pattern) | |
Access to scalar or tensor-valued entries | |
| template<typename Number2 = Number> | |
| DEAL_II_HOST_DEVICE Number2 | read_entry (const unsigned int row, const unsigned int column_index) const |
| template<typename Number2 = Number, typename Tensor = dealii::Tensor<1, n_comp, Number2>> | |
| DEAL_II_HOST_DEVICE Tensor | read_tensor (const unsigned int row, const unsigned int column_index) const |
| template<typename Number2 = Number> | |
| DEAL_II_HOST_DEVICE Number2 | read_transposed_entry (const unsigned int row, const unsigned int column_index) const |
| template<typename Number2 = Number, typename Tensor = dealii::Tensor<1, n_comp, Number2>> | |
| DEAL_II_HOST_DEVICE Tensor | read_transposed_tensor (const unsigned int row, const unsigned int column_index) const |
| template<typename Number2 = Number> requires (writable) | |
| DEAL_II_HOST_DEVICE void | write_entry (const Number2 entry, const unsigned int row, const unsigned int column_index, const bool do_streaming_store=false) const |
| template<typename Number2 = Number, typename Tensor = dealii::Tensor<1, n_comp, Number2>> requires (writable) | |
| DEAL_II_HOST_DEVICE void | write_tensor (const Tensor &tensor, const unsigned int row, const unsigned int column_index, const bool do_streaming_store=false) const |
| template<typename Number2 = Number> requires (writable) | |
| DEAL_II_HOST_DEVICE void | add_entry (const Number2 entry, const unsigned int row, const unsigned int column_index) const |
| template<typename Number2 = Number, typename Tensor = dealii::Tensor<1, n_comp, Number2>> requires (writable) | |
| DEAL_II_HOST_DEVICE void | add_tensor (const Tensor &tensor, const unsigned int row, const unsigned int column_index) const |
MPI synchronization | |
| void | zero_out_ghost_rows () const |
| void | update_ghost_rows () const |
| void | compress (dealii::VectorOperation::values operation) const |
Internal fields | |
| template<typename , int , int , int , typename , bool > | |
| class | SparseMatrixView |
This class models a "view" of the sparse matrix that lives in the host or device memory space. It provides a number of methods for reading and writing matrix entries.
Definition at line 258 of file sparse_matrix.h.
|
default |
| ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::SparseMatrixView | ( | SparseMatrix< Number, n_comp, warp_size, simd_length > & | sparse_matrix | ) |
| ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::SparseMatrixView | ( | const SparseMatrix< Number, n_comp, warp_size, simd_length > & | sparse_matrix | ) |
| DEAL_II_HOST_DEVICE ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::SparseMatrixView | ( | const SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, other_writable > & | other | ) |
Converting constructor creating a read only view from a writable view (mirroring the conversion from T * to const T *).
| void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::reinit | ( | SparseMatrix & | sparse_matrix | ) |
Referenced by ryujin::distribute_local_to_global().
| ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::ACCESSOR_READ_ONLY | ( | sparsity_pattern | ) |
Return the underlying sparsity pattern view.
| DEAL_II_HOST_DEVICE Number2 ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::read_entry | ( | const unsigned int | row, |
| const unsigned int | column_index | ||
| ) | const |
Return the (scalar) entry indexed by row and column_index.
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length.n_comp is equal to 1. | DEAL_II_HOST_DEVICE Tensor ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::read_tensor | ( | const unsigned int | row, |
| const unsigned int | column_index | ||
| ) | const |
Return the tensor-valued entry indexed by row and column_index. This function performs the same operation as read_entry() except that it always returns the entry as a tensor (even if it is effectively a scalar entry).
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length. | DEAL_II_HOST_DEVICE Number2 ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::read_transposed_entry | ( | const unsigned int | row, |
| const unsigned int | column_index | ||
| ) | const |
Return the transposed (sclar) entry indexed by row and column_index.
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length.n_comp is equal to 1. | DEAL_II_HOST_DEVICE Tensor ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::read_transposed_tensor | ( | const unsigned int | row, |
| const unsigned int | column_index | ||
| ) | const |
Return the transposed tensor-valued entry indexed by row and column_index. This function performs the same operation as read_entry() except that it always returns the entry as a tensor (even if it is effectively a scalar entry).
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length. | DEAL_II_HOST_DEVICE void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::write_entry | ( | const Number2 | entry, |
| const unsigned int | row, | ||
| const unsigned int | column_index, | ||
| const bool | do_streaming_store = false |
||
| ) | const |
Write a (scalar-valued) entry to the matrix indexed by row and column_index.
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length.n_comp is equal to 1. | DEAL_II_HOST_DEVICE void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::write_tensor | ( | const Tensor & | tensor, |
| const unsigned int | row, | ||
| const unsigned int | column_index, | ||
| const bool | do_streaming_store = false |
||
| ) | const |
Write a tensor-valued entry to the matrix indexed by row and column_index.
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length. | DEAL_II_HOST_DEVICE void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::add_entry | ( | const Number2 | entry, |
| const unsigned int | row, | ||
| const unsigned int | column_index | ||
| ) | const |
Add a (scalar-valued) entry to the matrix indexed by row and column_index.
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length.n_comp is equal to 1. | DEAL_II_HOST_DEVICE void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::add_tensor | ( | const Tensor & | tensor, |
| const unsigned int | row, | ||
| const unsigned int | column_index | ||
| ) | const |
Add a tensor-valued entry to the matrix indexed by row and column_index.
row must be within the interval [0, n_internal_dofs) and must be divisible by simd_length. | void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::zero_out_ghost_rows | ( | ) | const |
| void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::update_ghost_rows | ( | ) | const |
| void ryujin::SparseMatrixView< Number, n_comp, warp_size, simd_length, MemorySpace, writable >::compress | ( | dealii::VectorOperation::values | operation | ) | const |
|
friend |
Definition at line 481 of file sparse_matrix.h.