|
XGCa
|
#include <col_grid.hpp>

Public Member Functions | |
| CollisionGrid () | |
| CollisionGrid (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, bool exclude_private_region, bool overwrite_existing_files) | |
| bool | timing_is_available () 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, const CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd, const std::unique_ptr< Collisions::GridMatrix< Device >> &matrix, int mb_n_nodes, Kokkos::View< Convergence::Status *, HostType > &convergence_status) 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< Convergence::Status *, HostType > | core (CollisionVelocityGrids< Device > &col_vgrids, const CollisionSpecies< Device > &col_spall, TmpColData< Device > &tcd, const std::unique_ptr< Collisions::GridMatrix< Device >> &solve_matrix, int mb_n_nodes) const |
| void | collision (const CollisionSpecies< Device > &col_spall, const VertexList &assigned, const View< int *, CLayout, HostType > &n_subcycles_local, double dt, const VGridDistribution< HostType > &df_out, const View< int *, CLayout, HostType > &converged_local, const View< double *, CLayout, HostType > &node_cost) const |
Static Public Member Functions | |
| static int | get_default_batch_size () |
| static MemoryPrediction | estimate_memory_usage (NLReader::NamelistReader &nlr) |
| 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 |
| Collisions::LinAlgBackend | labackend |
| double | ginkgo_residual_reduction |
| int | ginkgo_max_iterations |
| int | start_step |
| starting step for collisions; should be part of step trigger More... | |
| int | max_n_subcycles |
| Maximum number of subcycles that may be attempted. More... | |
| View< int *, CLayout, HostType > | n_subcycles |
| Number of subcycles for each vertex. More... | |
| View< float *, CLayout, HostType > | timing_all |
| View< bool[1], CLayout, HostType > | timing_available |
| VertexList | vertices |
| bool | async_reassign |
| bool | diag_on |
| std::shared_ptr< XGC_IO_Stream > | io_stream |
|
inline |
|
inline |
Numerical options
< Switches file-output of convergence status of the collision operator on/off @parent: col_param:col_mode=4

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

|
static |

|
static |

| void CollisionGrid< Device >::collision | ( | const CollisionSpecies< Device > & | col_spall, |
| const VertexList & | assigned, | ||
| const View< int *, CLayout, HostType > & | n_subcycles_local, | ||
| double | dt, | ||
| const VGridDistribution< HostType > & | df_out, | ||
| const View< int *, CLayout, HostType > & | converged_local, | ||
| const View< double *, CLayout, HostType > & | node_cost | ||
| ) | const |


| Kokkos::View< Convergence::Status *, HostType > CollisionGrid< Device >::core | ( | CollisionVelocityGrids< Device > & | col_vgrids, |
| const CollisionSpecies< Device > & | col_spall, | ||
| TmpColData< Device > & | tcd, | ||
| const std::unique_ptr< Collisions::GridMatrix< Device >> & | solve_matrix, | ||
| int | mb_n_nodes | ||
| ) | const |

| 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 |

| void CollisionGrid< Device >::E_and_D | ( | int | mb_n_nodes, |
| int | gri, | ||
| int | grj, | ||
| const CollisionVelocityGrids< Device > & | col_vgrids, | ||
| TmpColData< Device > & | tcd | ||
| ) | const |

|
static |

|
static |
|
inlinestatic |


| 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 |

|
inlinestatic |

|
static |
| 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 |
| 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 |

|
static |

| void CollisionGrid< Device >::picard_loop | ( | int | vpic_inner_iter_max, |
| const CollisionVelocityGrids< Device > & | col_vgrids, | ||
| const CollisionSpecies< Device > & | col_spall, | ||
| TmpColData< Device > & | tcd, | ||
| const std::unique_ptr< Collisions::GridMatrix< Device >> & | matrix, | ||
| int | mb_n_nodes, | ||
| Kokkos::View< Convergence::Status *, HostType > & | convergence_status | ||
| ) | const |

|
inline |

| bool CollisionGrid< Device >::async_reassign |
| int CollisionGrid< Device >::batch_size |
| bool CollisionGrid< Device >::diag_on |
| int CollisionGrid< Device >::ginkgo_max_iterations |
| double CollisionGrid< Device >::ginkgo_residual_reduction |
| std::shared_ptr<XGC_IO_Stream> CollisionGrid< Device >::io_stream |
| Collisions::LinAlgBackend CollisionGrid< Device >::labackend |
| int CollisionGrid< Device >::max_n_subcycles |
Maximum number of subcycles that may be attempted.
| View<int*,CLayout,HostType> CollisionGrid< Device >::n_subcycles |
Number of subcycles for each vertex.
| int CollisionGrid< Device >::start_step |
starting step for collisions; should be part of step trigger
| View<float*,CLayout,HostType> CollisionGrid< Device >::timing_all |
| View<bool[1],CLayout,HostType> CollisionGrid< Device >::timing_available |
| VertexList CollisionGrid< Device >::vertices |