XGCa
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Diag3DF0F Class Reference

#include <diag_3d_f0_f.hpp>

Inheritance diagram for Diag3DF0F:
Inheritance graph
[legend]
Collaboration diagram for Diag3DF0F:
Collaboration graph
[legend]

Classes

struct  Drifts
 

Public Types

enum  VarNames {
  ToroidalVelocity =0 , PoloidalVelocity , ParallelVelocity , RadialFluxExB ,
  RadialFluxMag , RadialFlux3DB , TorAngMom , RadMomFluxExB ,
  RadMomFluxMag , RadMomFlux3DB , RadEnFluxExB , RadEnFluxMag ,
  RadEnFlux3DB , RadPotEnFluxExB , RadPotEnFluxExBTurb , RadPotEnFluxMag ,
  RadPotEnFlux3DB , ParMomFlux , ParEnFlux , ParPotEnFlux ,
  NVARS
}
 

Public Member Functions

 Diag3DF0F ()
 
void init (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, int default_period)
 
Drifts get_drift_velocities (const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const VelocityGrid &vgrid, ElectricField< DeviceType > &electric_field, Plasma &plasma, PerturbedBField< DeviceType > &perturbed_B_field, const Simulation< DeviceType > &sml, const VGridDistribution< DeviceType > &f0_f, const View< double **, CLayout, DeviceType > &T0, bool use_turb)
 
Drifts copy_drift_velocities (const Drifts &d_in)
 
void calculate_diagnostics (const Simulation< DeviceType > &sml, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, Plasma &plasma, const VelocityGrid &vgrid, ElectricField< DeviceType > &electric_field, PerturbedBField< DeviceType > &perturbed_B_field, const VGridDistribution< DeviceType > &f0_f, const View< double **, CLayout, DeviceType > &T0, const View< double **, CLayout, DeviceType > &n0, const View< double **, CLayout, DeviceType > &n, View< double ***, CLayout, HostType > &moments_adia_n0, View< double ***, CLayout, HostType > &moments_nonadia_n0, View< double ***, CLayout, HostType > &moments_adia_turb, View< double ***, CLayout, HostType > &moments_nonadia_turb, View< double ****, CLayout, HostType > &moments_nonadia_turb_en)
 
void write (const Simulation< DeviceType > &sml, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, Plasma &plasma, PerturbedBField< DeviceType > &perturbed_B_field, const VelocityGrid &vgrid, ElectricField< DeviceType > &electric_field, const VGridDistribution< DeviceType > &f0_f, const Moments &moments)
 
- Public Member Functions inherited from Diagnostic
bool is_triggered (int step)
 
bool has_been_triggered (int step)
 
int get_period () const
 
 Diagnostic ()
 
void init (const std::string &name, int period, int first_step=-1)
 
void open_stream (const std::string &filename, const XGC_IO_Mode &mode)
 
void close_stream ()
 
void write (const XGC_IO &xgc_io)
 
void start_write_step ()
 
bool is_first_step ()
 
void end_write_step ()
 

Public Attributes

std::vector< std::string > var_names
 
View< double *, CLayout, DeviceTypev_curv_rad_fsa
 
View< double *, CLayout, DeviceTypev_grad_B_rad_fsa
 
bool adios_stage
 
- Public Attributes inherited from Diagnostic
bool is_on
 

Additional Inherited Members

- Protected Attributes inherited from Diagnostic
StepTrigger step_trigger
 

Member Enumeration Documentation

◆ VarNames

Enumerator
ToroidalVelocity 
PoloidalVelocity 
ParallelVelocity 
RadialFluxExB 
RadialFluxMag 
RadialFlux3DB 
TorAngMom 
RadMomFluxExB 
RadMomFluxMag 
RadMomFlux3DB 
RadEnFluxExB 
RadEnFluxMag 
RadEnFlux3DB 
RadPotEnFluxExB 
RadPotEnFluxExBTurb 
RadPotEnFluxMag 
RadPotEnFlux3DB 
ParMomFlux 
ParEnFlux 
ParPotEnFlux 
NVARS 

Constructor & Destructor Documentation

◆ Diag3DF0F()

Diag3DF0F::Diag3DF0F ( )
inline

Member Function Documentation

◆ calculate_diagnostics()

void Diag3DF0F::calculate_diagnostics ( const Simulation< DeviceType > &  sml,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
Plasma plasma,
const VelocityGrid vgrid,
ElectricField< DeviceType > &  electric_field,
PerturbedBField< DeviceType > &  perturbed_B_field,
const VGridDistribution< DeviceType > &  f0_f,
const View< double **, CLayout, DeviceType > &  T0,
const View< double **, CLayout, DeviceType > &  n0,
const View< double **, CLayout, DeviceType > &  n,
View< double ***, CLayout, HostType > &  moments_adia_n0,
View< double ***, CLayout, HostType > &  moments_nonadia_n0,
View< double ***, CLayout, HostType > &  moments_adia_turb,
View< double ***, CLayout, HostType > &  moments_nonadia_turb,
View< double ****, CLayout, HostType > &  moments_nonadia_turb_en 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ copy_drift_velocities()

Diag3DF0F::Drifts Diag3DF0F::copy_drift_velocities ( const Drifts d_in)
Here is the caller graph for this function:

◆ get_drift_velocities()

Diag3DF0F::Drifts Diag3DF0F::get_drift_velocities ( const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const VelocityGrid vgrid,
ElectricField< DeviceType > &  electric_field,
Plasma plasma,
PerturbedBField< DeviceType > &  perturbed_B_field,
const Simulation< DeviceType > &  sml,
const VGridDistribution< DeviceType > &  f0_f,
const View< double **, CLayout, DeviceType > &  T0,
bool  use_turb 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void Diag3DF0F::init ( NLReader::NamelistReader nlr,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
int  default_period 
)

< Enable/disable Adios stage mode for xgc.f0

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

void Diag3DF0F::write ( const Simulation< DeviceType > &  sml,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
Plasma plasma,
PerturbedBField< DeviceType > &  perturbed_B_field,
const VelocityGrid vgrid,
ElectricField< DeviceType > &  electric_field,
const VGridDistribution< DeviceType > &  f0_f,
const Moments moments 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ adios_stage

bool Diag3DF0F::adios_stage

◆ v_curv_rad_fsa

View<double*, CLayout, DeviceType> Diag3DF0F::v_curv_rad_fsa

◆ v_grad_B_rad_fsa

View<double*, CLayout, DeviceType> Diag3DF0F::v_grad_B_rad_fsa

◆ var_names

std::vector<std::string> Diag3DF0F::var_names

The documentation for this class was generated from the following files: