XGC1
|
#include "petscsystypes.h"
#include "linear_1d_interpolation.hpp"
#include "solvers.hpp"
#include "view_arithmetic.hpp"
Functions | |
int | get_sml_ksp_root (int i_ksp) |
void | set_bndry_values_axisym (double *pot0m) |
void | add_pot0 (double *pot0m) |
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 (double *pot0m) |
void | solve_axisymmetric_poisson_two_step_fsa (double *rhs, double *rhs00, double *rhs_bd, double *rhs_bd00, double *sol_bd, double *sol_bd00, double *pot0m, double *dpot) |
PetscInt * | get_petsc_xgc_bd_loc () |
void | positive_phi00_sol (double *tmp00_surf, double *pot0m) |
void | get_xpt_i (int *i_x1, int *i_x2) |
void | post_process_axisymmetric_poisson2 () |
void | set_rhs_bd_and_sol_bd (double *rhs, double *rhs_bd, double *sol_bd) |
int | get_n_private_surf () |
void | set_to_sheath_pot (double *tmp00_surf) |
double | get_sheath_pot_wrap (int i) |
void | calculate_den00_1d (const Grid< DeviceType > &grid, const View< double *, CLayout, DeviceType > density0, View< double *, CLayout, DeviceType > den00_1d) |
void | set_rhs_poisson_step_two (const Grid< DeviceType > &grid, const Boundary &bndry00, const Boundary &bndry, 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, Smoothing &smoothing, const Charges &charges, SolverSetting solver_setting, const Boundary &charge_bndry, const Boundary &field_bndry, const View< double *, CLayout, HostType > &rhs, const View< double *, CLayout, HostType > &rhs_bd, const View< double *, CLayout, HostType > &sol_bd, const View< double *, CLayout, DeviceType > &cden00_1d) |
View< double *, CLayout, DeviceType > | get_pot00_1d (const Grid< DeviceType > &grid, const View< double *, CLayout, DeviceType > &tmp00_surf_d) |
void | limit_phi_pert (double dpot_te_limit_n0, const View< double *, CLayout, DeviceType > &pot00_2d, const View< double *, CLayout, DeviceType > &temp_ev_elec, const View< double *, CLayout, DeviceType > &pot0m) |
void | private_heuristic_pot (const MagneticField< DeviceType > &magnetic_field, const Plane< DeviceType > &plane, const View< double *, CLayout, DeviceType > &pot00_2d, const View< double *, CLayout, DeviceType > &temp_ev_elec, const View< double *, CLayout, DeviceType > &pot0m) |
void add_pot0 | ( | double * | pot0m | ) |
void calculate_den00_1d | ( | const Grid< DeviceType > & | grid, |
const View< double *, CLayout, DeviceType > | density0_d, | ||
View< double *, CLayout, DeviceType > | den00_1d_d | ||
) |
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 |
int get_n_private_surf | ( | ) |
PetscInt* get_petsc_xgc_bd_loc | ( | ) |
View<double*,CLayout,DeviceType> get_pot00_1d | ( | const Grid< DeviceType > & | grid, |
const View< double *, CLayout, DeviceType > & | tmp00_surf_d | ||
) |
double get_sheath_pot_wrap | ( | int | i | ) |
int get_sml_ksp_root | ( | int | i_ksp | ) |
int get_solver00_nbndry | ( | ) |
int get_solverH_nbndry | ( | ) |
void get_xpt_i | ( | int * | i_x1, |
int * | i_x2 | ||
) |
void limit_phi_pert | ( | double | dpot_te_limit_n0, |
const View< double *, CLayout, DeviceType > & | pot00_2d, | ||
const View< double *, CLayout, DeviceType > & | temp_ev_elec, | ||
const View< double *, CLayout, DeviceType > & | pot0m | ||
) |
void positive_phi00_sol | ( | double * | tmp00_surf, |
double * | pot0m | ||
) |
void post_process_axisymmetric_poisson2 | ( | ) |
void private_heuristic_pot | ( | const MagneticField< DeviceType > & | magnetic_field, |
const Plane< DeviceType > & | plane, | ||
const View< double *, CLayout, DeviceType > & | pot00_2d, | ||
const View< double *, CLayout, DeviceType > & | temp_ev_elec, | ||
const View< double *, CLayout, DeviceType > & | pot0m | ||
) |
Secondary private region
void set_bndry_values_axisym | ( | double * | pot0m | ) |
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, | ||
Smoothing & | smoothing, | ||
const Charges & | charges, | ||
SolverSetting | solver_setting, | ||
const Boundary & | charge_bndry, | ||
const Boundary & | field_bndry, | ||
const View< double *, CLayout, HostType > & | rhs, | ||
const View< double *, CLayout, HostType > & | rhs_bd, | ||
const View< double *, CLayout, HostType > & | sol_bd, | ||
const View< double *, CLayout, DeviceType > & | cden00_1d | ||
) |
void set_rhs_poisson_step_two | ( | const Grid< DeviceType > & | grid, |
const Boundary & | bndry00, | ||
const Boundary & | bndry, | ||
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 solve_axisym_poisson_iter | ( | double * | pot0m | ) |
void solve_axisymmetric_poisson_two_step_fsa | ( | double * | rhs, |
double * | rhs00, | ||
double * | rhs_bd, | ||
double * | rhs_bd00, | ||
double * | sol_bd, | ||
double * | sol_bd00, | ||
double * | pot0m, | ||
double * | dpot | ||
) |
int solver00_use_this_rank_int | ( | ) |
int solverH_use_this_rank_int | ( | ) |