Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
chemistry::SparseLUPattern< MemorySpace > Struct Template Reference

The pattern of a reactor Jacobian in (Y_1 .. Y_Ns, T) without its rank-one part, an elimination order, the fill of its LU factors and the operations of a factorization without pivoting, on the device. More...

#include <sparse_lu.h>

Public Types

template<typename T >
using View1 = Kokkos::View< T *, MemorySpace >
 
using Pairs = Kokkos::View< uint32_t *[2], Kokkos::LayoutRight, MemorySpace >
 

Public Member Functions

KOKKOS_INLINE_FUNCTION uint32_t jacobian_size () const
 Doubles of a cell's compact Jacobian.
 
KOKKOS_INLINE_FUNCTION uint32_t work_size () const
 Doubles of a cell's work memory: values, z = A_s^-1 u, u and one vector.
 

Public Attributes

uint32_t n = 0
 
uint32_t nnz = 0
 
View1< uint32_t > perm
 
View1< uint32_t > source
 
View1< uint32_t > diagonal
 
View1< uint32_t > pivot_lower_offset
 
View1< uint32_t > pivot_lower_entry
 
View1< uint32_t > pivot_update_offset
 
Kokkos::View< uint32_t *[3], Kokkos::LayoutRight, MemorySpace > pivot_update
 
View1< uint32_t > column_lower_offset
 
View1< uint32_t > column_upper_offset
 
Pairs column_lower_entry
 
Pairs column_upper_entry
 
uint32_t n_stages = 0
 
View1< uint32_t > scale_offset
 
Pairs scale_entry
 
View1< uint32_t > target_offset
 
View1< uint32_t > target
 
View1< uint32_t > target_update
 
Pairs update
 
uint32_t chain = 0
 
uint32_t chain_offset = 0
 
View1< uint32_t > chain_upper_offset
 
Pairs chain_upper_entry
 
uint32_t n_lower_levels = 0
 
uint32_t n_upper_levels = 0
 
View1< uint32_t > lower_level_offset
 
View1< uint32_t > lower_level_row
 
View1< uint32_t > upper_level_offset
 
View1< uint32_t > upper_level_row
 
View1< uint32_t > lower_offset
 
View1< uint32_t > upper_offset
 
Pairs lower_entry
 
Pairs upper_entry
 
View1< double > v
 
uint32_t n_entries = 0
 
View1< uint32_t > entry_row
 
View1< uint32_t > entry_column
 
View1< uint32_t > column_offset
 
View1< uint32_t > column_entry
 
View1< int32_t > jacobian_source
 

Detailed Description

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
struct chemistry::SparseLUPattern< MemorySpace >

The pattern of a reactor Jacobian in (Y_1 .. Y_Ns, T) without its rank-one part, an elimination order, the fill of its LU factors and the operations of a factorization without pivoting, on the device.

The Jacobian splits as J = J_s + u v^T: v_j = 1 / W_j for the species (0 for T), and u_k = W_k sum_i nu_ki dq_i/d[M] (eff_i,default) + ... the part of d omega_k / d C_j that is the same for every species j (third-body concentrations with their default efficiency, and the pressure of PLOG and Chebyshev reactions). J_s keeps the mass-action terms, the extra efficiencies and the T row and column. The species are ordered by minimum degree, T last; the static pattern of L + U of I / (gamma h) - J_s is factored without pivoting (a vanishing pivot rejects the sub-step).

Member Typedef Documentation

◆ Pairs

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
using chemistry::SparseLUPattern< MemorySpace >::Pairs = Kokkos::View<uint32_t *[2], Kokkos::LayoutRight, MemorySpace>

◆ View1

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
template<typename T >
using chemistry::SparseLUPattern< MemorySpace >::View1 = Kokkos::View<T *, MemorySpace>

Member Function Documentation

◆ jacobian_size()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
KOKKOS_INLINE_FUNCTION uint32_t chemistry::SparseLUPattern< MemorySpace >::jacobian_size ( ) const
inline

Doubles of a cell's compact Jacobian.

◆ work_size()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
KOKKOS_INLINE_FUNCTION uint32_t chemistry::SparseLUPattern< MemorySpace >::work_size ( ) const
inline

Doubles of a cell's work memory: values, z = A_s^-1 u, u and one vector.

Member Data Documentation

◆ chain

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::chain = 0

◆ chain_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::chain_offset = 0

◆ chain_upper_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::chain_upper_entry

◆ chain_upper_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::chain_upper_offset

◆ column_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::column_entry

◆ column_lower_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::column_lower_entry

◆ column_lower_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::column_lower_offset

◆ column_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::column_offset

◆ column_upper_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::column_upper_entry

◆ column_upper_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::column_upper_offset

◆ diagonal

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::diagonal

◆ entry_column

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::entry_column

◆ entry_row

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::entry_row

◆ jacobian_source

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<int32_t> chemistry::SparseLUPattern< MemorySpace >::jacobian_source

◆ lower_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::lower_entry

◆ lower_level_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::lower_level_offset

◆ lower_level_row

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::lower_level_row

◆ lower_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::lower_offset

◆ n

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::n = 0

◆ n_entries

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::n_entries = 0

◆ n_lower_levels

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::n_lower_levels = 0

◆ n_stages

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::n_stages = 0

◆ n_upper_levels

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::n_upper_levels = 0

◆ nnz

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::SparseLUPattern< MemorySpace >::nnz = 0

◆ perm

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::perm

◆ pivot_lower_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::pivot_lower_entry

◆ pivot_lower_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::pivot_lower_offset

◆ pivot_update

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<uint32_t *[3], Kokkos::LayoutRight, MemorySpace> chemistry::SparseLUPattern< MemorySpace >::pivot_update

◆ pivot_update_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::pivot_update_offset

◆ scale_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::scale_entry

◆ scale_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::scale_offset

◆ source

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::source

◆ target

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::target

◆ target_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::target_offset

◆ target_update

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::target_update

◆ update

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::update

◆ upper_entry

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Pairs chemistry::SparseLUPattern< MemorySpace >::upper_entry

◆ upper_level_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::upper_level_offset

◆ upper_level_row

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::upper_level_row

◆ upper_offset

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<uint32_t> chemistry::SparseLUPattern< MemorySpace >::upper_offset

◆ v

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
View1<double> chemistry::SparseLUPattern< MemorySpace >::v

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