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

#include <col_grid.hpp>

Public Member Functions

 CollisionGrid ()
 
 CollisionGrid (NLReader::NamelistReader &nlr)
 
void update_params (bool sml_symmetric_f, int nnode, int first_node, double *node_cost_ptr)
 
void core_init (int isp, int mesh_ind, const CollisionVelocityGrids< Device > &col_vgrids, const CollisionSpecies< Device > &col_spall) const
 
View< double *, Device > get_numeric_v_thermal_equil (int mb_n_nodes, int spi, int grj, const CollisionVelocityGrids< Device > &col_vgrids, const CollisionSpecies< Device > &col_spall) const
 
void core_delta_init (int mb_n_nodes, int gri, int grj, int spi, CollisionVelocityGrids< Device > &col_vgrids, const CollisionSpecies< Device > &col_spall) const
 
void LU_matrix (int mb_n_nodes, int gri, int grj, int spi, const CollisionVelocityGrids< Device > &col_vgrids, const TmpColData< Device > &tcd, Collisions::GridMatrix< Device > *const mtx) const
 
void picard_loop (int vpic_inner_iter_max, const CollisionVelocityGrids< Device > &col_vgrids, CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd, int mb_n_nodes, Kokkos::View< int *, HostType > &convergence_status, Kokkos::View< int *, HostType > &n_iterations_performed, Kokkos::View< Convergence::Moments *, HostType > &moments) const
 
void E_and_D (int mb_n_nodes, int gri, int grj, const CollisionVelocityGrids< Device > &col_vgrids, TmpColData< Device > &tcd) const
 
void angle_avg (int mb_n_nodes, int gri, int grj, CollisionVelocityGrids< Device > &col_vgrids, TmpColData< Device > &tcd) const
 
void f_df (int mb_n_nodes, const CollisionVelocityGrids< Device > &col_vgrids, const CollisionSpecies< Device > &col_spall, int spi, int grj, TmpColData< Device > &tcd) const
 
Kokkos::View< int *, HostTypecore (CollisionVelocityGrids< Device > &col_vgrids, 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 VGridDistribution< HostType > &f0_f, Kokkos::View< double ****, Kokkos::LayoutRight, Kokkos::HostSpace > &df0g_tmp, double dt) const
 

Static Public Member Functions

static KOKKOS_INLINE_FUNCTION
double 
get_maxw_fac (double mesh_dr, double mesh_r, double numeric_vth2)
 
static KOKKOS_INLINE_FUNCTION void LU_matrix_ftn (int mesh_ind, int gri, int grj, int spi, int cell_i, int cell_j, const CollisionVelocityGrids< Device > &col_vgrids, int mprl_col, int mat_pos, double coeff1, double coeff2, const TmpColData< Device > &tcd, const Kokkos::View< int **, Device > &index_map_LU_d, typename Collisions::GridMatrix< Device >::values_array_t LU_values)
 
static KOKKOS_INLINE_FUNCTION void E_and_D_s (int idx, int mb_n_nodes, int nvrm1, int nvzm1, const TmpColData< Device > &tcd, int gri)
 
static KOKKOS_INLINE_FUNCTION void angle_avg_s (int idx, int mb_n_nodes, int nvrm1, int nvzm1, const CollisionVelocityGrids< Device > &col_vgrids, const TmpColData< Device > &tcd, int gri)
 
static KOKKOS_INLINE_FUNCTION void E_and_D_ab (int idx, int mb_n_nodes, int nvrm1, int nvzm1, const CollisionVelocityGrids< Device > &col_vgrids, const TmpColData< Device > &tcd, int gri, int grj)
 
static KOKKOS_INLINE_FUNCTION void angle_avg_ab (int idx, int mb_n_nodes, int nvrm1, int nvzm1, const CollisionVelocityGrids< Device > &col_vgrids, const TmpColData< Device > &tcd, int gri, int grj)
 

Public Attributes

int batch_size
 
double * node_cost
 
Kokkos::View< bool
*, Kokkos::HostSpace > 
in_range
 
bool symmetric_f
 
Collisions::LinAlgBackend labackend
 

Constructor & Destructor Documentation

template<class Device>
CollisionGrid< Device >::CollisionGrid ( )
inline
template<class Device>
CollisionGrid< Device >::CollisionGrid ( NLReader::NamelistReader nlr)
inline

Numerical options

Member Function Documentation

template<class Device>
void CollisionGrid< Device >::angle_avg ( int  mb_n_nodes,
int  gri,
int  grj,
CollisionVelocityGrids< Device > &  col_vgrids,
TmpColData< Device > &  tcd 
) const

Here is the call graph for this function:

template<class Device>
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::angle_avg_ab ( int  idx,
int  mb_n_nodes,
int  nvrm1,
int  nvzm1,
const CollisionVelocityGrids< Device > &  col_vgrids,
const TmpColData< Device > &  tcd,
int  gri,
int  grj 
)
static

Here is the call graph for this function:

template<class Device>
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::angle_avg_s ( int  idx,
int  mb_n_nodes,
int  nvrm1,
int  nvzm1,
const CollisionVelocityGrids< Device > &  col_vgrids,
const TmpColData< Device > &  tcd,
int  gri 
)
static

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 VGridDistribution< HostType > &  f0_f,
Kokkos::View< double ****, Kokkos::LayoutRight, Kokkos::HostSpace > &  df0g_tmp,
double  dt 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device>
Kokkos::View< int *, HostType > CollisionGrid< Device >::core ( CollisionVelocityGrids< Device > &  col_vgrids,
CollisionSpecies< Device > &  col_spall,
TmpColData< Device > &  tcd,
int  mb_n_nodes 
) const

Here is the call graph for this function:

template<class Device>
void CollisionGrid< Device >::core_delta_init ( int  mb_n_nodes,
int  gri,
int  grj,
int  spi,
CollisionVelocityGrids< Device > &  col_vgrids,
const CollisionSpecies< Device > &  col_spall 
) const

Here is the call graph for this function:

template<class Device>
void CollisionGrid< Device >::core_init ( int  isp,
int  mesh_ind,
const CollisionVelocityGrids< Device > &  col_vgrids,
const CollisionSpecies< Device > &  col_spall 
) const
template<class Device>
void CollisionGrid< Device >::E_and_D ( int  mb_n_nodes,
int  gri,
int  grj,
const CollisionVelocityGrids< Device > &  col_vgrids,
TmpColData< Device > &  tcd 
) const

Here is the call graph for this function:

template<class Device>
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::E_and_D_ab ( int  idx,
int  mb_n_nodes,
int  nvrm1,
int  nvzm1,
const CollisionVelocityGrids< Device > &  col_vgrids,
const TmpColData< Device > &  tcd,
int  gri,
int  grj 
)
static
template<class Device>
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::E_and_D_s ( int  idx,
int  mb_n_nodes,
int  nvrm1,
int  nvzm1,
const TmpColData< Device > &  tcd,
int  gri 
)
static
template<class Device>
void CollisionGrid< Device >::f_df ( int  mb_n_nodes,
const CollisionVelocityGrids< Device > &  col_vgrids,
const CollisionSpecies< Device > &  col_spall,
int  spi,
int  grj,
TmpColData< Device > &  tcd 
) const

Here is the call graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION double CollisionGrid< Device >::get_maxw_fac ( double  mesh_dr,
double  mesh_r,
double  numeric_vth2 
)
static
template<class Device>
View< double *, Device > CollisionGrid< Device >::get_numeric_v_thermal_equil ( int  mb_n_nodes,
int  spi,
int  grj,
const CollisionVelocityGrids< Device > &  col_vgrids,
const CollisionSpecies< Device > &  col_spall 
) const
template<class Device>
void CollisionGrid< Device >::LU_matrix ( int  mb_n_nodes,
int  gri,
int  grj,
int  spi,
const CollisionVelocityGrids< Device > &  col_vgrids,
const TmpColData< Device > &  tcd,
Collisions::GridMatrix< Device > *const  mtx 
) const

Here is the call graph for this function:

template<class Device>
KOKKOS_INLINE_FUNCTION void CollisionGrid< Device >::LU_matrix_ftn ( int  mesh_ind,
int  gri,
int  grj,
int  spi,
int  cell_i,
int  cell_j,
const CollisionVelocityGrids< Device > &  col_vgrids,
int  mprl_col,
int  mat_pos,
double  coeff1,
double  coeff2,
const TmpColData< Device > &  tcd,
const Kokkos::View< int **, Device > &  index_map_LU_d,
typename Collisions::GridMatrix< Device >::values_array_t  LU_values 
)
static
template<class Device>
void CollisionGrid< Device >::picard_loop ( int  vpic_inner_iter_max,
const CollisionVelocityGrids< Device > &  col_vgrids,
CollisionSpecies< Device > &  col_spall,
TmpColData< Device > &  tcd,
int  mb_n_nodes,
Kokkos::View< int *, HostType > &  convergence_status,
Kokkos::View< int *, HostType > &  n_iterations_performed,
Kokkos::View< Convergence::Moments *, HostType > &  moments 
) const

Here is the call graph for this function:

template<class Device>
void CollisionGrid< Device >::update_params ( bool  sml_symmetric_f,
int  nnode,
int  first_node,
double *  node_cost_ptr 
)
inline

Here is the caller graph for this function:

Member Data Documentation

template<class Device>
int CollisionGrid< Device >::batch_size
template<class Device>
Kokkos::View<bool*, Kokkos::HostSpace> CollisionGrid< Device >::in_range
template<class Device>
Collisions::LinAlgBackend CollisionGrid< Device >::labackend
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: