XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Functions
read_diffusion_coeffs.hpp File Reference
#include <string>
#include <stdexcept>
#include <vector>
#include "space_settings.hpp"
#include "xgc_io.hpp"
#include "domain_decomposition.hpp"
Include dependency graph for read_diffusion_coeffs.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DiffusionCoeffData
 

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: