XGCa
|
#include "fourier_filter.hpp"
Functions | |
double * | get_grid_qsafety_loc () |
double * | get_grid_sol_fourier_win_loc () |
double * | get_grid_theta_loc () |
int * | get_grid_theta_sort_idx_loc () |
int * | get_grid_m_max_surf_loc () |
int | get_grid_surf_maxlen () |
int * | get_grid_surf_len_loc () |
int * | get_grid_surf_idx_loc () |
int | get_sml_sep_surf_index () |
int | get_nsurf_sol () |
int | get_filter_nsurf () |
int | get_grid_num_non_aligned () |
int * | get_grid_non_aligned_vert_loc () |
int * | get_grid_non_aligned_ff_idx_loc () |
double * | get_grid_non_aligned_ff_w_loc () |
UniformRange | construct_theta_coords (const View< double *, CLayout, HostType > &theta, int n_points, bool periodic) |
void | get_separatrix_start_len (const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, int sep_surf_index, int &i0_sep, int &len_sep) |
KOKKOS_INLINE_FUNCTION int | nearest_int (double x) |
void | set_m_limit (const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, Plasma &plasma, const View< bool *, CLayout, HostType > &run_filter, double mode_select_max_kth_rho, const View< int *, CLayout, DeviceType > &m_limit_d) |
void | set_is_periodic (const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const View< bool *, CLayout, HostType > &run_filter, int sep_surf_index, const View< bool *, CLayout, HostType > &is_periodic) |
void | setup_m_min_max (const FourierFilter &filter, const FourierFilter::Options &options, const View< int **, CLayout, DeviceType > &m_minmax) |
void | get_surf_damp_fac (const FourierFilter::Options &options, const View< double *, CLayout, DeviceType > &psi, const View< double *, CLayout, DeviceType > &damp_fac) |
void | reverse_fft (const View< double *, CLayout, DeviceType > &theta, const View< Complex **, CLayout, DeviceType > &spec, const View< double *, CLayout, DeviceType > &inv_npt, const View< int **, CLayout, DeviceType > &m_minmax, const View< int *, CLayout, DeviceType > &node_offsets, const View< int *, CLayout, DeviceType > &freq_offsets, const View< int *, CLayout, DeviceType > &node_surf_map, const View< double **, CLayout, DeviceType > &x) |
void | map_back (FourierFilter::ScrapeOffLayerMethod sol_method, const View< int *, CLayout, DeviceType > &node_mapping, const View< int *, CLayout, DeviceType > &node_surf_map, const View< double *, CLayout, DeviceType > &win, const View< double **, CLayout, DeviceType > &x_ordered, const View< double *, CLayout, DeviceType > &damp_fac, const View< double **, CLayout, DeviceType > &x) |
void | map_x (const View< int *, CLayout, DeviceType > &node_mapping, const View< double **, CLayout, DeviceType > &x_in, const View< double **, CLayout, DeviceType > &x_ordered) |
void | band_pass_filter (const View< int **, CLayout, DeviceType > &m_minmax, const View< int *, CLayout, DeviceType > &freq_surf_map, const View< int *, CLayout, DeviceType > &freq_offsets, const View< Complex **, CLayout, DeviceType > &spec) |
KOKKOS_INLINE_FUNCTION bool | nonzero_mag (const Complex &c) |
void | filter_scrapeoff_layer (FourierFilter::ScrapeOffLayerMethod sol_method, const View< int *, CLayout, DeviceType > &freq_surf_map, int nsurf, const View< Complex **, CLayout, DeviceType > &spec) |
void | discard_non_resonant (const View< int *, CLayout, DeviceType > &freq_surf_map, const View< int **, CLayout, DeviceType > &m_minmax, int dir, const View< Complex **, CLayout, DeviceType > &spec) |
void | set_nonaligned_vertices (const View< int *, CLayout, DeviceType > non_aligned_vert, const View< int **, CLayout, DeviceType > non_aligned_ff_idx, const View< double **, CLayout, DeviceType > non_aligned_ff_w, const View< double **, CLayout, DeviceType > &x) |
void | fourier_filter_n_m_range_parallel (int nplanes, int nmin, int nmax, int nmin_real, int nmax_real, int bands_on_int, int minm, int maxm, double *view, int bands_int, int mres_q, double inpsi, double outpsi, double bd_width, int div_mix_int) |
void band_pass_filter | ( | const View< int **, CLayout, DeviceType > & | m_minmax, |
const View< int *, CLayout, DeviceType > & | freq_surf_map, | ||
const View< int *, CLayout, DeviceType > & | freq_offsets, | ||
const View< Complex **, CLayout, DeviceType > & | spec | ||
) |
UniformRange construct_theta_coords | ( | const View< double *, CLayout, HostType > & | theta, |
int | n_points, | ||
bool | periodic | ||
) |
void discard_non_resonant | ( | const View< int *, CLayout, DeviceType > & | freq_surf_map, |
const View< int **, CLayout, DeviceType > & | m_minmax, | ||
int | dir, | ||
const View< Complex **, CLayout, DeviceType > & | spec | ||
) |
void filter_scrapeoff_layer | ( | FourierFilter::ScrapeOffLayerMethod | sol_method, |
const View< int *, CLayout, DeviceType > & | freq_surf_map, | ||
int | nsurf, | ||
const View< Complex **, CLayout, DeviceType > & | spec | ||
) |
void fourier_filter_n_m_range_parallel | ( | int | nplanes, |
int | nmin, | ||
int | nmax, | ||
int | nmin_real, | ||
int | nmax_real, | ||
int | bands_on_int, | ||
int | minm, | ||
int | maxm, | ||
double * | view, | ||
int | bands_int, | ||
int | mres_q, | ||
double | inpsi, | ||
double | outpsi, | ||
double | bd_width, | ||
int | div_mix_int | ||
) |
int get_filter_nsurf | ( | ) |
int* get_grid_m_max_surf_loc | ( | ) |
int* get_grid_non_aligned_ff_idx_loc | ( | ) |
double* get_grid_non_aligned_ff_w_loc | ( | ) |
int* get_grid_non_aligned_vert_loc | ( | ) |
int get_grid_num_non_aligned | ( | ) |
double* get_grid_qsafety_loc | ( | ) |
double* get_grid_sol_fourier_win_loc | ( | ) |
int* get_grid_surf_idx_loc | ( | ) |
int* get_grid_surf_len_loc | ( | ) |
int get_grid_surf_maxlen | ( | ) |
double* get_grid_theta_loc | ( | ) |
int* get_grid_theta_sort_idx_loc | ( | ) |
int get_nsurf_sol | ( | ) |
void get_separatrix_start_len | ( | const MagneticField< DeviceType > & | magnetic_field, |
const Grid< DeviceType > & | grid, | ||
int | sep_surf_index, | ||
int & | i0_sep, | ||
int & | len_sep | ||
) |
int get_sml_sep_surf_index | ( | ) |
void get_surf_damp_fac | ( | const FourierFilter::Options & | options, |
const View< double *, CLayout, DeviceType > & | psi, | ||
const View< double *, CLayout, DeviceType > & | damp_fac | ||
) |
void map_back | ( | FourierFilter::ScrapeOffLayerMethod | sol_method, |
const View< int *, CLayout, DeviceType > & | node_mapping, | ||
const View< int *, CLayout, DeviceType > & | node_surf_map, | ||
const View< double *, CLayout, DeviceType > & | win, | ||
const View< double **, CLayout, DeviceType > & | x_ordered, | ||
const View< double *, CLayout, DeviceType > & | damp_fac, | ||
const View< double **, CLayout, DeviceType > & | x | ||
) |
void map_x | ( | const View< int *, CLayout, DeviceType > & | node_mapping, |
const View< double **, CLayout, DeviceType > & | x_in, | ||
const View< double **, CLayout, DeviceType > & | x_ordered | ||
) |
KOKKOS_INLINE_FUNCTION int nearest_int | ( | double | x | ) |
KOKKOS_INLINE_FUNCTION bool nonzero_mag | ( | const Complex & | c | ) |
void reverse_fft | ( | const View< double *, CLayout, DeviceType > & | theta, |
const View< Complex **, CLayout, DeviceType > & | spec, | ||
const View< double *, CLayout, DeviceType > & | inv_npt, | ||
const View< int **, CLayout, DeviceType > & | m_minmax, | ||
const View< int *, CLayout, DeviceType > & | node_offsets, | ||
const View< int *, CLayout, DeviceType > & | freq_offsets, | ||
const View< int *, CLayout, DeviceType > & | node_surf_map, | ||
const View< double **, CLayout, DeviceType > & | x | ||
) |
void set_is_periodic | ( | const MagneticField< DeviceType > & | magnetic_field, |
const Grid< DeviceType > & | grid, | ||
const View< bool *, CLayout, HostType > & | run_filter, | ||
int | sep_surf_index, | ||
const View< bool *, CLayout, HostType > & | is_periodic | ||
) |
void set_m_limit | ( | const MagneticField< DeviceType > & | magnetic_field, |
const Grid< DeviceType > & | grid, | ||
Plasma & | plasma, | ||
const View< bool *, CLayout, HostType > & | run_filter, | ||
double | mode_select_max_kth_rho, | ||
const View< int *, CLayout, DeviceType > & | m_limit_d | ||
) |
void set_nonaligned_vertices | ( | const View< int *, CLayout, DeviceType > | non_aligned_vert, |
const View< int **, CLayout, DeviceType > | non_aligned_ff_idx, | ||
const View< double **, CLayout, DeviceType > | non_aligned_ff_w, | ||
const View< double **, CLayout, DeviceType > & | x | ||
) |
void setup_m_min_max | ( | const FourierFilter & | filter, |
const FourierFilter::Options & | options, | ||
const View< int **, CLayout, DeviceType > & | m_minmax | ||
) |