XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
Collisions::GridMatrix< Device > Class Template Referenceabstract

#include <col_grid_matrix.hpp>

Inheritance diagram for Collisions::GridMatrix< Device >:
Inheritance graph
[legend]

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_
 

Member Typedef Documentation

template<typename Device>
using Collisions::GridMatrix< Device >::const_values_array_t = Kokkos::View<const value_type***, Kokkos::LayoutRight, Device, Kokkos::MemoryTraits<Kokkos::Unmanaged>>
template<typename Device>
using Collisions::GridMatrix< Device >::const_vector_dualview_t = Kokkos::DualView<const value_type****, Kokkos::LayoutRight, Device>
template<typename Device>
using Collisions::GridMatrix< Device >::const_vector_view_t = Kokkos::View<const value_type****, Kokkos::LayoutRight, Device>
template<typename Device>
using Collisions::GridMatrix< Device >::device = Device
template<typename Device>
using Collisions::GridMatrix< Device >::host_type = HostType
template<typename Device>
using Collisions::GridMatrix< Device >::index_type = int
template<typename Device>
using Collisions::GridMatrix< Device >::value_type = double
template<typename Device>
using Collisions::GridMatrix< Device >::values_array_t = Kokkos::View<value_type***, Kokkos::LayoutRight, Device, Kokkos::MemoryTraits<Kokkos::Unmanaged>>
template<typename Device>
using Collisions::GridMatrix< Device >::vector_dualview_t = Kokkos::DualView<value_type****, Kokkos::LayoutRight, Device>
template<typename Device>
using Collisions::GridMatrix< Device >::vector_view_t = Kokkos::View<value_type****, Kokkos::LayoutRight, Device>

Constructor & Destructor Documentation

template<typename Device>
Collisions::GridMatrix< Device >::GridMatrix ( size_type  n_nodes,
int  n_species 
)
inline
template<typename Device>
virtual Collisions::GridMatrix< Device >::~GridMatrix ( )
inlinevirtual

Member Function Documentation

template<typename Device>
virtual void Collisions::GridMatrix< Device >::add_identity_multiply ( const_vector_view_t  dist_col,
vector_view_t  dist_iter 
) const
pure virtual
template<typename Device>
virtual void Collisions::GridMatrix< Device >::apply_solve ( const_vector_dualview_t  b,
vector_dualview_t  x 
) const
pure virtual
template<typename Device>
Kokkos::View<index_type**, device> Collisions::GridMatrix< Device >::device_index_map_LU ( ) const
inline

Here is the caller graph for this function:

template<typename Device>
virtual const_values_array_t Collisions::GridMatrix< Device >::get_const_values ( ) const
pure virtual
template<typename Device>
index_type Collisions::GridMatrix< Device >::get_num_nonzeros ( ) const
inline
template<typename Device>
index_type Collisions::GridMatrix< Device >::get_num_rows ( ) const
inline
template<typename Device>
virtual values_array_t Collisions::GridMatrix< Device >::get_values ( )
pure virtual

Implemented in Collisions::CSCMatrix< Device >.

Here is the caller graph for this function:

template<typename Device>
Kokkos::View<index_type**, device>::HostMirror Collisions::GridMatrix< Device >::host_index_map_LU ( )
inline
template<typename Device>
virtual void Collisions::GridMatrix< Device >::subtract_from_identity ( )
pure virtual

Member Data Documentation

template<typename Device>
const size_type Collisions::GridMatrix< Device >::batch_size_
protected
template<typename Device>
Kokkos::DualView<index_type**,device> Collisions::GridMatrix< Device >::index_map_
protected
template<typename Device>
index_type Collisions::GridMatrix< Device >::nnz_
protected
template<typename Device>
const index_type Collisions::GridMatrix< Device >::num_nodes_
protected
template<typename Device>
index_type Collisions::GridMatrix< Device >::num_rows_
protected
template<typename Device>
const index_type Collisions::GridMatrix< Device >::num_species_
protected

Location of central cell in each row of the matrix Turns out this is only needed on the host.


The documentation for this class was generated from the following file: