XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
update_analytic_f0.cpp File Reference
#include <Kokkos_Atomic.hpp>
#include "timer_macro.hpp"
#include "space_settings.hpp"
#include "basic_physics.hpp"
#include "linear_weights.hpp"
#include "update_analytic_f0.hpp"
#include "toroidal_average.hpp"
#include "task_group.hpp"
#include "charge_f0.hpp"
#include "loadable_buffer.hpp"
#include "flux_surface_average.hpp"
Include dependency graph for update_analytic_f0.cpp:

Functions

void fortran_print_1D_array (int num, int arr_size, double *arr)
 
void smooth_pol_wrap (double *input_array, double *output_array)
 
void fourier_filter_update_analytic (double *alpha)
 
int get_grid_npsi_surf ()
 
double * get_grid_bfield_loc ()
 
void write_f0_analytic_to_file ()
 
View< double *, CLayout,
DeviceType
get_adiabatic_response (const ElectricField< DeviceType > &electric_field, const Species< DeviceType > &species, double dpot_te_limit, const View< double *, CLayout, DeviceType > non_f0_energy)
 
void reduce_drift_component (const DomainDecomposition< DeviceType > &pol_decomp, const View< double **, CLayout, DeviceType > &density_rho, const View< double **, CLayout, DeviceType > &flow_rho, const View< double **, CLayout, DeviceType > &energy_rho, const View< double **, CLayout, DeviceType > &density_f0g_rho, int ROOT_RANK, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &density_f0g)
 
void gyroaverage_moments (bool is_XGCa, const DomainDecomposition< DeviceType > &pol_decomp, const GyroAverageMatrices< HostType > &gyro_avg_matrices_h, const View< double **, CLayout, DeviceType > &density_rho, const View< double **, CLayout, DeviceType > &flow_rho, const View< double **, CLayout, DeviceType > &energy_rho, const View< double **, CLayout, DeviceType > &density_f0g_rho, int ROOT_RANK, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &density_f0g)
 
void get_total_density (const Grid< DeviceType > &grid, const Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &density_f0g, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &total_density)
 
void normalize_by_volume (const Grid< DeviceType > &grid, const Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &total_density, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy)
 
void remove_adiabatic_response (const DomainDecomposition< DeviceType > &pol_decomp, const ElectricField< DeviceType > &electric_field, const Species< DeviceType > &species, double dpot_te_limit, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &density)
 
View< double **, CLayout,
DeviceType
compute_damped_delta (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, double damping_width, double base_alpha)
 
void smooth_and_filter (View< double **, CLayout, DeviceType > &damped_delta)
 
void bound_moments (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species, const View< double **, CLayout, DeviceType > &damped_delta, const View< double *, CLayout, DeviceType > &density_adjustment, const View< double *, CLayout, DeviceType > &flow_adjustment, const View< double *, CLayout, DeviceType > &energy_adjustment)
 
void flux_surface_average (const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy)
 
void calculate_delta_moments (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &density_adjustment, const View< double *, CLayout, DeviceType > &flow_adjustment, const View< double *, CLayout, DeviceType > &energy_adjustment)
 
View< double **, CLayout,
DeviceType
get_density_f0g_rho (const Grid< DeviceType > &grid, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const Species< DeviceType > &species)
 
void normalize_and_remove_adiabatic_term (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const ElectricField< DeviceType > &electric_field, Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &total_density)
 
void update_species_f0_deltas (Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &density_adjustment, const View< double *, CLayout, DeviceType > &flow_adjustment, const View< double *, CLayout, DeviceType > &energy_adjustment)
 
void get_moments (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, Kokkos::View< double **, Kokkos::LayoutRight, DeviceType > &density, Kokkos::View< double **, Kokkos::LayoutRight, DeviceType > &flow, Kokkos::View< double **, Kokkos::LayoutRight, DeviceType > &energy)
 
void get_toroidally_averaged_moments (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &total_density, int ROOT_RANK)
 
void correct_for_quasineutrality_method1 (Plasma &plasma, View< double **, CLayout, DeviceType > &density_adjustment)
 
void correct_for_quasineutrality_method2 (Plasma &plasma, const View< double **, CLayout, DeviceType > &total_density, View< double **, CLayout, DeviceType > &density_adjustment)
 
void correct_for_quasineutrality (Plasma &plasma, const View< double **, CLayout, DeviceType > &total_density, View< double **, CLayout, DeviceType > &density_adjustment)
 
void all_species_f0_update_analytic_f0 (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const ElectricField< DeviceType > &electric_field, Plasma &plasma)
 

Function Documentation

void all_species_f0_update_analytic_f0 ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const MagneticField< DeviceType > &  magnetic_field,
const ElectricField< DeviceType > &  electric_field,
Plasma plasma 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void bound_moments ( const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const Species< DeviceType > &  species,
const View< double **, CLayout, DeviceType > &  damped_delta,
const View< double *, CLayout, DeviceType > &  density_adjustment,
const View< double *, CLayout, DeviceType > &  flow_adjustment,
const View< double *, CLayout, DeviceType > &  energy_adjustment 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void calculate_delta_moments ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy,
const View< double *, CLayout, DeviceType > &  density_adjustment,
const View< double *, CLayout, DeviceType > &  flow_adjustment,
const View< double *, CLayout, DeviceType > &  energy_adjustment 
)

Here is the call graph for this function:

Here is the caller graph for this function:

View<double**, CLayout, DeviceType> compute_damped_delta ( const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy,
double  damping_width,
double  base_alpha 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void correct_for_quasineutrality ( Plasma plasma,
const View< double **, CLayout, DeviceType > &  total_density,
View< double **, CLayout, DeviceType > &  density_adjustment 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void correct_for_quasineutrality_method1 ( Plasma plasma,
View< double **, CLayout, DeviceType > &  density_adjustment 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void correct_for_quasineutrality_method2 ( Plasma plasma,
const View< double **, CLayout, DeviceType > &  total_density,
View< double **, CLayout, DeviceType > &  density_adjustment 
)

Here is the call graph for this function:

void flux_surface_average ( const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy 
)

Here is the call graph for this function:

void fortran_print_1D_array ( int  num,
int  arr_size,
double *  arr 
)
void fourier_filter_update_analytic ( double *  alpha)
View<double*, CLayout, DeviceType> get_adiabatic_response ( const ElectricField< DeviceType > &  electric_field,
const Species< DeviceType > &  species,
double  dpot_te_limit,
const View< double *, CLayout, DeviceType non_f0_energy 
)

Here is the call graph for this function:

Here is the caller graph for this function:

View<double**, CLayout, DeviceType> get_density_f0g_rho ( const Grid< DeviceType > &  grid,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const Species< DeviceType > &  species 
)

Here is the call graph for this function:

Here is the caller graph for this function:

double* get_grid_bfield_loc ( )

Here is the caller graph for this function:

int get_grid_npsi_surf ( )
void get_moments ( const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
Kokkos::View< double **, Kokkos::LayoutRight, DeviceType > &  density,
Kokkos::View< double **, Kokkos::LayoutRight, DeviceType > &  flow,
Kokkos::View< double **, Kokkos::LayoutRight, DeviceType > &  energy 
)

Here is the call graph for this function:

void get_toroidally_averaged_moments ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy,
const View< double *, CLayout, DeviceType > &  total_density,
int  ROOT_RANK 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void get_total_density ( const Grid< DeviceType > &  grid,
const Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  density_f0g,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  total_density 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void gyroaverage_moments ( bool  is_XGCa,
const DomainDecomposition< DeviceType > &  pol_decomp,
const GyroAverageMatrices< HostType > &  gyro_avg_matrices_h,
const View< double **, CLayout, DeviceType > &  density_rho,
const View< double **, CLayout, DeviceType > &  flow_rho,
const View< double **, CLayout, DeviceType > &  energy_rho,
const View< double **, CLayout, DeviceType > &  density_f0g_rho,
int  ROOT_RANK,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy,
const View< double *, CLayout, DeviceType > &  density_f0g 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void normalize_and_remove_adiabatic_term ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const ElectricField< DeviceType > &  electric_field,
Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy,
const View< double *, CLayout, DeviceType > &  total_density 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void normalize_by_volume ( const Grid< DeviceType > &  grid,
const Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  total_density,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy 
)

Here is the call graph for this function:

void reduce_drift_component ( const DomainDecomposition< DeviceType > &  pol_decomp,
const View< double **, CLayout, DeviceType > &  density_rho,
const View< double **, CLayout, DeviceType > &  flow_rho,
const View< double **, CLayout, DeviceType > &  energy_rho,
const View< double **, CLayout, DeviceType > &  density_f0g_rho,
int  ROOT_RANK,
const View< double *, CLayout, DeviceType > &  density,
const View< double *, CLayout, DeviceType > &  flow,
const View< double *, CLayout, DeviceType > &  energy,
const View< double *, CLayout, DeviceType > &  density_f0g 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void remove_adiabatic_response ( const DomainDecomposition< DeviceType > &  pol_decomp,
const ElectricField< DeviceType > &  electric_field,
const Species< DeviceType > &  species,
double  dpot_te_limit,
const View< double *, CLayout, DeviceType > &  energy,
const View< double *, CLayout, DeviceType > &  density 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void smooth_and_filter ( View< double **, CLayout, DeviceType > &  damped_delta)

Here is the call graph for this function:

void smooth_pol_wrap ( double *  input_array,
double *  output_array 
)
void update_species_f0_deltas ( Species< DeviceType > &  species,
const View< double *, CLayout, DeviceType > &  density_adjustment,
const View< double *, CLayout, DeviceType > &  flow_adjustment,
const View< double *, CLayout, DeviceType > &  energy_adjustment 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void write_f0_analytic_to_file ( )

Here is the caller graph for this function: