XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
read_diffusion_coeffs.cpp File Reference
#include "read_diffusion_coeffs.hpp"
#include "my_subview.hpp"
#include "checkpoint.hpp"
Include dependency graph for read_diffusion_coeffs.cpp:

Functions

DiffusionCoeffData ReadDiffCoeffData (const DomainDecomposition< DeviceType > &pol_decomp, const int n_species, XGC_IO_Stream &stream)
 Reads diffusion coefficients for multiple particle species from an ADIOS2 BP file. More...
 

Function Documentation

DiffusionCoeffData ReadDiffCoeffData ( const DomainDecomposition< DeviceType > &  pol_decomp,
const int  n_species,
XGC_IO_Stream stream 
)

Reads diffusion coefficients for multiple particle species from an ADIOS2 BP file.

This function reads a common 1D x variable and four types of y variables, each having an additional species dimension. The y variable names are constructed from a base name and a species name using the convention: "<base>_<species>".

The base names are:

  • "ptl_diffusivity"
  • "ptl_pinch_velocity"
  • "momentum_diffusivity"
  • "heat_conductivity"

The species names are (in order):

  • "elec", "ion", "imp_1", "imp_2", "imp_3", "imp_4", "imp_5"

The y data is stored in a 3D Kokkos::View with dimensions [4, n_species, N], where N is the length of the x variable obtained from the ADIOS2 file.

Parameters
ioNameName of the ADIOS2 I/O object.
n_speciesNumber of particle species (must be between 1 and 7).
streamXGC_IO_Stream for reading the diffusion coefficients.
Returns
AdiosSpeciesData containing the x variable and the 3D y variable.

Here is the call graph for this function:

Here is the caller graph for this function: