XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
CollisionGrid< Device > Class Template Reference

#include <cpp_col_grid.hpp>

Public Member Functions

 CollisionGrid (const VelocityGrid &vgrid, int nspecies, double dt, int f_source_period, bool sml_symmetric_f, int nnode, int first_node, double *node_cost_ptr, FortranPtr grid_fptr)
 
double lambda_gamma_pair (const CollisionSpeciesScalars &sp_a, const CollisionSpeciesScalars &sp_b) const
 
void core_init (int spi, int mesh_ind, const CollisionSpecies< Device > &col_spall) const
 
KOKKOS_INLINE_FUNCTION double get_maxw_fac (double mesh_dr, double mesh_r, double numeric_vth2) const
 
void core_delta_init (int mb_n_nodes, int spi, int spj, CollisionSpecies< Device > &col_spall) const
 
KOKKOS_INLINE_FUNCTION void LU_matrix_ftn (int mesh_ind, int spi, int spj, int cell_i, int cell_j, const CollisionSpecies< Device > &col_spall, int mprl_col, int mat_pos, double coeff1, double coeff2, const TmpColData< Device > &tcd, const Kokkos::View< int **, Device > &index_map_LU_d) const
 
void LU_matrix (int mb_n_nodes, int spi, int spj, CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd, const Kokkos::View< int **, Device > &index_map_LU_d) const
 
void convergence_eval (int isp, int mesh_ind, const CollisionSpecies< Device > &cs, double &col_dw, double &col_dp, double &col_dn_n) const
 
void picard_step (int iter_inter, const Kokkos::DualView< double ***, Kokkos::LayoutRight, Device > &LU_values, const Kokkos::View< double ***, HostType > &dist_col, int spi, int mesh_ind, const Kokkos::View< double ****, Kokkos::LayoutRight, HostType > &dist_iter) const
 
void E_and_D (int mb_n_nodes, int spi, int spj, CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd) const
 
KOKKOS_INLINE_FUNCTION void E_and_D_s (int idx, int nvrm1, int nvzm1, double inv_mass, const TmpColData< Device > &tcd, int spi) const
 
void angle_avg (int mb_n_nodes, int spi, int spj, CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd) const
 
KOKKOS_INLINE_FUNCTION void angle_avg_s (int idx, int nvrm1, int nvzm1, const CollisionSpecies< Device > &col_spall, const TmpColData< Device > &tcd, int spi) const
 
KOKKOS_INLINE_FUNCTION void E_and_D_ab (int idx, int nvrm1, int nvzm1, const CollisionSpecies< Device > &col_spall, const TmpColData< Device > &tcd, int spi, int spj_mod) const
 
KOKKOS_INLINE_FUNCTION void angle_avg_ab (int idx, int nvrm1, int nvzm1, const CollisionSpecies< Device > &col_spall, const TmpColData< Device > &tcd, int spi, int spj_mod) const
 
void f_df (int mb_n_nodes, CollisionSpecies< Device > &col_spall, int spi, int spj, TmpColData< Device > &tcd) const
 
std::vector< bool > core (CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd, int mb_n_nodes) const
 
void collision (std::vector< Species< DeviceType >> &all_species, const DomainDecomposition< DeviceType > &pol_decomp) const
 

Public Attributes

int col_f_nvr
 
int col_f_nvz
 
int col_f_nvrm1
 
int col_f_nvzm1
 
int col_f_nvrm1_nvzm1
 
double col_f_vp_max
 
double col_f_smu_max
 
double col_f_dvp
 
double col_f_dsmu
 
int col_f_ntotal_v
 
double col_f_dt
 
Kokkos::DualView< int **, Device > index_map_LU
 
Kokkos::View< int *, HostTypeLU_cvalues
 
Kokkos::View< int *, HostTypeLU_rowindx
 
Kokkos::View< int *, HostTypeLU_colptr
 
int LU_n
 
int LU_nnz
 
int LU_nrhs
 
int LU_ldb
 
int col_f_sp_num
 
double * node_cost
 
Kokkos::View< bool
*, Kokkos::HostSpace > 
in_range
 
bool symmetric_f
 

Constructor & Destructor Documentation

template<class Device>
CollisionGrid< Device >::CollisionGrid ( const VelocityGrid vgrid,
int  nspecies,
double  dt,
int  f_source_period,
bool  sml_symmetric_f,
int  nnode,
int  first_node,
double *  node_cost_ptr,
FortranPtr  grid_fptr 
)
inline

Here is the call graph for this function:

Member Function Documentation

template<class Device >
void CollisionGrid< Device >::angle_avg ( int  mb_n_nodes,
int  spi,
int  spj,
CollisionSpecies< Device > &  col_spall,
TmpColData< Device > &  tcd 
) const
template<class Device >
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::angle_avg_ab ( int  idx,
int  nvrm1,
int  nvzm1,
const CollisionSpecies< Device > &  col_spall,
const TmpColData< Device > &  tcd,
int  spi,
int  spj_mod 
) const

Here is the call graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::angle_avg_s ( int  idx,
int  nvrm1,
int  nvzm1,
const CollisionSpecies< Device > &  col_spall,
const TmpColData< Device > &  tcd,
int  spi 
) const

Here is the call graph for this function:

template<class Device >
void CollisionGrid< Device >::collision ( std::vector< Species< DeviceType >> &  all_species,
const DomainDecomposition< DeviceType > &  pol_decomp 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
void CollisionGrid< Device >::convergence_eval ( int  isp,
int  mesh_ind,
const CollisionSpecies< Device > &  cs,
double &  col_dw,
double &  col_dp,
double &  col_dn_n 
) const
inline
template<class Device >
std::vector< bool > CollisionGrid< Device >::core ( CollisionSpecies< Device > &  col_spall,
TmpColData< Device > &  tcd,
int  mb_n_nodes 
) const
template<class Device >
void CollisionGrid< Device >::core_delta_init ( int  mb_n_nodes,
int  spi,
int  spj,
CollisionSpecies< Device > &  col_spall 
) const
template<class Device >
void CollisionGrid< Device >::core_init ( int  spi,
int  mesh_ind,
const CollisionSpecies< Device > &  col_spall 
) const
template<class Device >
void CollisionGrid< Device >::E_and_D ( int  mb_n_nodes,
int  spi,
int  spj,
CollisionSpecies< Device > &  col_spall,
TmpColData< Device > &  tcd 
) const
template<class Device >
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::E_and_D_ab ( int  idx,
int  nvrm1,
int  nvzm1,
const CollisionSpecies< Device > &  col_spall,
const TmpColData< Device > &  tcd,
int  spi,
int  spj_mod 
) const
template<class Device >
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::E_and_D_s ( int  idx,
int  nvrm1,
int  nvzm1,
double  inv_mass,
const TmpColData< Device > &  tcd,
int  spi 
) const
template<class Device >
void CollisionGrid< Device >::f_df ( int  mb_n_nodes,
CollisionSpecies< Device > &  col_spall,
int  spi,
int  spj,
TmpColData< Device > &  tcd 
) const
template<class Device >
KOKKOS_INLINE_FUNCTION double CollisionGrid< Device >::get_maxw_fac ( double  mesh_dr,
double  mesh_r,
double  numeric_vth2 
) const
template<class Device >
double CollisionGrid< Device >::lambda_gamma_pair ( const CollisionSpeciesScalars sp_a,
const CollisionSpeciesScalars sp_b 
) const

Here is the call graph for this function:

template<class Device >
void CollisionGrid< Device >::LU_matrix ( int  mb_n_nodes,
int  spi,
int  spj,
CollisionSpecies< Device > &  col_spall,
TmpColData< Device > &  tcd,
const Kokkos::View< int **, Device > &  index_map_LU_d 
) const
template<class Device >
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::LU_matrix_ftn ( int  mesh_ind,
int  spi,
int  spj,
int  cell_i,
int  cell_j,
const CollisionSpecies< Device > &  col_spall,
int  mprl_col,
int  mat_pos,
double  coeff1,
double  coeff2,
const TmpColData< Device > &  tcd,
const Kokkos::View< int **, Device > &  index_map_LU_d 
) const
template<class Device >
void CollisionGrid< Device >::picard_step ( int  iter_inter,
const Kokkos::DualView< double ***, Kokkos::LayoutRight, Device > &  LU_values,
const Kokkos::View< double ***, HostType > &  dist_col,
int  spi,
int  mesh_ind,
const Kokkos::View< double ****, Kokkos::LayoutRight, HostType > &  dist_iter 
) const

Here is the call graph for this function:

Member Data Documentation

template<class Device>
double CollisionGrid< Device >::col_f_dsmu
template<class Device>
double CollisionGrid< Device >::col_f_dt
template<class Device>
double CollisionGrid< Device >::col_f_dvp
template<class Device>
int CollisionGrid< Device >::col_f_ntotal_v
template<class Device>
int CollisionGrid< Device >::col_f_nvr
template<class Device>
int CollisionGrid< Device >::col_f_nvrm1
template<class Device>
int CollisionGrid< Device >::col_f_nvrm1_nvzm1
template<class Device>
int CollisionGrid< Device >::col_f_nvz
template<class Device>
int CollisionGrid< Device >::col_f_nvzm1
template<class Device>
double CollisionGrid< Device >::col_f_smu_max
template<class Device>
int CollisionGrid< Device >::col_f_sp_num
template<class Device>
double CollisionGrid< Device >::col_f_vp_max
template<class Device>
Kokkos::View<bool*, Kokkos::HostSpace> CollisionGrid< Device >::in_range
template<class Device>
Kokkos::DualView<int**,Device> CollisionGrid< Device >::index_map_LU
template<class Device>
Kokkos::View<int*,HostType> CollisionGrid< Device >::LU_colptr
template<class Device>
Kokkos::View<int*,HostType> CollisionGrid< Device >::LU_cvalues
template<class Device>
int CollisionGrid< Device >::LU_ldb
template<class Device>
int CollisionGrid< Device >::LU_n
template<class Device>
int CollisionGrid< Device >::LU_nnz
template<class Device>
int CollisionGrid< Device >::LU_nrhs
template<class Device>
Kokkos::View<int*,HostType> CollisionGrid< Device >::LU_rowindx
template<class Device>
double* CollisionGrid< Device >::node_cost
template<class Device>
bool CollisionGrid< Device >::symmetric_f

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