XGCa
Functions
solve_poisson_axisym.cpp File Reference
#include "petscsystypes.h"
#include "linear_1d_interpolation.hpp"
#include "solvers.hpp"
#include "view_arithmetic.hpp"
Include dependency graph for solve_poisson_axisym.cpp:

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, DeviceTypeget_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)
 

Function Documentation

◆ add_pot0()

void add_pot0 ( double *  pot0m)
Here is the caller graph for this function:

◆ calculate_den00_1d()

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

Parameters
[in]gridis the grid object
[in]density0is the axisymmetric component of the field
[out]den00_1dis the resulting field
Returns
void
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_n_private_surf()

int get_n_private_surf ( )
Here is the caller graph for this function:

◆ get_petsc_xgc_bd_loc()

PetscInt* get_petsc_xgc_bd_loc ( )

◆ get_pot00_1d()

View<double*,CLayout,DeviceType> get_pot00_1d ( const Grid< DeviceType > &  grid,
const View< double *, CLayout, DeviceType > &  tmp00_surf_d 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_sheath_pot_wrap()

double get_sheath_pot_wrap ( int  i)
Here is the caller graph for this function:

◆ get_sml_ksp_root()

int get_sml_ksp_root ( int  i_ksp)
Here is the caller graph for this function:

◆ get_solver00_nbndry()

int get_solver00_nbndry ( )
Here is the caller graph for this function:

◆ get_solverH_nbndry()

int get_solverH_nbndry ( )
Here is the caller graph for this function:

◆ get_xpt_i()

void get_xpt_i ( int *  i_x1,
int *  i_x2 
)
Here is the caller graph for this function:

◆ limit_phi_pert()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ positive_phi00_sol()

void positive_phi00_sol ( double *  tmp00_surf,
double *  pot0m 
)
Here is the caller graph for this function:

◆ post_process_axisymmetric_poisson2()

void post_process_axisymmetric_poisson2 ( )

◆ private_heuristic_pot()

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

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

◆ set_bndry_values_axisym()

void set_bndry_values_axisym ( double *  pot0m)

◆ set_petsc_rhs_vec_axisym()

void set_petsc_rhs_vec_axisym ( double *  rhs00,
double *  rhs_bd00,
double *  sol_bd00 
)
Here is the caller graph for this function:

◆ set_rhs_bd_and_sol_bd()

void set_rhs_bd_and_sol_bd ( double *  rhs,
double *  rhs_bd,
double *  sol_bd 
)
Here is the caller graph for this function:

◆ set_rhs_poisson_axisym()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_rhs_poisson_step_two()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_to_sheath_pot()

void set_to_sheath_pot ( double *  tmp00_surf)
Here is the caller graph for this function:

◆ solve_axisym_poisson_iter()

void solve_axisym_poisson_iter ( double *  pot0m)
Here is the caller graph for this function:

◆ solve_axisymmetric_poisson_two_step_fsa()

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 
)
Here is the caller graph for this function:

◆ solver00_use_this_rank_int()

int solver00_use_this_rank_int ( )
Here is the caller graph for this function:

◆ solverH_use_this_rank_int()

int solverH_use_this_rank_int ( )
Here is the caller graph for this function: