GBS
sources_mod Module Reference

Functions/Subroutines

real(dp) function, dimension(iys:iye, ixs:ixe, izs:ize) compute_source (Amp, x0, sigma, source_flux, source_tanh, amp_pr, sigma_pr)
 
real(dp) function, dimension(iys:iye, ixs:ixe, izs:ize) compute_localgaus_source (Amp, x0, y0, sigma)
 
subroutine, public compute_time_dependent_sources (substep, grid_plasma)
 
subroutine calculate_ionflux (grid_plasma, thetaexp, vpari_n, strmfy, strmfx, strmfz, pi_x, pi_y, pi_z, dpsidx_n, dpsidy_n, ionflux_y, ionflux_x)
 
subroutine, public initialize_sources (input_model)
 Initializes source arrays. More...
 

Variables

type(tspacegrid), public grid_plasma
 Grid definition to pass plasma information to neutrals. More...
 

Function/Subroutine Documentation

◆ calculate_ionflux()

subroutine sources_mod::calculate_ionflux ( type(tspacegrid), intent(in)  grid_plasma,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  thetaexp,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  vpari_n,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  strmfy,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  strmfx,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  strmfz,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  pi_x,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  pi_y,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(in)  pi_z,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local), intent(in)  dpsidx_n,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local), intent(in)  dpsidy_n,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(inout)  ionflux_y,
real(dp), dimension(grid_plasma%iysg_local:grid_plasma%iyeg_local,grid_plasma%ixsg_local:grid_plasma%ixeg_local,grid_plasma%izsg_local:grid_plasma%izeg_local), intent(inout)  ionflux_x 
)
+ Here is the caller graph for this function:

◆ compute_localgaus_source()

real(dp) function, dimension(iys:iye,ixs:ixe,izs:ize) sources_mod::compute_localgaus_source ( real(dp), intent(in)  Amp,
real(dp), intent(in)  x0,
real(dp), intent(in)  y0,
real(dp), intent(in)  sigma 
)
+ Here is the caller graph for this function:

◆ compute_source()

real(dp) function, dimension(iys:iye,ixs:ixe,izs:ize) sources_mod::compute_source ( real(dp), intent(in)  Amp,
real(dp), intent(in)  x0,
real(dp), intent(in)  sigma,
logical, intent(in), optional  source_flux,
logical, intent(in), optional  source_tanh,
real(dp), intent(in), optional  amp_pr,
real(dp), intent(in), optional  sigma_pr 
)
private
Bug:
This private region source yields garbage for Loaded equilibria

Additional source in the bottom-left corner

Additional source in the top-left corner

Additional source in the top-right corner

Additional source in the bottom-right corner

Additional source at the HFS boundary where field lines are tangential

+ Here is the caller graph for this function:

◆ compute_time_dependent_sources()

subroutine, public sources_mod::compute_time_dependent_sources ( integer, intent(in)  substep,
type(tspacegrid), intent(in)  grid_plasma 
)
Todo:
cwr: calculate nn, vn and vo_cx on velocity grid
Todo:
cwr: calculate nn, vn and vo_cx on velocity grid
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initialize_sources()

subroutine, public sources_mod::initialize_sources ( class(tmodelinput), intent(in)  input_model)

Initializes source arrays.

Refactor:
The {omega,vpar[ei]}_source* arrays are currently allocated and initialized but do not enter the RHS equation modules.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ grid_plasma

type(tspacegrid), public sources_mod::grid_plasma

Grid definition to pass plasma information to neutrals.