XGC1
Functions/Subroutines
neutrals_degas2_wrappers.F90 File Reference

Functions/Subroutines

subroutine degas2_xgc_init_wrapper (root, nbirth, rbirth, zbirth, ebin_num, ebin_spacing, ebin_min, ebin_delta, nsp_plasma, nsp_neutral, random_index, random_values)
 Initialize DEGAS2 using XGC's Fortran MPI communicator. More...
 
subroutine xgc_flighttest_wrapper (num_markers, ntriangle, get_source, num_source_species, nsp_neutral, min_species_index, max_species_index, species_index_map, plasma_density, plasma_velocity, plasma_temperature, wall_source, wall_source_ebins, t_init, t_final, neutral_density, neutral_velocity, neutral_temperature, sources, source_totals)
 Run one DEGAS2 neutral-flight calculation. More...
 

Function/Subroutine Documentation

◆ degas2_xgc_init_wrapper()

subroutine degas2_xgc_init_wrapper ( integer(c_int), intent(in), value  root,
integer(c_int), intent(in), value  nbirth,
real(c_double), dimension(*), intent(in)  rbirth,
real(c_double), dimension(*), intent(in)  zbirth,
integer(c_int), intent(in), value  ebin_num,
integer(c_int), intent(in), value  ebin_spacing,
real(c_double), intent(in), value  ebin_min,
real(c_double), intent(in), value  ebin_delta,
integer(c_int), intent(inout)  nsp_plasma,
integer(c_int), intent(inout)  nsp_neutral,
integer(c_int), intent(out)  random_index,
real(c_double), dimension(*), intent(out)  random_values 
)

Initialize DEGAS2 using XGC's Fortran MPI communicator.

Parameters
root(in) root MPI rank
nbirth(in) number of neutral birth locations
rbirth(in) neutral birth R coordinates
zbirth(in) neutral birth Z coordinates
ebin_num(in) number of neutral-source energy bins
ebin_spacing(in) DEGAS2 energy-bin spacing selector
ebin_min(in) minimum energy-bin coordinate
ebin_delta(in) energy-bin coordinate spacing
nsp_plasma(inout) number of DEGAS2 plasma species
nsp_neutral(inout) number of DEGAS2 neutral species
random_index(out) DEGAS2 random-number index
random_values(out) DEGAS2 random-number state

◆ xgc_flighttest_wrapper()

subroutine xgc_flighttest_wrapper ( integer(c_int), intent(in), value  num_markers,
integer(c_int), intent(in), value  ntriangle,
integer(c_int), intent(in), value  get_source,
integer(c_int), intent(in), value  num_source_species,
integer(c_int), intent(in), value  nsp_neutral,
integer(c_int), intent(in), value  min_species_index,
integer(c_int), intent(in), value  max_species_index,
integer(c_int), dimension(*), intent(in)  species_index_map,
real(c_double), dimension(*), intent(in)  plasma_density,
real(c_double), dimension(*), intent(in)  plasma_velocity,
real(c_double), dimension(*), intent(in)  plasma_temperature,
real(c_double), dimension(*), intent(in)  wall_source,
real(c_double), dimension(*), intent(in)  wall_source_ebins,
real(c_double), intent(in), value  t_init,
real(c_double), intent(in), value  t_final,
real(c_double), dimension(*), intent(out)  neutral_density,
real(c_double), dimension(*), intent(out)  neutral_velocity,
real(c_double), dimension(*), intent(out)  neutral_temperature,
real(c_double), dimension(*), intent(out)  sources,
real(c_double), dimension(*), intent(out)  source_totals 
)

Run one DEGAS2 neutral-flight calculation.

All multidimensional arrays are passed as contiguous storage whose dimensions are established by the DEGAS2 interface.