XGCa
|
#include <col_grid_matrix.hpp>
Public Types | |
using | index_type = int |
using | host_type = HostType |
using | device = Device |
using | value_type = double |
using | values_array_t = Kokkos::View< value_type ***, Kokkos::LayoutRight, Device, Kokkos::MemoryTraits< Kokkos::Unmanaged >> |
using | const_values_array_t = Kokkos::View< const value_type ***, Kokkos::LayoutRight, Device, Kokkos::MemoryTraits< Kokkos::Unmanaged >> |
using | vector_view_t = Kokkos::View< value_type ****, Kokkos::LayoutRight, Device > |
using | const_vector_view_t = Kokkos::View< const value_type ****, Kokkos::LayoutRight, Device > |
using | vector_dualview_t = Kokkos::DualView< value_type ****, Kokkos::LayoutRight, Device > |
using | const_vector_dualview_t = Kokkos::DualView< const value_type ****, Kokkos::LayoutRight, Device > |
Public Member Functions | |
GridMatrix (size_type n_nodes, int n_species) | |
virtual | ~GridMatrix () |
Kokkos::View< index_type **, device >::HostMirror | host_index_map_LU () |
Kokkos::View< index_type **, device > | device_index_map_LU () const |
virtual const_values_array_t | get_const_values () const =0 |
virtual values_array_t | get_values ()=0 |
virtual void | subtract_from_identity ()=0 |
virtual void | add_identity_multiply (const_vector_view_t dist_col, vector_view_t dist_iter) const =0 |
virtual void | apply_solve (const_vector_dualview_t b, vector_dualview_t x) const =0 |
index_type | get_num_nonzeros () const |
index_type | get_num_rows () const |
Protected Attributes | |
Kokkos::DualView< index_type **, device > | index_map_ |
const index_type | num_species_ |
const index_type | num_nodes_ |
const size_type | batch_size_ |
index_type | num_rows_ |
index_type | nnz_ |
using Collisions::GridMatrix< Device >::const_values_array_t = Kokkos::View<const value_type***, Kokkos::LayoutRight, Device, Kokkos::MemoryTraits<Kokkos::Unmanaged>> |
using Collisions::GridMatrix< Device >::const_vector_dualview_t = Kokkos::DualView<const value_type****, Kokkos::LayoutRight, Device> |
using Collisions::GridMatrix< Device >::const_vector_view_t = Kokkos::View<const value_type****, Kokkos::LayoutRight, Device> |
using Collisions::GridMatrix< Device >::device = Device |
using Collisions::GridMatrix< Device >::host_type = HostType |
using Collisions::GridMatrix< Device >::index_type = int |
using Collisions::GridMatrix< Device >::value_type = double |
using Collisions::GridMatrix< Device >::values_array_t = Kokkos::View<value_type***, Kokkos::LayoutRight, Device, Kokkos::MemoryTraits<Kokkos::Unmanaged>> |
using Collisions::GridMatrix< Device >::vector_dualview_t = Kokkos::DualView<value_type****, Kokkos::LayoutRight, Device> |
using Collisions::GridMatrix< Device >::vector_view_t = Kokkos::View<value_type****, Kokkos::LayoutRight, Device> |
|
inline |
|
inlinevirtual |
|
pure virtual |
Implemented in Collisions::CSCMatrix< Device >.
|
pure virtual |
Implemented in Collisions::CSCMatrix< Device >.
|
inline |
|
pure virtual |
Implemented in Collisions::CSCMatrix< Device >.
|
inline |
|
inline |
|
pure virtual |
|
inline |
|
pure virtual |
Implemented in Collisions::CSCMatrix< Device >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Location of central cell in each row of the matrix Turns out this is only needed on the host.