XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
distribute_f0g.hpp File Reference
#include "globals.hpp"
#include "sml.hpp"
#include "magnetic_field.hpp"
#include "grid.hpp"
#include "particles.hpp"
#include "species.hpp"
#include "domain_decomposition.hpp"
Include dependency graph for distribute_f0g.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void all_species_distribute_f0g (FortranPtr spall_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, std::vector< Species< DeviceType >> &all_species, TmpSpecies< DeviceType > &tmp_species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp)
 
void distribute_f0g (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const TmpSpecies< DeviceType > &tmp_species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, int isp_non_ad)
 

Function Documentation

void all_species_distribute_f0g ( FortranPtr  spall_fptr,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
std::vector< Species< DeviceType >> &  all_species,
TmpSpecies< DeviceType > &  tmp_species,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp 
)

Loops over all non-adiabatic species and adjusts particle weight to distribute f0g distribution function to particles

Parameters
[in,out]spall_fptris the array of Fortran species objects
[in]smlcontains simulation control parameters
[in]gridis the spatial grid
[in]magnetic_fieldis the magnetic field
[in]all_speciesis the vector of species objects
[in,out]tmp_speciescontains the particle data
[in]vgridcontains the velocity grid dimensions
[in]pol_decompcontains poloidal decomposition info
Returns
void

Here is the call graph for this function:

Here is the caller graph for this function:

void distribute_f0g ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const TmpSpecies< DeviceType > &  tmp_species,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
int  isp_non_ad 
)

Copies f0 data to device, then adjusts particle weight to distribute f0g distribution function to particles

Parameters
[in]smlcontains simulation control parameters
[in]gridis the spatial grid
[in]magnetic_fieldis the magnetic field
[in]speciescontains species parameters
[in,out]tmp_speciescontains the particle data
[in]vgridcontains the velocity grid dimensions
[in]pol_decompcontains poloidal decomposition info
[in]isp_non_adis a separate index tracking non-adiabatic species since if electrons are adiabatic, the Fortran arrays will start at 1 instead of 0 and the pointers need to account for that
Returns
void

Here is the call graph for this function:

Here is the caller graph for this function: