|
subroutine | init_poisson (grid, psn, iflag_dummy) |
|
subroutine | psn_init_poisson_private (psn, grid, nrhs) |
|
subroutine | pcshermanmorrisonapply (pc, xin, yout, ierr) |
|
subroutine | getnnz (grid, nloc, low, high, d_nnz, o_nnz, xgc_petsc, nglobal, ierr) |
|
subroutine | create_solver (this, grid, bc, ierr) |
|
subroutine | create_1field_solver (grid, solver) |
|
subroutine | create_2field_solver (grid, bd, solver) |
|
subroutine | make_12mat (grid, Bmat, BIdentMat, FSAMass_Te, solver, bd, scale, xgc_petsc) |
|
subroutine | make_21mat (grid, Cmat, Bmat, CConstBCVec, bd, xgc_petsc) |
|
subroutine | solve_poisson (grid, psn, iflag) |
|
subroutine | solve_poisson_private (grid, psn, iflag) |
|
subroutine | zero_out_wall (var) |
|
subroutine | solve_poisson_iter (grid, psn, iflag) |
| Poisson solver that uses an iterative method to solve for the axisymmetric electrostatic potential: The Poisson equation for the axisymmetric mode is \(-\nabla_\perp \cdot \xi \nabla_\perp \overline{\phi}_{k+1} + \frac{e n_0/T_{e,0}} \overline{\phi}_{k+1} = e \left( \langle \overline{\delta n_i} \rangle_g - \overline{\delta n_{e,NA}} \right) + \frac{e n_0/T_{e,0}} \langle \phi_{k} \rangle_{fs} \) where \(k\) is the iteration index, \(xi\) is the electric susceptibility, \(e\) is the elementary charge, \(n_0\) and \(T_0\) are the background density and temperature, \(\langle \overline{\delta n_i} \rangle_g\) is the gyroaveraged ion (gyrocenter) charge density, \(\overline{\delta n_{e,NA}}\) is the non-adiabatic electron charge density, and \(\langle\dots\rangle\) is the the flux-surface average. \(\overline{\dots}\) is the toroidal average. More...
|
|
subroutine solve_poisson_iter |
( |
type(grid_type) |
grid, |
|
|
type(psn_type) |
psn, |
|
|
integer, intent(in) |
iflag |
|
) |
| |
Poisson solver that uses an iterative method to solve for the axisymmetric electrostatic potential: The Poisson equation for the axisymmetric mode is \(-\nabla_\perp \cdot \xi \nabla_\perp \overline{\phi}_{k+1} + \frac{e n_0/T_{e,0}} \overline{\phi}_{k+1} = e \left( \langle \overline{\delta n_i} \rangle_g - \overline{\delta n_{e,NA}} \right) + \frac{e n_0/T_{e,0}} \langle \phi_{k} \rangle_{fs} \) where \(k\) is the iteration index, \(xi\) is the electric susceptibility, \(e\) is the elementary charge, \(n_0\) and \(T_0\) are the background density and temperature, \(\langle \overline{\delta n_i} \rangle_g\) is the gyroaveraged ion (gyrocenter) charge density, \(\overline{\delta n_{e,NA}}\) is the non-adiabatic electron charge density, and \(\langle\dots\rangle\) is the the flux-surface average. \(\overline{\dots}\) is the toroidal average.
The non-axisymmetric Poisson equation is simpler: