XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Macros | Enumerations | Functions
tracer_diag.cpp File Reference
#include <sstream>
#include "timer_macro.hpp"
#include "field_aligned_local_fields.hpp"
#include "tracer_diag.hpp"
#include "particle_stream.hpp"
#include "adios2.hpp"
#include "plasma.hpp"
#include "checkpoint.hpp"
Include dependency graph for tracer_diag.cpp:

Namespaces

 TracerDiag
 

Macros

#define ADIOS2_DEFINE_VAR_ION(MACRO)
 
#define ADIOS2_DEFINE_VAR_ELECTRON(MACRO)
 

Enumerations

enum  TracerDiag::Ports {
  TracerDiag::TIME =0, TracerDiag::R, TracerDiag::Z, TracerDiag::PHI,
  TracerDiag::RHO, TracerDiag::EV, TracerDiag::EV_EPOT, TracerDiag::PITCH,
  TracerDiag::PSI, TracerDiag::PSI_C, TracerDiag::MU, TracerDiag::W1,
  TracerDiag::REALGID, TracerDiag::EXB_GRADPSI, TracerDiag::N_PORTS
}
 

Functions

void write_tracerdata (int n_ports, double *tracerdata)
 
void get_psi_b (double r, double z, double phi, double &psi, double &bmag)
 
void get_bvec (double r, double z, double phi, double &br, double &bz, double &bphi)
 
int get_diag_tracer_sp ()
 
long long int get_diag_tracer_gid ()
 
template<KinType KT>
void templated_tracer_diag (int ipc, long long int tracer_gid, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const ElectricField< DeviceType > &electric_field, const Simulation< DeviceType > &sml, const Species< DeviceType > &species, const DomainDecomposition< DeviceType > &pol_decomp, Smoothing &smoothing)
 
void tracer_diag (int ipc, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, const Simulation< DeviceType > &sml, Plasma &plasma, const DomainDecomposition< DeviceType > &pol_decomp, Smoothing &smoothing)
 

Macro Definition Documentation

#define ADIOS2_DEFINE_VAR_ELECTRON (   MACRO)
Value:
MACRO(var_e_id, int64_t, "e_gid", m_gid[true]) \
MACRO(var_e_dr, double, "e_psi", m_psi[true]) \
MACRO(var_e_dr_c, double, "e_psi_c", m_psi_c[true]) \
MACRO(var_e_dE, double, "e_E", m_E[true]) \
MACRO(var_e_R, double, "e_R", m_R[true]) \
MACRO(var_e_Z, double, "e_Z", m_Z[true]) \
MACRO(var_e_phi, double, "e_phi", m_phi[true]) \
MACRO(var_e_rho, double, "e_vpar", m_vpar[true]) \
MACRO(var_e_w0, double, "e_w0", m_w0[true]) \
MACRO(var_e_w1, double, "e_w1", m_w1[true]) \
MACRO(var_e_w2, double, "e_w2", m_w2[true])
#define ADIOS2_DEFINE_VAR_ION (   MACRO)
Value:
MACRO(var_i_id, int64_t, "i_gid", m_gid[false]) \
MACRO(var_i_dr, double, "i_psi", m_psi[false]) \
MACRO(var_i_dr_c, double, "i_psi_c", m_psi_c[false]) \
MACRO(var_i_dE, double, "i_E", m_E[false]) \
MACRO(var_i_R, double, "i_R", m_R[false]) \
MACRO(var_i_Z, double, "i_Z", m_Z[false]) \
MACRO(var_i_phi, double, "i_phi", m_phi[false]) \
MACRO(var_i_rho, double, "i_vpar", m_vpar[false]) \
MACRO(var_i_w0, double, "i_w0", m_w0[false]) \
MACRO(var_i_w1, double, "i_w1", m_w1[false]) \
MACRO(var_i_w2, double, "i_w2", m_w2[false])

Function Documentation

void get_bvec ( double  r,
double  z,
double  phi,
double &  br,
double &  bz,
double &  bphi 
)
long long int get_diag_tracer_gid ( )

Here is the caller graph for this function:

int get_diag_tracer_sp ( )

Here is the caller graph for this function:

void get_psi_b ( double  r,
double  z,
double  phi,
double &  psi,
double &  bmag 
)
template<KinType KT>
void templated_tracer_diag ( int  ipc,
long long int  tracer_gid,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const ElectricField< DeviceType > &  electric_field,
const Simulation< DeviceType > &  sml,
const Species< DeviceType > &  species,
const DomainDecomposition< DeviceType > &  pol_decomp,
Smoothing smoothing 
)

Here is the call graph for this function:

void tracer_diag ( int  ipc,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
ElectricField< DeviceType > &  electric_field,
const Simulation< DeviceType > &  sml,
Plasma plasma,
const DomainDecomposition< DeviceType > &  pol_decomp,
Smoothing smoothing 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void write_tracerdata ( int  n_ports,
double *  tracerdata 
)