XGCa
Functions
collisions.cpp File Reference
#include <stdio.h>
#include <Kokkos_Core.hpp>
#include <Kokkos_DualView.hpp>
#include "timer_macro.hpp"
#include "space_settings.hpp"
#include "globals.hpp"
#include "species.hpp"
#include "domain_decomposition.hpp"
#include "distribution.hpp"
#include "col_grid.hpp"
#include "velocity_grid.hpp"
#include "view_arithmetic.hpp"
#include "async_reassignment.hpp"
#include "collisions.hpp"
Include dependency graph for collisions.cpp:

Functions

void set_f0_node_cost_as_updated ()
 
void count_converged (const View< int *, CLayout, HostType > &converged_all, int &converged, int &unconverged)
 
void reduce_converged_all (const DomainDecomposition< DeviceType > &pol_decomp, View< int *, CLayout, HostType > &converged_all, bool axisym_parallelization)
 
void reduce_col_timing_all (const DomainDecomposition< DeviceType > &pol_decomp, const View< float *, CLayout, HostType > &col_timing_all, bool axisym_parallelization)
 
void report_convergence (const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const View< int *, CLayout, HostType > &converged_all, bool axisym_parallelization)
 
void collisions_diagnostic (const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const XGC_IO_Stream &stream, const View< int *, CLayout, HostType > &converged_all, int max_n_subcycles, const View< int *, CLayout, HostType > n_subcycles_all)
 
void reduce_collisions_result (const DomainDecomposition< DeviceType > &pol_decomp, VGridDistribution< HostType > &df0g_tmp, bool axisym_parallelization)
 
void mpi_split_assignments (const DomainDecomposition< DeviceType > &pol_decomp, bool symmetric_f, VertexList &assigned)
 
void unassign_completed (const View< int *, CLayout, HostType > n_subcycles, const View< int *, CLayout, HostType > &converged, int i_subcycle, VertexList &assigned)
 
void adjust_subcycling (const CollisionGrid< DeviceType > &col_grid, const View< int *, CLayout, HostType > &converged_all)
 
void subcycle_collisions (const CollisionGrid< DeviceType > &col_grid, const CollisionSpecies< DeviceType > &col_spall, double dt, const View< int *, CLayout, HostType > &n_subcycles_local, VertexList &assigned, const View< int *, CLayout, HostType > &converged_local, const VGridDistribution< HostType > &df0g_tmp, const View< double *, CLayout, HostType > &node_cost)
 
void collisions (const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const VelocityGrid &vgrid, Plasma &plasma, const Moments &moments, const CollisionGrid< DeviceType > &col_grid, double dt, bool symmetric_f, const VGridDistribution< DeviceType > &f0_f, const VGridDistribution< DeviceType > &f0_df0g_cumul, const View< double *, CLayout, HostType > &node_cost, int gstep, DiagF0DF &diag_f0_df)
 

Function Documentation

◆ adjust_subcycling()

void adjust_subcycling ( const CollisionGrid< DeviceType > &  col_grid,
const View< int *, CLayout, HostType > &  converged_all 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ collisions()

void collisions ( const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const VelocityGrid vgrid,
Plasma plasma,
const Moments moments,
const CollisionGrid< DeviceType > &  col_grid,
double  dt,
bool  symmetric_f,
const VGridDistribution< DeviceType > &  f0_f,
const VGridDistribution< DeviceType > &  f0_df0g_cumul,
const View< double *, CLayout, HostType > &  node_cost,
int  gstep,
DiagF0DF diag_f0_df 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ collisions_diagnostic()

void collisions_diagnostic ( const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const XGC_IO_Stream stream,
const View< int *, CLayout, HostType > &  converged_all,
int  max_n_subcycles,
const View< int *, CLayout, HostType n_subcycles_all 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ count_converged()

void count_converged ( const View< int *, CLayout, HostType > &  converged_all,
int &  converged,
int &  unconverged 
)
Here is the caller graph for this function:

◆ mpi_split_assignments()

void mpi_split_assignments ( const DomainDecomposition< DeviceType > &  pol_decomp,
bool  symmetric_f,
VertexList assigned 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduce_col_timing_all()

void reduce_col_timing_all ( const DomainDecomposition< DeviceType > &  pol_decomp,
const View< float *, CLayout, HostType > &  col_timing_all,
bool  axisym_parallelization 
)
Here is the caller graph for this function:

◆ reduce_collisions_result()

void reduce_collisions_result ( const DomainDecomposition< DeviceType > &  pol_decomp,
VGridDistribution< HostType > &  df0g_tmp,
bool  axisym_parallelization 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduce_converged_all()

void reduce_converged_all ( const DomainDecomposition< DeviceType > &  pol_decomp,
View< int *, CLayout, HostType > &  converged_all,
bool  axisym_parallelization 
)
Here is the caller graph for this function:

◆ report_convergence()

void report_convergence ( const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const View< int *, CLayout, HostType > &  converged_all,
bool  axisym_parallelization 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_f0_node_cost_as_updated()

void set_f0_node_cost_as_updated ( )
Here is the caller graph for this function:

◆ subcycle_collisions()

void subcycle_collisions ( const CollisionGrid< DeviceType > &  col_grid,
const CollisionSpecies< DeviceType > &  col_spall,
double  dt,
const View< int *, CLayout, HostType > &  n_subcycles_local,
VertexList assigned,
const View< int *, CLayout, HostType > &  converged_local,
const VGridDistribution< HostType > &  df0g_tmp,
const View< double *, CLayout, HostType > &  node_cost 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ unassign_completed()

void unassign_completed ( const View< int *, CLayout, HostType n_subcycles,
const View< int *, CLayout, HostType > &  converged,
int  i_subcycle,
VertexList assigned 
)
Here is the call graph for this function:
Here is the caller graph for this function: