XGCa
Functions/Subroutines
neutral_totalf.F90 File Reference
#include "t_coeff_mod_macro.h"
#include "mom_module.F90"
Include dependency graph for neutral_totalf.F90:

Functions/Subroutines

subroutine neutral_totalf_eq_profiles (f0_f, dt, axisym_parallelization_int, f0_node_cost, f_neut_maxwell, n_e, n_i, n_neut, T_neut, Te_ev, Ti_ev, rate_ion, delta_fi_neut_ion, neui_ionized)
 
subroutine neutral_totalf_reduce_ionization (axisym_parallelization_int, neui_ionized, sum_neui_ionized, sum_neue_ionized, sum_neu_weight_lost)
 
subroutine neutral_totalf_rescale (sum_neu_weight_lost, sum_neui_ionized, density_rescale, n_neut, neui_ionized, delta_fi_neut_ion, no_neutral_flag)
 
subroutine neutral_totalf_electron_ionization (f0_f, dt, axisym_parallelization_int, f0_node_cost, n_e, n_neut, rate_ion, neui_ionized, delta_fi_neut_ion, delta_fe_neut_ion_c2, delta_fe_neut_ion_h, delta_fe_neut_ion_l)
 
subroutine neutral_totalf_charge_exchange (f0_f, dt, axisym_parallelization_int, f0_node_cost, n_i, Ti_ev, n_neut, f_neut_maxwell, delta_fi_neut_cx, sum_ion_cx, sum_loss_cx)
 
subroutine neutral_totalf_reduce_charge_exchange (sum_ion_cx, sum_loss_cx)
 
subroutine neutral_totalf_finalize (f0_df0g, axisym_parallelization_int, n_neut, T_neut, delta_fi_neut_ion, delta_fi_neut_cx, delta_fe_neut_ion_c2, delta_fe_neut_ion_h, delta_fe_neut_ion_l, sum_ion_cx, sum_loss_cx)
 
subroutine neutral_totalf_setup (dt, tran)
 Sets up neutral_totalf variables, and birth locations. More...
 
subroutine neutral_set_sources (dt_background)
 Prepare the neutral source segments around limiter. More...
 
subroutine neutral_degas2_step (dt_background)
 
subroutine plasma (grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out, ignore_vacuum)
 Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using plasma moments from mom_module subroutine mom_module::calc_moments. More...
 

Function/Subroutine Documentation

◆ neutral_degas2_step()

subroutine neutral_degas2_step ( real(8), intent(in), value  dt_background)
Here is the call graph for this function:

◆ neutral_set_sources()

subroutine neutral_set_sources ( real(8), intent(in), value  dt_background)

Prepare the neutral source segments around limiter.

Parameters
grid(in) type(grid_type), XGC grid information
mass(in) real(8), neutral mass
Here is the call graph for this function:

◆ neutral_totalf_charge_exchange()

subroutine neutral_totalf_charge_exchange ( real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu, ptl_isp:ptl_nsp), intent(in)  f0_f,
real(8), intent(in), value  dt,
integer, intent(in), value  axisym_parallelization_int,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  f0_node_cost,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  n_i,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  Ti_ev,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  n_neut,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu, ptl_isp:ptl_nsp), intent(in)  f_neut_maxwell,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu), intent(inout)  delta_fi_neut_cx,
real (8), dimension(sml_nthreads), intent(inout)  sum_ion_cx,
real (8), dimension(sml_nthreads), intent(inout)  sum_loss_cx 
)
Here is the call graph for this function:

◆ neutral_totalf_electron_ionization()

subroutine neutral_totalf_electron_ionization ( real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu, ptl_isp:ptl_nsp), intent(in)  f0_f,
real(8), intent(in), value  dt,
integer, intent(in), value  axisym_parallelization_int,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  f0_node_cost,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  n_e,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  n_neut,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  rate_ion,
real (8), dimension(f0_inode1:f0_inode2,sml_nthreads), intent(in)  neui_ionized,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu), intent(inout)  delta_fi_neut_ion,
real (8), dimension(-f0_nvp:f0_nvp,f0_inode1:f0_inode2,0:f0_nmu), intent(inout)  delta_fe_neut_ion_c2,
real (8), dimension(-f0_nvp:f0_nvp,f0_inode1:f0_inode2,0:f0_nmu), intent(inout)  delta_fe_neut_ion_h,
real (8), dimension(-f0_nvp:f0_nvp,f0_inode1:f0_inode2,0:f0_nmu), intent(inout)  delta_fe_neut_ion_l 
)
Here is the call graph for this function:

◆ neutral_totalf_eq_profiles()

subroutine neutral_totalf_eq_profiles ( real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu, ptl_isp:ptl_nsp), intent(in)  f0_f,
real(8), intent(in), value  dt,
integer, intent(in), value  axisym_parallelization_int,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  f0_node_cost,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu, ptl_isp:ptl_nsp), intent(inout)  f_neut_maxwell,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  n_e,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  n_i,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  n_neut,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  T_neut,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  Te_ev,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  Ti_ev,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  rate_ion,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu), intent(inout)  delta_fi_neut_ion,
real (8), dimension(f0_inode1:f0_inode2,sml_nthreads), intent(inout)  neui_ionized 
)
Here is the call graph for this function:

◆ neutral_totalf_finalize()

subroutine neutral_totalf_finalize ( real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu, ptl_isp:ptl_nsp), intent(inout)  f0_df0g,
integer, intent(in), value  axisym_parallelization_int,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  n_neut,
real (8), dimension(f0_inode1:f0_inode2), intent(in)  T_neut,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu), intent(inout)  delta_fi_neut_ion,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu), intent(inout)  delta_fi_neut_cx,
real (8), dimension(-f0_nvp:f0_nvp,f0_inode1:f0_inode2,0:f0_nmu), intent(inout)  delta_fe_neut_ion_c2,
real (8), dimension(-f0_nvp:f0_nvp,f0_inode1:f0_inode2,0:f0_nmu), intent(inout)  delta_fe_neut_ion_h,
real (8), dimension(-f0_nvp:f0_nvp,f0_inode1:f0_inode2,0:f0_nmu), intent(inout)  delta_fe_neut_ion_l,
real (8), dimension(sml_nthreads), intent(inout)  sum_ion_cx,
real (8), dimension(sml_nthreads), intent(inout)  sum_loss_cx 
)
Here is the call graph for this function:

◆ neutral_totalf_reduce_charge_exchange()

subroutine neutral_totalf_reduce_charge_exchange ( real (8), dimension(sml_nthreads), intent(inout)  sum_ion_cx,
real (8), dimension(sml_nthreads), intent(inout)  sum_loss_cx 
)
Here is the call graph for this function:

◆ neutral_totalf_reduce_ionization()

subroutine neutral_totalf_reduce_ionization ( integer, intent(in), value  axisym_parallelization_int,
real (8), dimension(f0_inode1:f0_inode2,sml_nthreads), intent(inout)  neui_ionized,
real (8), intent(out)  sum_neui_ionized,
real (8), intent(out)  sum_neue_ionized,
real (8), intent(out)  sum_neu_weight_lost 
)
Here is the call graph for this function:

◆ neutral_totalf_rescale()

subroutine neutral_totalf_rescale ( real (8), intent(in)  sum_neu_weight_lost,
real (8), intent(inout)  sum_neui_ionized,
real (8), intent(out)  density_rescale,
real (8), dimension(f0_inode1:f0_inode2), intent(inout)  n_neut,
real (8), dimension(f0_inode1:f0_inode2,sml_nthreads), intent(inout)  neui_ionized,
real (8), dimension(-f0_nvp:f0_nvp, f0_inode1:f0_inode2, 0:f0_nmu), intent(inout)  delta_fi_neut_ion,
integer, intent(out)  no_neutral_flag 
)
Here is the call graph for this function:

◆ neutral_totalf_setup()

subroutine neutral_totalf_setup ( real (8), intent(in), value  dt,
real (8), intent(in), value  tran 
)

Sets up neutral_totalf variables, and birth locations.

Parameters
grid(in) type(grid_type), XGC grid information

◆ plasma()

subroutine plasma ( type(grid_type grid,
integer, intent(in)  itr,
real (kind=8), dimension(3), intent(in)  p,
real (kind=8), intent(out)  dene_out,
real (kind=8), intent(out)  deni_out,
real (kind=8), intent(out)  Te_out,
real (kind=8), intent(out)  Ti_out,
real (kind=8), intent(out)  Vparai_out,
logical, intent(in)  ignore_vacuum 
)

Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using plasma moments from mom_module subroutine mom_module::calc_moments.

Parameters
grid(in) type(grid_type), XGC grid information
itr(in) integer, Triangle for point to calculate plasma quantities
p(in) real(8) [3], Triangle weights for interpolating node quantities onto point
dene_out(out) real(8), Electron density at point
deni_out(out) real(8), Ion density at point
Te_out(out) real(8), Electron temperature at point
Ti_out(out) real(8), Ion temperature at point
Vparai_out(out) real(8), Ion parallel velocity at point
Here is the caller graph for this function: