XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Attributes | List of all members
neu_module Module Reference

Module containing the global data and variables for the neutral particle recycling model. More...

Public Attributes

integer neu_num
 Number of neutral particles per thread. More...
 
integer neu_istep_max
 Maximum number of neutral push time steps. More...
 
integer neu_start_time
 Start time of neutral recycling in ion time steps. More...
 
logical neu_enforce_no_neutral
 Forced off-switch for the neutral recycling routine (needed for radiation cooling!) More...
 
logical neu_elastic_col_on
 Whether to use elastic neutral collisions or not. More...
 
logical neu_adjust_n0
 whether to update the base neutral density More...
 
real(kind=8) neu_dt
 Time step for neutral push. More...
 
real(kind=8) neu_temp0
 Neutral temperature boundary condition. More...
 
real(kind=8) neu_n0 =5.0D17
 m^-3 -> nomalized unit, Realistic initial value for neu_base_den (=base neutral density) More...
 
real(kind=8) neu_base_den
 Base multiplier for the neutral density. More...
 
real(kind=8), dimension(:),
allocatable 
neu_weight_sum_lost
 Global number of ions lost to the wall. More...
 
real(kind=8) neu_weight_lost_max
 upper cutoff on the number of lost particles More...
 
real(kind=8) neu_lost_rate_max
 upper cutoff on the particle loss rate (particles/sec) More...
 
real(kind=8) neu_recycle_rate
 Fraction of lost ions that are recycled. More...
 
real(kind=8) neu_peak_theta
 Poloidal angle at which the neutral source is peak. More...
 
real(kind=8) neu_delta_n
 Multiple of base neutral density at the peak position. More...
 
real(kind=8) neu_delta_theta
 Width of the peak of the neutral source. More...
 
logical neu_full_grid
 Use the new neutral routine (neutral_totalf) More...
 
character(len=128) neu_sepfile
 
character(len=128) neu_limfile
 
integer neu_col_mode
 
integer neu_cx_period
 
integer neu_ion_period
 
integer neu_varying_mfp
 
integer neu_col_period
 
logical neu_update_elec
 
real(kind=8) neu_t0
 
integer, parameter neu_sep_mtheta =200
 
integer, parameter diag_flow_npsi =80
 
integer neu_sep_mtheta_file
 
real(kind=8), dimension(neu_sep_mthetaneu_sep_r
 
real(kind=8), dimension(neu_sep_mthetaneu_sep_z
 
real(kind=8), dimension(:),
allocatable 
neu_sep_r_file
 
real(kind=8), dimension(:),
allocatable 
neu_sep_z_file
 
real(kind=8) neu_mfp
 
real(kind=8) neu_theta_x
 
real(kind=8) neu_theta_x2
 
real(kind=8) neu_mfp0
 
real(kind=8) neu_sep_dtheta
 
real(kind=8) neu_old_inside_weight
 
real(kind=8), dimension(3) neu_mom_sum_lost
 
real(kind=8) neu_energy_sum_lost
 
real(kind=8) neu_actual_ionized
 
real(kind=8) neu_actual_accum_ionized
 
real(kind=8) neu_ionize2_psi
 
real(kind=8) neu_weight_accum_lost
 
real(kind=8) neu_weight_accum_ionized
 
real(kind=8) neu_delta_theta_lowerx1
 
real(kind=8) neu_delta_theta_lowerx2
 
real(kind=8) neu_delta_theta_upperx1
 
real(kind=8) neu_delta_theta_upperx2
 
real(kind=8), dimension(2) neu_theta_edge
 
real(kind=8), dimension(2) neu_rad_edge
 
real(kind=8), dimension(2) neu_theta_edge2
 
real(kind=8), dimension(2) neu_rad_edge2
 
integer neu_ionize_mode
 
real(kind=8) neu_temp_factor
 
integer, parameter neu_grid_mpsi =50
 
integer, parameter neu_grid_mtheta =40
 
integer, parameter neu_mtheta =200
 
real(kind=8), dimension(neu_mthetaneu_r0
 
real(kind=8), dimension(neu_mthetaneu_z0
 
real(kind=8), dimension(neu_mthetaneu_jacob
 
real(kind=8) neu_dtheta
 
real(kind=8) neu_psi_edge
 
integer neu_mpol
 
integer neu_monte_num
 
integer neu_flow_on
 
integer neu_grid_mode
 
real(kind=8), dimension(neu_grid_mpsi,
neu_grid_mtheta
neu_grid_den
 
real(kind=8), dimension(neu_grid_mpsi,
neu_grid_mtheta
neu_grid_temp
 
real(kind=8), dimension(neu_grid_mpsi,
neu_grid_mtheta
neu_grid_wsum
 
real(kind=8), dimension(neu_grid_mpsi,
neu_grid_mtheta
neu_grid_esum
 
real(kind=8), dimension(neu_grid_mpsi,
neu_grid_mtheta
neu_grid_vol
 
real(kind=8), dimension(neu_grid_mpsi,
neu_grid_mtheta
neu_grid_flow
 
real(kind=8) neu_grid_dtheta
 
real(kind=8) neu_grid_dpsi
 
real(kind=8) neu_grid_dpsi2
 
real(kind=8) neu_grid_min_psi
 
real(kind=8) neu_grid_max_psi
 
integer neu_mode2_period
 
real(kind=8) neu_ionize_elec_cooling_ev
 
real(kind=8) neu_nr
 
integer(8), dimension(neu_grid_mpsineu_cx_events
 
integer(8), dimension(neu_grid_mpsineu_ion_events
 
real(kind=8), dimension(neu_grid_mpsineu_ion_events_weights
 
real(kind=8), dimension(neu_grid_mpsineu_cx_events_weights
 
real(kind=8), dimension(neu_sep_mthetaneu_lim_r
 
real(kind=8), dimension(neu_sep_mthetaneu_lim_z
 
integer neu_background_period =1
 Period between subsequent updates of the background neutral distribution function in ion time steps. More...
 
logical neu_exclude_private
 Exclude the privat region from neutral recycling. More...
 
real(kind=8), dimension(:,:),
allocatable 
neu_weight_wall_lost
 Local number of ions lost to the wall. More...
 
real(kind=8), dimension(:),
allocatable 
neu_norm_baseden
 Holds normalized neutral density from ion flux to wall. More...
 
integer neu_nnode
 Number of nodes in neutral solution volume. Currently gridnnode. More...
 
integer neu_nbirth
 Number of birth locations. Currently gridnwall. More...
 
logical neu_source_match_flux
 If true, weight of new neutrals matches incoming ion flux; if false, uniform neutral weight. More...
 
real(kind=8), dimension(:),
allocatable 
neu_rbirth
 
real(kind=8), dimension(:),
allocatable 
neu_zbirth
 (R,Z) coordinates of the neutral birth surface More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_den_norm
 Normalized neutral density. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_temp
 Neutral temperature. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_wsum
 Weight sum for neutral density calculation. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_esum
 Weight sum for avg. neutral energy calculation. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_varsum
 Weight sum for weight variance calculation. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_numsum
 Weight sum for neutral number calculation. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_vol
 Neutral cell volume. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_flow
 Neutral bulk flow. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_vsum
 Weight sum for neutral bulk flow calculation. More...
 
real(kind=8), dimension(:),
allocatable 
neu_node_relstd
 Neutral weight standard deviation. More...
 

Detailed Description

Module containing the global data and variables for the neutral particle recycling model.

Member Data Documentation

integer, parameter neu_module::diag_flow_npsi =80
real (kind=8) neu_module::neu_actual_accum_ionized
real (kind=8) neu_module::neu_actual_ionized
logical neu_module::neu_adjust_n0

whether to update the base neutral density

integer neu_module::neu_background_period =1

Period between subsequent updates of the background neutral distribution function in ion time steps.

real (kind=8) neu_module::neu_base_den

Base multiplier for the neutral density.

integer neu_module::neu_col_mode
integer neu_module::neu_col_period
integer (8), dimension(neu_grid_mpsi) neu_module::neu_cx_events
real (kind=8), dimension(neu_grid_mpsi) neu_module::neu_cx_events_weights
integer neu_module::neu_cx_period
real (kind=8) neu_module::neu_delta_n

Multiple of base neutral density at the peak position.

real (kind=8) neu_module::neu_delta_theta

Width of the peak of the neutral source.

real (kind=8) neu_module::neu_delta_theta_lowerx1
real (kind=8) neu_module::neu_delta_theta_lowerx2
real (kind=8) neu_module::neu_delta_theta_upperx1
real (kind=8) neu_module::neu_delta_theta_upperx2
real (kind=8) neu_module::neu_dt

Time step for neutral push.

real (kind=8) neu_module::neu_dtheta
logical neu_module::neu_elastic_col_on

Whether to use elastic neutral collisions or not.

real (kind=8) neu_module::neu_energy_sum_lost
logical neu_module::neu_enforce_no_neutral

Forced off-switch for the neutral recycling routine (needed for radiation cooling!)

logical neu_module::neu_exclude_private

Exclude the privat region from neutral recycling.

integer neu_module::neu_flow_on
logical neu_module::neu_full_grid

Use the new neutral routine (neutral_totalf)

real (kind=8), dimension(neu_grid_mpsi,neu_grid_mtheta) neu_module::neu_grid_den
real (kind=8) neu_module::neu_grid_dpsi
real (kind=8) neu_module::neu_grid_dpsi2
real (kind=8) neu_module::neu_grid_dtheta
real (kind=8), dimension(neu_grid_mpsi,neu_grid_mtheta) neu_module::neu_grid_esum
real (kind=8), dimension(neu_grid_mpsi,neu_grid_mtheta) neu_module::neu_grid_flow
real (kind=8) neu_module::neu_grid_max_psi
real (kind=8) neu_module::neu_grid_min_psi
integer neu_module::neu_grid_mode
integer, parameter neu_module::neu_grid_mpsi =50
integer, parameter neu_module::neu_grid_mtheta =40
real (kind=8), dimension(neu_grid_mpsi,neu_grid_mtheta) neu_module::neu_grid_temp
real (kind=8), dimension(neu_grid_mpsi,neu_grid_mtheta) neu_module::neu_grid_vol
real (kind=8), dimension(neu_grid_mpsi,neu_grid_mtheta) neu_module::neu_grid_wsum
integer (8), dimension(neu_grid_mpsi) neu_module::neu_ion_events
real (kind=8), dimension(neu_grid_mpsi) neu_module::neu_ion_events_weights
integer neu_module::neu_ion_period
real (kind=8) neu_module::neu_ionize2_psi
real (kind=8) neu_module::neu_ionize_elec_cooling_ev
integer neu_module::neu_ionize_mode
integer neu_module::neu_istep_max

Maximum number of neutral push time steps.

real (kind=8), dimension(neu_mtheta) neu_module::neu_jacob
real (kind=8), dimension(neu_sep_mtheta) neu_module::neu_lim_r
real (kind=8), dimension(neu_sep_mtheta) neu_module::neu_lim_z
character (len=128) neu_module::neu_limfile
real (kind=8) neu_module::neu_lost_rate_max

upper cutoff on the particle loss rate (particles/sec)

real (kind=8) neu_module::neu_mfp
real (kind=8) neu_module::neu_mfp0
integer neu_module::neu_mode2_period
real (kind=8), dimension(3) neu_module::neu_mom_sum_lost
integer neu_module::neu_monte_num
integer neu_module::neu_mpol
integer, parameter neu_module::neu_mtheta =200
real (kind=8) neu_module::neu_n0 =5.0D17

m^-3 -> nomalized unit, Realistic initial value for neu_base_den (=base neutral density)

integer neu_module::neu_nbirth

Number of birth locations. Currently gridnwall.

integer neu_module::neu_nnode

Number of nodes in neutral solution volume. Currently gridnnode.

real (kind=8), dimension(:), allocatable neu_module::neu_node_den_norm

Normalized neutral density.

real (kind=8), dimension(:), allocatable neu_module::neu_node_esum

Weight sum for avg. neutral energy calculation.

real (kind=8), dimension(:), allocatable neu_module::neu_node_flow

Neutral bulk flow.

real (kind=8), dimension(:), allocatable neu_module::neu_node_numsum

Weight sum for neutral number calculation.

real (kind=8), dimension(:), allocatable neu_module::neu_node_relstd

Neutral weight standard deviation.

real (kind=8), dimension(:), allocatable neu_module::neu_node_temp

Neutral temperature.

real (kind=8), dimension(:), allocatable neu_module::neu_node_varsum

Weight sum for weight variance calculation.

real (kind=8), dimension(:), allocatable neu_module::neu_node_vol

Neutral cell volume.

real (kind=8), dimension(:), allocatable neu_module::neu_node_vsum

Weight sum for neutral bulk flow calculation.

real (kind=8), dimension(:), allocatable neu_module::neu_node_wsum

Weight sum for neutral density calculation.

real (kind=8), dimension(:), allocatable neu_module::neu_norm_baseden

Holds normalized neutral density from ion flux to wall.

real (kind=8) neu_module::neu_nr
integer neu_module::neu_num

Number of neutral particles per thread.

real (kind=8) neu_module::neu_old_inside_weight
real (kind=8) neu_module::neu_peak_theta

Poloidal angle at which the neutral source is peak.

real (kind=8) neu_module::neu_psi_edge
real (kind=8), dimension(neu_mtheta) neu_module::neu_r0
real (kind=8), dimension(2) neu_module::neu_rad_edge
real (kind=8), dimension(2) neu_module::neu_rad_edge2
real (kind=8), dimension(:), allocatable neu_module::neu_rbirth
real (kind=8) neu_module::neu_recycle_rate

Fraction of lost ions that are recycled.

real (kind=8) neu_module::neu_sep_dtheta
integer, parameter neu_module::neu_sep_mtheta =200
integer neu_module::neu_sep_mtheta_file
real (kind=8), dimension(neu_sep_mtheta) neu_module::neu_sep_r
real (kind=8), dimension(:), allocatable neu_module::neu_sep_r_file
real (kind=8), dimension(neu_sep_mtheta) neu_module::neu_sep_z
real (kind=8), dimension(:), allocatable neu_module::neu_sep_z_file
character (len=128) neu_module::neu_sepfile
logical neu_module::neu_source_match_flux

If true, weight of new neutrals matches incoming ion flux; if false, uniform neutral weight.

integer neu_module::neu_start_time

Start time of neutral recycling in ion time steps.

real (kind=8) neu_module::neu_t0
real (kind=8) neu_module::neu_temp0

Neutral temperature boundary condition.

real (kind=8) neu_module::neu_temp_factor
real (kind=8), dimension(2) neu_module::neu_theta_edge
real (kind=8), dimension(2) neu_module::neu_theta_edge2
real (kind=8) neu_module::neu_theta_x
real (kind=8) neu_module::neu_theta_x2
logical neu_module::neu_update_elec
integer neu_module::neu_varying_mfp
real (kind=8) neu_module::neu_weight_accum_ionized
real (kind=8) neu_module::neu_weight_accum_lost
real (kind=8) neu_module::neu_weight_lost_max

upper cutoff on the number of lost particles

real (kind=8), dimension(:), allocatable neu_module::neu_weight_sum_lost

Global number of ions lost to the wall.

real (kind=8), dimension(:,:), allocatable neu_module::neu_weight_wall_lost

Local number of ions lost to the wall.

real (kind=8), dimension(neu_mtheta) neu_module::neu_z0
real (kind=8), dimension(:), allocatable neu_module::neu_zbirth

(R,Z) coordinates of the neutral birth surface


The documentation for this module was generated from the following file: