XGC1
|
#include "petscsystypes.h"
#include "linear_1d_interpolation.hpp"
#include "bias_potential.hpp"
#include "solve_poisson_axisym.hpp"
Functions | |
int * | get_grid_psi_surf_map_loc () |
void | set_bndry_values_axisym () |
void | add_pot0 () |
void | smooth_pol_wrap (double *input_array, double *output_array) |
void | apply_radial_hyperviscosity (double *input, double *output) |
int | get_solverH_nbndry () |
int | solverH_use_this_rank_int () |
int | get_solver00_nbndry () |
int | solver00_use_this_rank_int () |
void | set_petsc_rhs_vec_axisym (double *rhs00, double *rhs_bd00, double *sol_bd00) |
void | solve_axisym_poisson_iter () |
void | solve_axisymmetric_poisson_two_step_fsa (double *rhs, double *rhs00, double *rhs_bd, double *rhs_bd00, double *sol_bd, double *sol_bd00) |
void | fourier_filter_m_range_cpp (double *field_inout) |
PetscInt * | get_petsc_xgc_bd_loc () |
rtype * | get_psn_pbdH_2_iseg_loc () |
int | get_psn_pbdH_2_nseg () |
rtype * | get_psn_cbd0_2_iseg_loc () |
int | get_psn_cbd0_2_nseg () |
rtype * | get_psn_pbd0_2_iseg_loc () |
int | get_psn_pbd0_2_nseg () |
void | positive_phi00_sol (double *tmp00_surf) |
void | limit_phi_pert (double *pot00_2d, double *temp_ev_elec) |
void | private_heuristic_pot (double *pot00_2d) |
void | set_natural_boundary () |
void | post_process_axisymmetric_poisson2 () |
void | set_rhs_bd_and_sol_bd (double *rhs, double *rhs_bd, double *sol_bd) |
void | zero_out_wall_fort (double *rhs) |
int | get_n_private_surf () |
void | set_to_sheath_pot (double *tmp00_surf) |
void | set_bndry_to_sheath (double *pot0m) |
double * | get_grid_psi_surf_loc () |
void | calculate_den00_1d (const Grid< DeviceType > &grid, const View< double *, CLayout, HostType > density0, View< double *, CLayout, HostType > den00_1d) |
View< double *, CLayout, HostType > | get_initial_guess_axisym (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const Charges &charges, ElectricField< DeviceType > &electric_field) |
void | set_rhs_poisson_step_two (const Grid< DeviceType > &grid, const View< double *, CLayout, HostType > &rhs00, const View< double *, CLayout, HostType > &rhs, const View< double *, CLayout, HostType > &rhs_bd, const View< double *, CLayout, HostType > &sol_bd, bool is_XGCa) |
void | set_rhs_poisson_axisym (const Simulation< DeviceType > &sml, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, Plasma &plasma, const Charges &charges, SolverSetting solver_setting, const View< double *, CLayout, HostType > &rhs, const View< double *, CLayout, HostType > &rhs_bd, const View< double *, CLayout, HostType > &sol_bd) |
void | solve_for_E (const Simulation< DeviceType > &sml, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, Plasma &plasma, const Charges &charges, ElectricField< DeviceType > &electric_field, SolverSetting solver_setting) |
void | solve_poisson_axisym (const Simulation< DeviceType > &sml, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, Smoothing &smoothing, Plasma &plasma, const Charges &charges, SolverSetting solver_setting, ElectricField< DeviceType > &electric_field) |
void add_pot0 | ( | ) |
void apply_radial_hyperviscosity | ( | double * | input, |
double * | output | ||
) |
void calculate_den00_1d | ( | const Grid< DeviceType > & | grid, |
const View< double *, CLayout, HostType > | density0, | ||
View< double *, CLayout, HostType > | den00_1d | ||
) |
Averages axisymmetric field over flux surfaces and interpolates into flux surface coordinates
[in] | grid | is the grid object |
[in] | density0 | is the axisymmetric component of the field |
[out] | den00_1d | is the resulting field |
void fourier_filter_m_range_cpp | ( | double * | field_inout | ) |
double* get_grid_psi_surf_loc | ( | ) |
int* get_grid_psi_surf_map_loc | ( | ) |
View<double*,CLayout,HostType> get_initial_guess_axisym | ( | const Simulation< DeviceType > & | sml, |
const Grid< DeviceType > & | grid, | ||
const Charges & | charges, | ||
ElectricField< DeviceType > & | electric_field | ||
) |
int get_n_private_surf | ( | ) |
PetscInt* get_petsc_xgc_bd_loc | ( | ) |
rtype* get_psn_cbd0_2_iseg_loc | ( | ) |
int get_psn_cbd0_2_nseg | ( | ) |
rtype* get_psn_pbd0_2_iseg_loc | ( | ) |
int get_psn_pbd0_2_nseg | ( | ) |
rtype* get_psn_pbdH_2_iseg_loc | ( | ) |
int get_psn_pbdH_2_nseg | ( | ) |
int get_solver00_nbndry | ( | ) |
int get_solverH_nbndry | ( | ) |
void limit_phi_pert | ( | double * | pot00_2d, |
double * | temp_ev_elec | ||
) |
void positive_phi00_sol | ( | double * | tmp00_surf | ) |
void post_process_axisymmetric_poisson2 | ( | ) |
void private_heuristic_pot | ( | double * | pot00_2d | ) |
void set_bndry_to_sheath | ( | double * | pot0m | ) |
void set_bndry_values_axisym | ( | ) |
void set_natural_boundary | ( | ) |
void set_petsc_rhs_vec_axisym | ( | double * | rhs00, |
double * | rhs_bd00, | ||
double * | sol_bd00 | ||
) |
void set_rhs_bd_and_sol_bd | ( | double * | rhs, |
double * | rhs_bd, | ||
double * | sol_bd | ||
) |
void set_rhs_poisson_axisym | ( | const Simulation< DeviceType > & | sml, |
const MagneticField< DeviceType > & | magnetic_field, | ||
const Grid< DeviceType > & | grid, | ||
Plasma & | plasma, | ||
const Charges & | charges, | ||
SolverSetting | solver_setting, | ||
const View< double *, CLayout, HostType > & | rhs, | ||
const View< double *, CLayout, HostType > & | rhs_bd, | ||
const View< double *, CLayout, HostType > & | sol_bd | ||
) |
void set_rhs_poisson_step_two | ( | const Grid< DeviceType > & | grid, |
const View< double *, CLayout, HostType > & | rhs00, | ||
const View< double *, CLayout, HostType > & | rhs, | ||
const View< double *, CLayout, HostType > & | rhs_bd, | ||
const View< double *, CLayout, HostType > & | sol_bd, | ||
bool | is_XGCa | ||
) |
void set_to_sheath_pot | ( | double * | tmp00_surf | ) |
void smooth_pol_wrap | ( | double * | input_array, |
double * | output_array | ||
) |
void solve_axisym_poisson_iter | ( | ) |
void solve_axisymmetric_poisson_two_step_fsa | ( | double * | rhs, |
double * | rhs00, | ||
double * | rhs_bd, | ||
double * | rhs_bd00, | ||
double * | sol_bd, | ||
double * | sol_bd00 | ||
) |
void solve_for_E | ( | const Simulation< DeviceType > & | sml, |
const DomainDecomposition< DeviceType > & | pol_decomp, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
const Grid< DeviceType > & | grid, | ||
Plasma & | plasma, | ||
const Charges & | charges, | ||
ElectricField< DeviceType > & | electric_field, | ||
SolverSetting | solver_setting | ||
) |
void solve_poisson_axisym | ( | const Simulation< DeviceType > & | sml, |
const MagneticField< DeviceType > & | magnetic_field, | ||
const Grid< DeviceType > & | grid, | ||
const DomainDecomposition< DeviceType > & | pol_decomp, | ||
Smoothing & | smoothing, | ||
Plasma & | plasma, | ||
const Charges & | charges, | ||
SolverSetting | solver_setting, | ||
ElectricField< DeviceType > & | electric_field | ||
) |
int solver00_use_this_rank_int | ( | ) |
int solverH_use_this_rank_int | ( | ) |
void zero_out_wall_fort | ( | double * | rhs | ) |