Procedures

ProcedureLocationProcedure TypeDescription
Aborter convert Subroutine
add_adiabatic_response_radial fields_radial_variation Subroutine

Add the adiabatic eletron contribution for globally radial simulations. This actually entails solving for the whole ky = 0 slice of phi at once (not really adding!)

add_correction_ffs ffs_solve Subroutine
add_drifts_contribution_apar implicit_solve Subroutine
add_explicit_term time_advance Subroutine
add_explicit_term_ffs time_advance Subroutine

add vM . grad y d/dy or vM . grad x d/dx (or equivalents with g) or omega_* * d/dy term to RHS of GK equation

add_explicit_term_ffs_fields ffs_solve Subroutine
add_gbar_to_g_contribution_apar implicit_solve Subroutine

adds the contributions to the GKE RHS that comes from switching from gbar^{n+1} = g^{n+1} + (Ze/T)(vpa/c)*F0 to g^{n+1} = in the time derivative;

add_krook_operator sources Subroutine
add_mirror_radial_variation mirror_terms Subroutine
add_mirror_term mirror_terms Subroutine
add_mirror_term_ffs mirror_terms Subroutine
add_multibox_krook multibox Subroutine
add_parallel_streaming_radial_variation parallel_streaming Subroutine
add_radial_correction_int_species fields_radial_variation Subroutine

Add radial variation of the Jacobian and gyroaveraing in the velocity integration of , needed for radially global simulations

add_stream_term parallel_streaming Subroutine
add_stream_term_full_ffs parallel_streaming Subroutine
advance_apar fields_electromagnetic Subroutine

Layouts Parameters Grids Calculations

advance_collisions_dougherty_explicit coll_dougherty Subroutine
advance_collisions_dougherty_implicit coll_dougherty Subroutine
advance_collisions_explicit dissipation Subroutine
advance_collisions_fp_explicit coll_fokkerplanck Subroutine
advance_collisions_fp_implicit coll_fokkerplanck Subroutine
advance_collisions_implicit dissipation Subroutine

switch the vpa integration weights to ensure correct integration by parts

advance_ExB_nonlinearity time_advance Subroutine

compute phase factor needed when running with equilibrium flow shear compute ikyg FFT to get dg/dy in (y,x) space compute ikx zero out the zonal contribution to d/dx if requested if running with equilibrium flow shear, make adjustment to the term multiplying dg/dy FFT to get d/dx in (y,x) space multiply by the geometric factor appearing in the Poisson bracket; i.e., (dx/dpsidy/dalpha)0.5 compute the contribution to the Poisson bracket from dg/dy*d/dx

Read more…
advance_explicit time_advance Subroutine

advance_explicit takes as input the guiding centre distribution function in k-space and updates it to account for all of the terms in the GKE that are advanced explicitly in time

Read more…
advance_explicit_euler time_advance Subroutine

advance_explicit_euler uses forward Euler to advance one time step

Read more…
advance_explicit_rk2 time_advance Subroutine

advance_expliciit_rk2 uses strong stability-preserving RK2 to advance one time step

Read more…
advance_explicit_rk3 time_advance Subroutine

strong stability-preserving RK3

Read more…
advance_explicit_rk4 time_advance Subroutine

standard RK4

Read more…
advance_fields fields Subroutine

This calls the appropriate routines needed to all fields in the main code. This routine calls the appropriate update depending on the effects included in the simulation (e.g. Electrostatic, Full Flux surface effects or Radiatl Variation effects).

Read more…
advance_fields_fluxtube fields_fluxtube Subroutine

This calls the appropriate routines needed to advance phi in the main code when using fluxtube stella, depending on the distribution (i.e. if the information is parallelised over (kx,ky,z) or (vpa,mu) ). Note that Apar and Bpar are only advanced when using EM so these are in fields_electromagnetic.fpp

Read more…
advance_hyper_dissipation hyper Subroutine

avoid spatially dependent kperp add in hyper-dissipation of form dg/dt = -D(k/kmax)^4g add in hyper-dissipation of form dg/dt = -D(k/kmax)^4g

advance_hyper_explicit time_advance Subroutine
advance_hyper_vpa hyper Subroutine

computes the fourth derivative of g in vpa and returns this in dgdvpa multiplied by the vpa diffusion coefficient

advance_hyper_zed hyper Subroutine

computes the fourth derivative of g in z and returns this in dgdz multiplied by the z hyper diffusion coefficient

advance_implicit time_advance Subroutine
advance_implicit_fp coll_fokkerplanck Subroutine
advance_implicit_terms implicit_solve Subroutine

dist_choice indicates whether the non-Boltzmann part of the pdf (h) is evolved in parallel streaming or if the guiding centre distribution (g = ) is evolved

Read more…
advance_mirror_explicit mirror_terms Subroutine

advance_mirror_explicit calculates the contribution to the RHS of the gyrokinetic equation due to the mirror force term; it treats all terms explicitly in time

Read more…
advance_mirror_implicit mirror_terms Subroutine
advance_mudiff_implicit coll_dougherty Subroutine
advance_parallel_flow_shear flow_shear Subroutine
advance_parallel_nonlinearity time_advance Subroutine

check estimated cfl_dt to see if the time step size needs to be changed

advance_parallel_streaming_explicit parallel_streaming Subroutine

if flux tube simulation parallel streaming stays in ky,kx,z space with ky,kx,z local if full flux surface (flux annulus), will need to calculate in y space start the timer for the parallel streaming part of the time advance

Read more…
advance_perp_flow_shear flow_shear Subroutine
advance_radial_variation time_advance Subroutine
advance_stella time_advance Subroutine

unless running in multibox mode, no need to worry about mb_communicate calls as the subroutine is immediately exited if not in multibox mode. save value of phi & apar for use in diagnostics (to obtain frequency) reverse the order of operations every time step as part of alternating direction operator splitting this is needed to ensure 2nd order accuracy in time

Read more…
advance_vpadiff_implicit coll_dougherty Subroutine
advance_wdriftx_explicit time_advance Subroutine

advance_wdriftx_explicit subroutine calculates and adds the x-component of the magnetic drift term to the RHS of the GK equation

Read more…
advance_wdrifty_explicit time_advance Subroutine

advance_wdrifty_explicit subroutine calculates and adds the y-component of the magnetic drift term to the RHS of the GK equation

Read more…
advance_wstar_explicit time_advance Subroutine

start timing the time advance due to the driving gradients

Read more…
all_to_group mp Interface
all_to_group_real mp Subroutine
all_to_group_real_array mp Subroutine
allocate_arrays time_advance Subroutine
allocate_arrays geometry Subroutine
allocate_arrays geometry_miller Subroutine
allocate_arrays dist_fn Subroutine
allocate_arrays fields Subroutine

Allocate arrays needed for solving fields for all versions of stella

Read more…
allocate_arrays_geo geometry_inputprofiles_interface Subroutine
allocate_arrays_radial_variation fields_radial_variation Subroutine
allocate_arrays_spec geometry_inputprofiles_interface Subroutine
allocate_fields_electromagnetic fields_electromagnetic Subroutine

Allocate arrays needed for solving electromagnetic fields This includes Apar and Bpar

Read more…
alpha_numeric ezcdf_inqvar Subroutine
apply_field_solve_to_finish_response_matrix response_matrix Subroutine

set up offset_apar and offset_bpar consistently so that the array slices below are consistent with the size of the response matrix

apply_radial_boundary_conditions multibox Subroutine
associated_laguerre coll_fokkerplanck Function
associated_legendre coll_fokkerplanck Function
band_lu_factorisation_ffs gyro_averages Subroutine
band_lu_factorisation_single gyro_averages Subroutine
band_lu_solve_ffs gyro_averages Subroutine
band_lu_solve_ffs_single gyro_averages Subroutine
barrier mp Subroutine
bcastfrom_character mp Subroutine
bcastfrom_complex mp Subroutine
bcastfrom_complex_2array mp Subroutine
bcastfrom_complex_array mp Subroutine
bcastfrom_integer mp Subroutine
bcastfrom_integer_array mp Subroutine
bcastfrom_logical mp Subroutine
bcastfrom_logical_array mp Subroutine
bcastfrom_real mp Subroutine
bcastfrom_real_array mp Subroutine
broadcast mp Interface
broadcast_arrays geometry Subroutine
broadcast_character mp Subroutine
broadcast_complex mp Subroutine
broadcast_complex_2array mp Subroutine
broadcast_complex_3array mp Subroutine
broadcast_complex_4array mp Subroutine
broadcast_complex_array mp Subroutine
broadcast_integer mp Subroutine
broadcast_integer_array mp Subroutine
broadcast_logical mp Subroutine
broadcast_logical_array mp Subroutine
broadcast_parameters zgrid Subroutine
broadcast_parameters grids_kxky Subroutine
broadcast_parameters species Subroutine
broadcast_real mp Subroutine
broadcast_real_2array mp Subroutine
broadcast_real_3array mp Subroutine
broadcast_real_4array mp Subroutine
broadcast_real_5array mp Subroutine
broadcast_real_array mp Subroutine
broadcast_results stella_layouts Subroutine
broadcast_with_comm mp Subroutine
c2r convert Interface
c_fill_2 redistribute Subroutine
c_fill_3 redistribute Subroutine
c_fill_4 redistribute Subroutine
c_redist_12 redistribute Subroutine
c_redist_22 redistribute Subroutine
c_redist_22_inv redistribute Subroutine
c_redist_22_inv_mpi_copy redistribute Subroutine
c_redist_22_inv_old_copy redistribute Subroutine
c_redist_22_mpi_copy redistribute Subroutine
c_redist_22_old_copy redistribute Subroutine
c_redist_23 redistribute Subroutine
c_redist_32 redistribute Subroutine
c_redist_32_inv redistribute Subroutine
c_redist_32_inv_mpi_copy redistribute Subroutine
c_redist_32_inv_old_copy redistribute Subroutine
c_redist_32_mpi_copy redistribute Subroutine
c_redist_32_old_copy redistribute Subroutine
c_redist_33 redistribute Subroutine
c_redist_33_inv redistribute Subroutine
c_redist_34 redistribute Subroutine
c_redist_34_inv redistribute Subroutine
c_redist_35 redistribute Subroutine
c_redist_35_inv redistribute Subroutine
c_redist_42 redistribute Subroutine
c_redist_42_inv redistribute Subroutine
calc_delta0 coll_fokkerplanck Subroutine
calc_deltaj_vmu coll_fokkerplanck Subroutine
calc_psi_vmu coll_fokkerplanck Subroutine
calculate_distribution diagnostics_distribution Subroutine
calculate_fluxes_fluxtube diagnostics_fluxes_fluxtube Subroutine
calculate_fluxes_fullfluxsurface diagnostics_fluxes_fullfluxsurface Subroutine

Calculate the total particle, momentum and heat fluxes (pflux_vs_s, vflux_vs_s, qflux_vs_s) and the contributions from a given (kx,ky,z) location (pflux_kxkyz, vflux_kxkyz, qflux_kxkyz) inputs are the particle density (dens), parallel flow (upar) and pressure (pres)

Read more…
calculate_fluxes_radialvariation diagnostics_fluxes_radialvariation Subroutine
calculate_moments_fullfluxsurface diagnostics_fluxes_fullfluxsurface Subroutine

For momentum flux species-dependent factor by which velocity moments must be multiplied to get density, pressure, etc. set species-dependent factors needed for density, parallel flow and pressure Already allocated arrays (allocated in time_advance.f90). Set to zero just in case

Read more…
calculate_omega diagnostics_omega Subroutine
calculate_theta geometry_vmec_read_netCDF_file Subroutine
calculate_velocity_integrals vpamu_grids Subroutine
calculate_vmec_geometry geometry_vmec_read_netCDF_file Subroutine

Use R(ialpha,izeta) and Z(ialpha,izeta), to compute X = R * cos(zeta) Y = R * sin(zeta)

Read more…
calculate_vspace_integrated_response response_matrix Subroutine
cdf_close ezcdf_opncls Interface
cdf_inquire ezcdf_inqvar Subroutine
cdf_open ezcdf_opncls Interface
cdf_read ezcdf_GenGet Interface
cdfCls ezcdf_opncls Interface
cdfGetVar ezcdf_GenGet Interface
cdfgv ezcdf_inqvar Subroutine
cdfInqV ezcdf_inqvar Subroutine
cdfInqVar ezcdf_inqvar Subroutine
cdfInqVarDim ezcdf_inqvar Interface
cdfOpn ezcdf_opncls Interface
cdfr_0c16 ezcdf_GenGet Subroutine
cdfr_0c8 ezcdf_GenGet Subroutine
cdfr_0d ezcdf_GenGet Subroutine
cdfr_0f ezcdf_GenGet Subroutine
cdfr_0i ezcdf_GenGet Subroutine
cdfr_0l ezcdf_GenGet Subroutine
cdfr_1c ezcdf_GenGet Subroutine
cdfr_1c16 ezcdf_GenGet Subroutine
cdfr_1c8 ezcdf_GenGet Subroutine
cdfr_1d ezcdf_GenGet Subroutine
cdfr_1f ezcdf_GenGet Subroutine
cdfr_1i ezcdf_GenGet Subroutine
cdfr_1l ezcdf_GenGet Subroutine
cdfr_2c ezcdf_GenGet Subroutine
cdfr_2c16 ezcdf_GenGet Subroutine
cdfr_2c8 ezcdf_GenGet Subroutine
cdfr_2d ezcdf_GenGet Subroutine
cdfr_2f ezcdf_GenGet Subroutine
cdfr_2i ezcdf_GenGet Subroutine
cdfr_2l ezcdf_GenGet Subroutine
cdfr_3c16 ezcdf_GenGet Subroutine
cdfr_3c8 ezcdf_GenGet Subroutine
cdfr_3d ezcdf_GenGet Subroutine
cdfr_3f ezcdf_GenGet Subroutine
cdfr_3i ezcdf_GenGet Subroutine
cdfr_3l ezcdf_GenGet Subroutine
ceez fitpack.f Subroutine
cell_centres_zed finite_differences Subroutine
center_zed parallel_streaming Interface
center_zed_extended parallel_streaming Subroutine
center_zed_segment_complex parallel_streaming Subroutine

center_zed_segment_complex takes as arguments the vpa index (iv) the z-depenendent conplex function f, and the starting iz index for the array f (llim), and overwrites f with the cell-centered version;

center_zed_segment_real parallel_streaming Subroutine

center_zed_segment_real takes as arguments the vpa index (iv) the z-depenendent real function f, and the starting iz index for the array f (llim), and overwrites f with the cell-centered version

check_laguerre_weights gauss_quad Subroutine
check_laguerre_zeros gauss_quad Subroutine
check_legendre_weights gauss_quad Subroutine
check_legendre_zero gauss_quad Subroutine
check_netcdf_file_precision netcdf_utils Subroutine
check_transforms stella Subroutine

check_transforms checks the various physics flag choices to determine if FFTs are needed for the simulation

Read more…
checkcodedt stella_time Subroutine
checksaturation diagnostics_omega Subroutine
checkstop job_manage Subroutine
checksum time_advance Interface
checksum dist_fn Interface
checksum_dist time_advance Subroutine
checksum_dist dist_fn Subroutine
checksum_field time_advance Subroutine
checksum_field dist_fn Subroutine
checktime job_manage Subroutine
cl_getarg command_line Subroutine
cl_iargc command_line Function
close_output_file file_utils Subroutine
comm_free mp Subroutine
comm_split mp Subroutine
communicate_geo_multibox geometry Subroutine
communicate_ktgrids_multibox calculations_kxky Subroutine
communicate_multibox_parameters multibox Subroutine
communicate_parameters_multibox geometry_miller Subroutine
communicate_species_multibox species Subroutine
Compute_Currents read_wout_mod Subroutine
conserve_energy coll_dougherty Subroutine
conserve_energy_vmulo coll_dougherty Subroutine
conserve_momentum coll_dougherty Subroutine
conserve_momentum_vmulo coll_dougherty Subroutine
construct_response_matrix response_matrix Subroutine
curv1 fitpack.f Subroutine
curv2 fitpack.f Function
curvd fitpack.f Function
curvi fitpack.f Function
curvp1 fitpack.f Subroutine
curvp2 fitpack.f Function
curvpi fitpack.f Function
curvpp fitpack.f Subroutine
curvps fitpack.f Subroutine
curvs fitpack.f Subroutine
curvss fitpack.f Subroutine
d2_3pt finite_differences Interface
d2_3pt_complex finite_differences Subroutine
d2_3pt_real finite_differences Subroutine
deallocate_arrays time_advance Subroutine
deallocate_arrays geometry_miller Subroutine
deallocate_arrays dist_fn Subroutine
deallocate_arrays_geo geometry_inputprofiles_interface Subroutine
deallocate_arrays_spec geometry_inputprofiles_interface Subroutine
dedge splines Function
define_vars stella_io Subroutine
delete_fft fft_work Subroutine
delete_list redistribute Subroutine
delete_redist redistribute Subroutine
diagnostics_stella diagnostics Subroutine Read more…
distribute_vmus_over_procs neoclassical_terms Subroutine
dump_radial_grid write_radial_grid Subroutine
dump_species_input species Subroutine
enforce_density_conservation sources Subroutine
enforce_momentum_conservation sources Subroutine
enforce_single_valued_kperp2 dist_fn Subroutine
error_unit file_utils Function
ezcdf_close ezcdf_opncls Subroutine
ezcdf_open ezcdf_opncls Subroutine
fd3pt finite_differences Interface
fd3pt_complex_array finite_differences Subroutine
fd3pt_real finite_differences Subroutine
fd3pt_real_array finite_differences Subroutine
fd5pt finite_differences Interface
fd5pt_array finite_differences Subroutine
fd5pt_real finite_differences Subroutine
fd_cell_centres_zed finite_differences Subroutine
fd_variable_upwinding_vpa finite_differences Subroutine
fd_variable_upwinding_zed finite_differences Subroutine
fieldline_average volume_averages Interface
fieldline_average_complex volume_averages Subroutine
fieldline_average_real volume_averages Subroutine
fifth_order_upwind finite_differences Interface
fifth_order_upwind_complex finite_differences Subroutine
fifth_order_upwind_real finite_differences Subroutine
fill redistribute Interface
fill_zed_ghost_zones extended_zgrid Subroutine
fill_zext_ghost_zones extended_zgrid Subroutine
filter_geo_coef vmec_geometry Subroutine
find_max_required_kalpha_index gyro_averages Subroutine

subroutine takes a set of Fourier coefficients (ft) and returns the minimum number of coeffients that must be retained (idx) to ensure that the relative error in the total spectral energy is below a specified tolerance (tol_floor)

find_zero gauss_quad Subroutine
find_zero_bisect_newton gauss_quad Subroutine
finish_bessel gyro_averages Subroutine
finish_collisions dissipation Subroutine
finish_collisions_dougherty coll_dougherty Subroutine
finish_collisions_fp coll_fokkerplanck Subroutine
finish_deltaj coll_fokkerplanck Subroutine
finish_diagnostics diagnostics Subroutine
finish_diagnostics_fluxes diagnostics_fluxes Subroutine
finish_diagnostics_omega diagnostics_omega Subroutine
finish_diagnostics_potential diagnostics_potential Subroutine
finish_dissipation dissipation Subroutine
finish_dist_fn dist_fn Subroutine
finish_extended_zgrid extended_zgrid Subroutine
finish_fields fields Subroutine

Parameters Arrays TODO-GA: move apar stuff to EM fields Routines for deallocating arrays fields depending on the physics being simulated TODO-GA: REMOVE TODO-GA: move the above deallocations into 'finish_fields_electromagnetic' when EM is decoupled

finish_fields_electromagnetic fields_electromagnetic Subroutine

TODO-GA:

finish_fields_ffs fields_ffs Subroutine

arrays only allocated/used if simulating a full flux surface

finish_file_utils file_utils Subroutine
finish_flow_shear flow_shear Subroutine
finish_fp_diffmatrix coll_fokkerplanck Subroutine
finish_fp_response coll_fokkerplanck Subroutine
finish_geometry geometry Subroutine
finish_grids_kxky grids_kxky Subroutine
finish_init_g init_g Subroutine
finish_init_geometry geometry Subroutine
finish_invert_mirror_operator mirror_terms Subroutine
finish_invert_stream_operator parallel_streaming Subroutine
finish_kperp2 dist_fn Subroutine
finish_layouts stella_layouts Subroutine
finish_local_geo geometry_miller Subroutine
finish_mb_transforms multibox Subroutine
finish_mirror mirror_terms Subroutine
finish_mirror_response mirror_terms Subroutine
finish_mirror_semi_lagrange mirror_terms Subroutine
finish_mp mp Subroutine
finish_mu_grid vpamu_grids Subroutine
finish_mudiff_matrix coll_dougherty Subroutine
finish_mudiff_response coll_dougherty Subroutine
finish_multibox multibox Subroutine
finish_neoclassical_terms neoclassical_terms Subroutine
finish_nusDpa coll_fokkerplanck Subroutine
finish_parallel_nonlinearity time_advance Subroutine
finish_parallel_streaming parallel_streaming Subroutine
finish_radial_fields fields_radial_variation Subroutine
finish_read_parameters_physics parameters_physics Subroutine
finish_redistribute dist_redistribute Subroutine
finish_response_matrix response_matrix Subroutine
finish_save stella_save Subroutine
finish_sources sources Subroutine
finish_species species Subroutine
finish_stella stella Subroutine

Finish a simulation, call the finialisation routines of all modules

finish_stella_io stella_io Subroutine
finish_time_advance time_advance Subroutine
finish_transforms stella_transforms Subroutine
finish_volume_averages volume_averages Subroutine
finish_vpa_grid vpamu_grids Subroutine
finish_vpadiff_matrix coll_dougherty Subroutine
finish_vpadiff_response coll_dougherty Subroutine
finish_vpamu_grids vpamu_grids Subroutine
finish_vperp2 dist_fn Subroutine
finish_wdrift time_advance Subroutine
finish_wstar time_advance Subroutine
finish_zgrid zgrid Subroutine
first_order_upwind finite_differences Interface
first_order_upwind_complex finite_differences Subroutine
first_order_upwind_real finite_differences Subroutine
first_order_upwind_zed finite_differences Subroutine
fitp_ceez splines Subroutine
fitp_curv1 splines Subroutine
fitp_curv2 splines Function
fitp_curvd splines Function
fitp_curvi splines Function
fitp_curvp1 splines Subroutine
fitp_curvp2 splines Function
fitp_curvpd splines Function
fitp_curvpi splines Function
fitp_curvpp splines Subroutine
fitp_curvps splines Subroutine
fitp_curvs splines Subroutine
fitp_curvss splines Subroutine
fitp_intrvl splines Function
fitp_intrvp splines Function
fitp_kurv1 splines Subroutine
fitp_kurv2 splines Subroutine
fitp_kurvd splines Subroutine
fitp_kurvp1 splines Subroutine
fitp_kurvp2 splines Subroutine
fitp_kurvpd splines Subroutine
fitp_snhcsh splines Subroutine
fitp_surf1 splines Subroutine
fitp_surf2 splines Function
fitp_terms splines Subroutine
flush_output_file file_utils Subroutine
flux_surface_average_ffs volume_averages Subroutine
four_point_triangle finite_differences Interface
four_point_triangle_complex finite_differences Subroutine
four_point_triangle_real finite_differences Subroutine
fourth_derivate_second_centered_vpa finite_differences Subroutine
fourth_derivative_second_centered_zed finite_differences Subroutine
fourth_order_centered finite_differences Interface
fourth_order_centered_complex finite_differences Subroutine
fourth_order_centered_real finite_differences Subroutine
g_to_f g_tofrom_h Interface
g_to_f0 diagnostics_fluxes_fullfluxsurface Subroutine

the Fourier components of the guiding centre distribution function normalized by the equilibrium Maxwellian is passed in as g, along with the Fourier components of the electrostatic potential, phi. g_to_f calculates the Maxwellian-normalized distribution function f, which is related to g via f = g + (Ze/T)*(_R - phi)

Read more…
g_to_f1 diagnostics_fluxes_fullfluxsurface Subroutine

compute phi * maxwellian in real space and transform back to k-space phiy = maxwellian * phi Put this back into k-space for future calculations Note that adjust here is (_R - phi) * maxwellian calculate the normalized f, given (_R - phi) f = g + Z/T * ( - phi) * maxwellian f = g + J0 * phi * maxwellian

g_to_f_kxkyz g_tofrom_h Subroutine
g_to_f_vmu g_tofrom_h Subroutine
g_to_h g_tofrom_h Interface
g_to_h_kxkyz g_tofrom_h Subroutine

adjust bpar part of Zs / Ts

g_to_h_vmu g_tofrom_h Subroutine
g_to_h_vmu_single g_tofrom_h Subroutine

adjust bpar part of Zs / Ts

gamlow coll_fokkerplanck Subroutine
gamup coll_fokkerplanck Subroutine
gather redistribute Interface
gbar_to_g g_tofrom_h Interface
gbar_to_g_1d_vpa g_tofrom_h Subroutine

adjust apar part of Zs / Ts

gbar_to_g_kxkyz g_tofrom_h Subroutine

adjust apar part of Zs / Ts

gbar_to_g_vmu g_tofrom_h Subroutine
gbar_to_g_vmu_single g_tofrom_h Subroutine

adjust apar part of

gbar_to_g_zext implicit_solve Subroutine
geo_spline splines Interface
geo_spline_array splines Subroutine
geo_spline_real splines Subroutine
get_apar fields_electromagnetic Subroutine

Get_apar solves pre-factor * Apar = beta_ref * sum_s Z_s n_s vth_s int d3v vpa * J0 * pdf for apar, with pdf being either g or gbar (specified by dist input). the input apar is the RHS of the above equation and is overwritten by the true apar the pre-factor depends on whether g or gbar is used (kperp2 in former case, with additional term appearing in latter case)

Read more…
get_apar_for_response_matrix response_matrix Subroutine
get_arc_length_grid zgrid Subroutine
get_b_dot_grad_z_averaged_eqarc geometry Subroutine
get_contributions_from_apar implicit_solve Subroutine

get_contributions_from_apar takes as input the appropriately averaged parallel component of the vector potential, apar, and returns in rhs the sum of the source terms involving apar that appear on the RHS of the GK equation when g is the pdf

get_contributions_from_bpar implicit_solve Subroutine

get_contributions_from_bpar takes as input the appropriately averaged electrostatic potential bpar and returns in rhs the sum of the source terms involving bpar that appear on the RHS of the GK equation when g is the pdf

get_contributions_from_fields implicit_solve Subroutine

get_contributions_from_fields takes as input the appropriately averaged electrostatic potential phi and magnetic vector potential components apar and returns in rhs the sum of the source terms involving phi and apar that appear on the RHS of the GK equation when g is the pdf

get_contributions_from_pdf implicit_solve Subroutine

get_contributions_from_pdf takes as an argument the evolved pdf (either guiding centre distribution g= or maxwellian-normlized, non-Boltzmann distribution h/F0=f/F0+(Ze*phi/T)) and the scratch array rhs, and returns the source terms that depend on the pdf in rhs

get_contributions_from_phi implicit_solve Subroutine

get_contributions_from_phi takes as input the appropriately averaged electrostatic potential phi and returns in rhs the sum of the source terms involving phi that appear on the RHS of the GK equation when g is the pdf

Read more…
get_d2Bdr2 geometry_miller Subroutine
get_d2dthet2 geometry_miller Subroutine
get_d2Idr2_d2jacdr2 geometry_miller Subroutine
get_d2RZdr2 geometry_miller Subroutine
get_d2varthdr2 geometry_miller Subroutine
get_dBdrho geometry_miller Subroutine
get_dchidx fields Subroutine

Compute d/dx in (ky,kx) space

Read more…
get_dchidy fields Interface

TODO-GA: MOVE

get_dchidy_2d fields Subroutine

Compute d/dy in (ky,kx) space

Read more…
get_dchidy_4d fields Subroutine

Compute d/dy and d/dx in (ky,kx) space where <.> is a gyroaverage d/dy = i * ky * J0 * chi d/dx = i * kx * J0 * chi chi = phi - Z/T * vpa * apar There are different routines depending on the size of the input array TODO-GA: maybe separate for EM and electrostatic Compute d/dy in (ky,kx,z,tube) space

Read more…
get_dcrossdr geometry_miller Subroutine
get_dfneo_drho neoclassical_terms Subroutine
get_dfneo_dvpa neoclassical_terms Subroutine
get_dfneo_dzed neoclassical_terms Subroutine
get_dgdvpa_explicit mirror_terms Subroutine
get_dgdvpa_ffs mirror_terms Subroutine
get_dgdvpa_fourth_order hyper Subroutine
get_dgdx ffs_solve Subroutine
get_dgdx time_advance Interface
get_dgdx_2d time_advance Subroutine

compute dg/dx in k-space accepts g(ky,kx)

get_dgdx_3d time_advance Subroutine

compute dg/dx in k-space accepts g(ky,kx,z,tube)

get_dgdx_4d time_advance Subroutine

compute dg/dx in k-space accepts g(ky,kx,z,tube,(vpa,mu,spec))

get_dgdy ffs_solve Subroutine
get_dgdy time_advance Interface
get_dgdy_2d time_advance Subroutine

compute dg/dy in k-space accepts g(ky,kx)

get_dgdy_3d time_advance Subroutine

compute dg/dy in k-space accepts g(ky,kx,z,tube)

get_dgdy_4d time_advance Subroutine

compute dg/dy in k-space accepts g(ky,kx,z,tube,(vpa,mu,spec))

get_dgdz parallel_streaming Subroutine
get_dgdz_centered parallel_streaming Subroutine
get_dgdz_fourth_order hyper Subroutine
get_dgr2dr geometry_miller Subroutine
get_dIdrho geometry_miller Subroutine
get_djacdrho geometry_miller Subroutine
get_dpdf_dapar_matrix_column response_matrix Subroutine
get_dpdf_dbpar_matrix_column response_matrix Subroutine
get_dpdf_dphi_matrix_column response_matrix Subroutine

TOGO-GA: check division rather than multiplication -- kept division for now to be consistent with parallel_streaming phase shift

get_dphineo_drho neoclassical_terms Subroutine
get_dphineo_dzed neoclassical_terms Subroutine
get_drho geometry_miller Subroutine
get_drifts_ffs_itteration ffs_solve Subroutine
get_dthet geometry_miller Subroutine
get_dvarthdr geometry_miller Subroutine
get_dzed parallel_streaming Subroutine
get_dzed geometry Subroutine
get_factor_for_fluxsurfaceaverage diagnostics_fluxes_fluxtube Subroutine
get_fields_by_spec fields_collisions Subroutine

Note that these advance fields routines are only needed when advancing the collision operators This is used in coll_dougherty.f90

get_fields_by_spec_idx fields_collisions Subroutine

This is used in coll_fokkerplanck.f90 Note that is looks identical to the routine above - we don't know why they are separated

get_fields_electromagnetic fields_electromagnetic Interface
get_fields_electromagnetic_kxkyzlo fields_electromagnetic Subroutine

Layouts Arrays Parameters Grids Calculations

Read more…
get_fields_electromagnetic_vmulo fields_electromagnetic Subroutine

If we are parallelising over (vpa,mu) then this subroutine is called This is the more common version used compared with parallelising over (kx,ky,z) and is the default for stella. This advances the fields when Electromagnetic effects are included, so we advance , , and .

Read more…
get_fields_ffs fields_ffs Subroutine

get_fields_ffs accepts as input the guiding centre distribution function g and calculates/returns the electronstatic potential phi for full_flux_surface simulations

Read more…
get_fields_fluxtube fields_fluxtube Interface
get_fields_fluxtube_kxkyzlo fields_fluxtube Subroutine

If we are parallelising over (kx,ky,z) then this subroutine is called This is the less common version used compared with parallelising over (vpa, mu). This is NOT the default routine for stella, and the flag must be set to use this routine. Here we calculate: sum_s int dv (J0 * g) and then call get_phi which divides this by the appropriate gamtot factor TODO-GA: remove apar from this and make it only needed for EM stella

Read more…
get_fields_fluxtube_vmlo fields_fluxtube Subroutine

If we are parallelising over (vpa,mu) then this subroutine is called This is the more common version used compared with parallelising over (kx,ky,z) and is the default for stella. Here we calculate: sum_s int dv (J0 * g) and then call get_phi which divides this by the appropriate gamtot factor TODO-GA: remove apar from this and make it only needed for EM stella

Read more…
get_fields_for_response_matrix response_matrix Subroutine
get_fields_source fields_ffs Subroutine

Layouts Parameters Arrays Grids Calculations

get_g_integral_contribution_source fields_ffs Subroutine

Layouts Parameters Grids Calculations assume there is only a single flux surface being simulated integrate over velocity space and sum over species within each processor as v-space and species possibly spread over processors, wlil need to gather sums from each proceessor and sum them all together below gather sub-sums from each processor and add them together store result in phi, which will be further modified below to account for polarization term no longer need , so deallocate

get_gds geometry_miller Subroutine
get_geometry_arrays_from_Miller geometry Subroutine
get_geometry_arrays_from_VMEC geometry Subroutine

Calculate = dkx/dky * jtwist Minus its sign gives the direction of the shift in kx for the twist-and-shift BC Note that the default BC are the unconnected BC in the module

Read more…
get_geometry_arrays_from_zpinch geometry Subroutine

b_dot_grad_z is the alpha-dependent b . grad z, and gradpar is the constant-in-alpha part of it. for a z-pinch, b_dot_grad_z is independent of alpha.

get_gke_rhs implicit_solve Subroutine

get_gke_rhs calculates the RHS of the GK equation. as the response matrix approach requires separate solution of the 'inhomogeneous' GKE, the homogeneous GKE (to obtain the response matrix itself), and the full GKE, which RHS is obtained depends on the input values for 'pdf', 'phi', 'apar', 'aparnew' and 'aparold'

get_graddotgrad geometry_miller Subroutine
get_gradrho geometry_miller Subroutine
get_indexed_namelist_unit file_utils Subroutine
get_input_unit file_utils Subroutine
get_jacrho geometry_miller Subroutine
get_laguerre_grids gauss_quad Subroutine
get_legendre_grids_from_cheb gauss_quad Subroutine
get_local_geo geometry_miller Subroutine
get_mirror_rhs_apar_contribution mirror_terms Subroutine
get_mirror_rhs_g_contribution mirror_terms Subroutine
get_modified_fourier_coefficient diagnostics_fluxes_fullfluxsurface Subroutine

is_end is either nspec for fluxes, or ntubes when calcualting |phi|^2

Read more…
get_moments_fluxtube diagnostics_moments Subroutine
get_moments_radial_variation diagnostics_moments Subroutine
get_neo_from_sfincs sfincs_interface Subroutine
get_netcdf_code_precision netcdf_utils Function
get_nout stella_io Subroutine

Get the index of the time dimension in the netCDF file that corresponds to a time no larger than tstart

get_one_flux diagnostics_fluxes_fluxtube Subroutine
get_one_flux_ffs diagnostics_fluxes_fullfluxsurface Subroutine

Multiply input moment (e.g. density, momentum, or energy) but Jacobian (called flxfac) Need to do this because Jacobian has y-dependence then Fourier transform back to (ky,kx)-space pflx_vs_kxkyz is the particle flux before summing over (kx,ky) and integrating over z calculate the volume average of the particle flux note that the factor of 1/B that appears in the Jacobian has already been taken into account in the numerator of the flux surface average

get_one_flux_radial diagnostics_fluxes_radialvariation Subroutine
get_one_flux_vmulo diagnostics_fluxes_radialvariation Interface
get_one_flux_vmulo_int diagnostics_fluxes_radialvariation Subroutine
get_one_flux_vmulo_kxkyz diagnostics_fluxes_radialvariation Subroutine
get_option_value text_options Subroutine
get_phi fields_fluxtube Subroutine

The 'phi' variable passed in is: sum_s int dv (J0 * g) This routine divides by the appropriate gamtot factor depending on if we have kinetic or adiabatic electrons, and also on whether we are using 'g' or 'h' as our distribution function that we are evolving. Note that this routine is only called in the Electrostatic, Fluxtube case.

Read more…
get_phi_and_bpar fields_electromagnetic Subroutine

Arrays Parameters Grids

Read more…
get_phi_and_bpar_for_response_matrix response_matrix Subroutine
get_phi_ffs fields_ffs Subroutine

change from rhs defined on grid with ky >=0 and kx from 0,...,kxmax,-kxmax,...,-dkx to rhs_swap defined on grid with ky = -kymax,...,kymax and kx >= 0 solve sum_s Z_s int d^3v = gam0*phi where sum_s Z_s int d^3v is initially passed in as rhs_swap and then rhs_swap is over-written with the solution to the linear system

Read more…
get_phi_for_radial fields_radial_variation Subroutine
get_phi_for_response_matrix response_matrix Subroutine
get_phi_radial fields_radial_variation Subroutine

Non-perturbative approach to solving quasineutrality for radially global simulations

get_psi coll_fokkerplanck Subroutine
get_psi_response coll_fokkerplanck Subroutine
get_radial_correction fields_radial_variation Subroutine

the following routine gets the correction in phi both from gyroaveraging and quasineutrality

Read more…
get_rnd_seed ran Subroutine
get_rnd_seed_length ran Function
get_source_ffs_itteration ffs_solve Subroutine

Read more…
get_temp coll_dougherty Subroutine
get_temp_mu coll_dougherty Subroutine
get_testpart_density coll_fokkerplanck Subroutine
get_total_arc_length zgrid Subroutine
get_unused_unit file_utils Subroutine
get_upar coll_dougherty Subroutine
get_updated_pdf implicit_solve Subroutine
get_uperp coll_dougherty Subroutine
get_varthet geometry_miller Subroutine
get_vmec_geometry vmec_geometry Subroutine

calculate_vmec_geometry returns psitor/psitor_lcfs as rhoc stella uses rhoc = rho = sqrt(psitor/psitor_lcfs) = rhotor

get_x_to_rho geometry Subroutine
get_zed_derivative_extended_domain parallel_streaming Subroutine
get_zed_eqarc geometry Subroutine
get_zpinch_geometry_coefficients zpinch Subroutine
ginit init_g Subroutine

if maxwwellian_normalization = .true., the pdf is normalized by F0 (which is not the case otherwise) unless reading in g from a restart file, normalise g by F0 for a full flux surface simulation

ginit_default init_g Subroutine
ginit_kpar init_g Subroutine
ginit_noise init_g Subroutine

Initialise the distribution function with random noise. This is the default

ginit_remap init_g Subroutine
ginit_restart_many init_g Subroutine
ginit_rh init_g Subroutine
grnd mt19937 Function
group_to_all mp Interface
group_to_all_real mp Subroutine
group_to_all_real_array mp Subroutine
gyro_average gyro_averages Interface
gyro_average_ffs gyro_averages Subroutine
gyro_average_ffs_field gyro_averages Subroutine
gyro_average_ffs_kxky_local gyro_averages Subroutine
gyro_average_ffs_kxkyz_local gyro_averages Subroutine
gyro_average_j1 gyro_averages Interface
gyro_average_j1_kxky_local gyro_averages Subroutine
gyro_average_j1_kxkyz_local gyro_averages Subroutine
gyro_average_j1_kxkyzv_local gyro_averages Subroutine

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

gyro_average_j1_local gyro_averages Subroutine
gyro_average_j1_v_local gyro_averages Subroutine
gyro_average_j1_vmu_local gyro_averages Subroutine
gyro_average_j1_vmus_nonlocal gyro_averages Subroutine
gyro_average_j1_zext implicit_solve Subroutine
gyro_average_kxky_local gyro_averages Subroutine

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

gyro_average_kxkyz_local gyro_averages Subroutine

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

gyro_average_kxkyzv_local gyro_averages Subroutine

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

gyro_average_local gyro_averages Subroutine

gyro_average_local takes a field at a given ky, kx, z and (vpa, mu, s) value and returns the gyro-average of that field;

gyro_average_v_local gyro_averages Subroutine
gyro_average_vmu_local gyro_averages Subroutine
gyro_average_vmus_nonlocal gyro_averages Subroutine
gyro_average_zext implicit_solve Subroutine
handle_err handle_err.f90 Subroutine
has_electron_species species Function
has_slowing_down_species species Function
i_fill_2 redistribute Subroutine
i_fill_3 redistribute Subroutine
i_fill_4 redistribute Subroutine
i_redist_12 redistribute Subroutine
i_redist_22 redistribute Subroutine
i_redist_22_inv redistribute Subroutine
i_redist_32 redistribute Subroutine
i_redist_32_inv redistribute Subroutine
i_redist_42 redistribute Subroutine
i_redist_42_inv redistribute Subroutine
idx stella_layouts Interface
idx_kxkyz stella_layouts Function
idx_kxyz stella_layouts Function
idx_local stella_layouts Interface
idx_local_kxkyz stella_layouts Function
idx_local_kxyz stella_layouts Function
idx_local_vmu stella_layouts Function
idx_local_xyz stella_layouts Function
idx_vmu stella_layouts Function
idx_xyz stella_layouts Function
ikx_idx stella_layouts Interface
ikx_idx_kxkyz stella_layouts Function
ikx_idx_kxyz stella_layouts Function
iky_idx stella_layouts Interface
iky_idx_kxkyz stella_layouts Function
imaxloc linear_solve Function
imu_idx stella_layouts Interface
imu_idx_vmu stella_layouts Function
init_adiabatic_response_factor fields_ffs Subroutine

solves Delta * phi_hom = -delta_{ky,0} * ne/Te for phi_hom this is the vector describing the response of phi_hom to a unit impulse in phi_fsa it is the sum over ky and integral over kx of this that is needed, and this is stored in adiabatic_response_factor

Read more…
init_alpha_fft stella_transforms Subroutine
init_bessel gyro_averages Subroutine
init_bessel_ffs gyro_averages Subroutine

aj0_alpha will contain J_0 as a function of k_alpha and alpha j0_B will contain J_0Bexp(-v^2) as a function of k_alpha and alpha for each value of alpha, take kperp^2 calculated on domain kx = [-kx_max, kx_max] and ky = [0, ky_max] and use symmetry to obtain kperp^2 on domain kx = [0, kx_max] and ky = [-ky_max, ky_max] this makes later convolutions involving sums over all ky more straightforward calculate the argument of the Bessel function, which depends on both alpha and k_alpha

Read more…
init_bessel_fn coll_fokkerplanck Subroutine
init_ccfftw fft_work Subroutine
init_cfl time_advance Subroutine

TODO:GA- add correct CFL condition

init_collisions dissipation Subroutine
init_collisions_dougherty coll_dougherty Subroutine
init_collisions_fp coll_fokkerplanck Subroutine
init_crfftw fft_work Subroutine
init_delt stella_time Subroutine
init_deltaj_vmu coll_fokkerplanck Subroutine
init_diagnostics diagnostics Subroutine
init_diagnostics_distribution diagnostics_distribution Subroutine
init_diagnostics_fluxes diagnostics_fluxes Subroutine
init_diagnostics_moments diagnostics_moments Subroutine
init_diagnostics_omega diagnostics_omega Subroutine
init_diagnostics_potential diagnostics_potential Subroutine
init_dissipation dissipation Subroutine
init_dist_fn dist_fn Subroutine

allocate and initialise kperp2 and dkperp2dr allocate and initialise vperp2 init_bessel sets up arrays needed for gyro-averaging; for a flux tube simulation, this is j0 and j1; for a flux annulus simulation, gyro-averaging is non-local in ky and so more effort is required

init_dist_fn_layouts stella_layouts Subroutine
init_dkperp2dr dist_fn Subroutine

init_dkperp2dr allocates and initialises the dkperp2dr array, needed for radial variation

init_dt stella_save Subroutine
init_error_unit file_utils Subroutine
init_extended_zgrid extended_zgrid Subroutine

phase shift due to the twist-and-shift boundary condition Usually set to zero for standard local simulation, but can have an effect for global simulations and simulations with low magnetic shear that use periodic boundary conditions everywhere

Read more…
init_fields fields Subroutine

Parameters Routined needed to initialise the different field arrays depending on the physics being simulated Allocate arrays such as phi that are needed throughout the simulation

init_fields_electromagnetic fields_electromagnetic Subroutine

Fill arrays needed for the electromagnetic calculations

Read more…
init_fields_ffs fields_ffs Subroutine

Grids

Read more…
init_fields_fluxtube fields_fluxtube Subroutine

Initialise arrays that are needed during the main time advance loop in the field solve for the flux tube simulations only These are initialised once and then used throughout the rest of the simulation gamtot = 1 - gamma0 = Z^2*n/T * int e^(-v^2) * (1 - J0^2) dv If using adiabatic electrons then this factor is modified and we use gamtot3 which includes the Boltmann response

Read more…
init_fields_radial_variation fields_radial_variation Subroutine
init_file_utils file_utils Subroutine
init_fill redistribute Subroutine
init_flow_shear flow_shear Subroutine
init_flux_surface_average_ffs volume_averages Subroutine

calculate the Fourier coefficients in y of the Jacobian this is needed in the computation of the flux surface average of phi

init_fp_conserve coll_fokkerplanck Subroutine
init_fp_diffmatrix coll_fokkerplanck Subroutine
init_gamma0_factor_ffs fields_ffs Subroutine

calculate and LU factorise the matrix multiplying the electrostatic potential in quasineutrality this involves the factor 1-Gamma_0(kperp(alpha))

Read more…
init_geometry geometry Subroutine
init_grids_kxky grids_kxky Subroutine

determine if iky corresponds to zonal mode

Read more…
init_gxyz dist_fn Subroutine
init_hyper hyper Subroutine

avoid spatially dependent kperp (through the geometric coefficients) still allowed to vary along zed with global magnetic shear useful for full_flux_surface and radial_variation runs

Read more…
init_init_g init_g Subroutine
init_input_unit file_utils Subroutine
init_invert_mirror_operator mirror_terms Subroutine

mirror_int_fac = exp(vpa^2 * (mudB/dz)/(mudB/dz + Zedpihnc/dz)) is the integrating factor needed to turn the dg/dvpa part of the GKE advance into an advection equation a, b and c contain the sub-, main- and super-diagonal terms, respectively if running in full-flux-surface mode, solve mirror advance in y-space rather than ky-space due to alpha-dependence of coefficients corresponds to sign of mirror term positive on RHS of equation must treat boundary carefully assumes fully upwinded at outgoing boundary corresponds to sign of mirror term negative on RHS of equation must treat boundary carefully assumes fully upwinded at outgoing boundary time_upwind = 0.0 corresponds to centered in time time_upwind = 1.0 corresponds to fully implicit (upwinded) account for fact that we have expanded d(gnorm)/dvpa, where gnorm = g/exp(-v^s); this gives rise to d(gnormexp(-vpa^2))/dvpa + 2vpagnormexp(-vpa^2) term we solve for gnorm*exp(-vpa^2) and later multiply by exp(vpa^2) to get gnorm multiply by mirror coefficient

init_invert_stream_operator parallel_streaming Subroutine
init_job_name file_utils Subroutine
init_job_topology mp Subroutine
init_kperp2 dist_fn Subroutine

init_kperp2 allocates and initialises the kperp2 array

Read more…
init_kxkyz_layout stella_layouts Subroutine
init_kxkyz_to_vmu_redistribute dist_redistribute Subroutine
init_kxyz_layout stella_layouts Subroutine
init_kxyz_to_vmu_redistribute dist_redistribute Subroutine
init_legendre coll_fokkerplanck Subroutine
init_local_defaults geometry_miller Subroutine
init_mb_get_phi multibox Subroutine
init_mb_transforms multibox Subroutine
init_mirror mirror_terms Subroutine

mirror has sign consistent with being on RHS of GKE; it is the factor multiplying dg/dvpa in the mirror term mirror_sign set to +/- 1 depending on the sign of the mirror term. NB: mirror_sign = -1 corresponds to positive advection velocity set up the tridiagonal matrix that must be inverted for the implicit treatment of the mirror operator

init_mirror_response mirror_terms Subroutine
init_mirror_semi_lagrange mirror_terms Subroutine
init_mp mp Subroutine
init_mu_grid vpamu_grids Subroutine

allocate arrays and initialize to zero dvpe * vpe = d(2muB0) * B/2B0 first get equally spaced grid in mu with max value mu_max = vperp_max2/(2max(bmag)) want first grid point at dmu/2 to avoid mu=0 special point dmu/2 + (nmu-1)dmu = mu_max so dmu = mu_max/(nmu-1/2) do simplest thing to start leave dmu(nmu) uninitialized. should never be used, so want valgrind or similar to return error if it is

Read more…
init_mudiff_conserve coll_dougherty Subroutine
init_mudiff_matrix coll_dougherty Subroutine
init_multibox multibox Subroutine
init_multibox_subcalls stella Subroutine

call all the multibox communication subroutines to make sure all the jobs have the appropriate information

init_neoclassical_terms neoclassical_terms Subroutine
init_nusDpa coll_fokkerplanck Subroutine
init_parallel_nonlinearity time_advance Subroutine
init_parallel_streaming parallel_streaming Subroutine

stream_sign set to +/- 1 depending on the sign of the parallel streaming term. NB: stream_sign = -1 corresponds to positive advection velocity only need to consider ia=1, iz=0 and is=1 because alpha, z and species dependences do not lead to change in sign of the streaming pre-factor get gradpar centred in zed for negative vpa (affects upwinding) get gradpar centred in zed for positive vpa (affects upwinding)

init_quasineutrality_source sources Subroutine
init_radial_variation time_advance Subroutine
init_ranf ran Subroutine
init_rcfftw fft_work Subroutine
init_redist redistribute Subroutine
init_redistribute dist_redistribute Subroutine
init_response_matrix response_matrix Subroutine
init_run_name file_utils Subroutine
init_save stella_save Subroutine
init_source_timeaverage sources Subroutine
init_sources sources Subroutine
init_species species Subroutine
init_stella stella Subroutine

Initialise stella

Read more…
init_stella_io stella_io Subroutine
init_stella_layouts stella_layouts Subroutine
init_time_advance time_advance Subroutine

read time_advance_knobs namelist from the input file; sets the explicit time advance option, as well as allows for scaling of the x and y components of the magnetic drifts and of the drive term allocate distribution function sized arrays needed, e.g., for Runge-Kutta time advance set up neoclassical corrections to the equilibrium Maxwellian; only calculated/needed when simulating higher order terms in rhostar for intrinsic rotation calculate the term multiplying dg/dvpa in the mirror term and set up either the semi-Lagrange machinery or the tridiagonal matrix to be inverted if solving implicitly calculate the term multiplying dg/dz in the parallel streaming term and set up the tridiagonal matrix to be inverted if solving implicitly allocate and calculate the factors multiplying dg/dx, dg/dy, dphi/dx and dphi/dy in the magnetic drift terms allocate and calculate the factor multiplying dphi/dy in the gradient drive term

init_transforms stella_transforms Subroutine
init_tstart stella_time Subroutine
init_tstart stella_save Subroutine
init_unpadded_x_fft stella_transforms Subroutine
init_unpadded_y_fft stella_transforms Subroutine
init_vgrid coll_fokkerplanck Subroutine
init_vmu_layout stella_layouts Subroutine
init_volume_averages volume_averages Subroutine
init_vpa_grid vpamu_grids Subroutine

vpa is the parallel velocity at grid points wgts_vpa are the integration weights assigned to the parallel velocity grid points this is the Maxwellian in vpa parallel velocity grid goes from -vpa_max to vpa_max, with no point at vpa = 0; the lack of a point at vpa=0 avoids treating the vpa=z=0 phase space location, which is isolated from all other phase space points in the absence of collisions equal grid spacing in vpa

Read more…
init_vpadiff_conserve coll_dougherty Subroutine
init_vpadiff_matrix coll_dougherty Subroutine
init_vpamu_grids vpamu_grids Subroutine

set up the vpa grid points and integration weights set up the mu grid points and integration weights

Read more…
init_vperp2 dist_fn Subroutine
init_wdrift time_advance Subroutine

allocate wdriftx_phi, the factor multiplying dphi/dx in the magnetic drift term allocate wdrifty_phi, the factor multiplying dphi/dy in the magnetic drift term allocate wdriftx_bpar, the factor multiplying dbpar/dx in the magnetic drift term allocate wdrifty_bpar, the factor multiplying dbpar/dy in the magnetic drift term allocate wdriftx_g, the factor multiplying dg/dx in the magnetic drift term allocate wdrifty_g, the factor multiplying dg/dy in the magnetic drift term this is the curvature drift piece of wdrifty with missing factor of vpa vpa factor is missing to avoid singularity when including non-Maxwellian corrections to equilibrium this is the grad-B drift piece of wdrifty if including neoclassical correction to equilibrium Maxwellian, then add in v_E^{nc} . grad y dg/dy coefficient here if maxwwellian_normalization = .true., evolved distribution function is normalised by a Maxwellian otherwise, it is not; a Maxwellian weighting factor must thus be included assign wdrifty_bpar, neoclassical terms not supported if including neoclassical corrections to equilibrium, add in -(Ze/m) * v_curv/vpa . grad y d/dy * dF^{nc}/dvpa term and v_E . grad z dF^{nc}/dz (here get the dphi/dy part of v_E) NB: the below neoclassical correction needs to be divided by an equilibrium Maxwellian if maxwellian_normalization = .true. this is the curvature drift piece of wdriftx with missing factor of vpa vpa factor is missing to avoid singularity when including non-Maxwellian corrections to equilibrium this is the grad-B drift piece of wdriftx if including neoclassical correction to equilibrium Maxwellian, then add in v_E^{nc} . grad x dg/dx coefficient here if maxwellian_normalizatiion = .true., evolved distribution function is normalised by a Maxwellian otherwise, it is not; a Maxwellian weighting factor must thus be included assign wdriftx_bpar, neoclassical terms not supported if including neoclassical corrections to equilibrium, add in (Ze/m) * v_curv/vpa . grad x d/dx * dF^{nc}/dvpa term and v_E . grad z dF^{nc}/dz (here get the dphi/dx part of v_E) and v_E . grad alpha dF^{nc}/dalpha (dphi/dx part of v_E) NB: the below neoclassical correction needs to be divided by an equilibrium Maxwellian if running with maxwellian_normalzation = .true.

init_wstar time_advance Subroutine
init_x_fft stella_transforms Subroutine
init_x_fft multibox Subroutine
init_x_xfirst_fft stella_transforms Subroutine
init_xyz_layout stella_layouts Subroutine
init_xyz_to_vmu_redistribute dist_redistribute Subroutine
init_y_fft stella_transforms Subroutine
init_y_fft multibox Subroutine
init_y_xfirst_fft stella_transforms Subroutine
init_zgrid zgrid Subroutine
input_unit file_utils Function
input_unit_exist file_utils Function
integrate_mu vpamu_grids Interface
integrate_mu_local vpamu_grids Subroutine
integrate_mu_nonlocal vpamu_grids Subroutine
integrate_over_velocity response_matrix Subroutine
integrate_over_velocity_apar response_matrix Subroutine
integrate_over_velocity_bpar response_matrix Subroutine
integrate_over_velocity_phi response_matrix Subroutine
integrate_species vpamu_grids Interface
integrate_species_ffs vpamu_grids Subroutine
integrate_species_ffs_rm vpamu_grids Subroutine
integrate_species_vmu vpamu_grids Subroutine
integrate_species_vmu_block_complex vpamu_grids Subroutine
integrate_species_vmu_block_real vpamu_grids Subroutine
integrate_species_vmu_single vpamu_grids Subroutine
integrate_species_vmu_single_real vpamu_grids Subroutine
integrate_vmu vpamu_grids Interface
integrate_vmu_ffs vpamu_grids Subroutine

NB: for FFS, assume that there is only one flux annulus the inclusion of the Maxwellian term below is due to the fact that g/F is evolved for FFS

integrate_vmu_local_complex vpamu_grids Subroutine
integrate_vmu_local_real vpamu_grids Subroutine
integrate_vmu_vmulo_complex vpamu_grids Subroutine
integrate_vmu_vmulo_ivmu_only_real vpamu_grids Subroutine
integrate_vpa vpamu_grids Interface
integrate_vpa_nonlocal vpamu_grids Subroutine
integrate_zed zgrid Subroutine
integrate_zed geometry Subroutine
intrvl fitpack.f Function
intrvp fitpack.f Function
invert_mirror_operator mirror_terms Subroutine
invert_parstream_response implicit_solve Subroutine

use the LU-decomposed response matrix and the contributions from the 'inhomogeneous' fields (phi, apar) to solve for (phi^{n+1}, apar^{n+1})

is_idx stella_layouts Interface
is_idx_kxkyz stella_layouts Function
is_idx_kxyz stella_layouts Function
is_idx_vmu stella_layouts Function
is_idx_xyz stella_layouts Function
it_idx stella_layouts Interface
it_idx_kxkyz stella_layouts Function
it_idx_kxyz stella_layouts Function
it_idx_xyz stella_layouts Function
iv_idx stella_layouts Interface
iv_idx_vmu stella_layouts Function
ix_idx stella_layouts Interface
ix_idx_xyz stella_layouts Function
iy_idx stella_layouts Interface
iy_idx_kxyz stella_layouts Function
iy_idx_xyz stella_layouts Function
iz_idx stella_layouts Interface
iz_idx_kxkyz stella_layouts Function
iz_idx_kxyz stella_layouts Function
iz_idx_xyz stella_layouts Function
iz_local_kxkyz stella_layouts Function
iz_local_kxyz stella_layouts Function
iz_local_vmu stella_layouts Function
iz_local_xyz stella_layouts Function
job_fork job_manage Subroutine
kurv1 fitpack.f Subroutine
kurv2 fitpack.f Subroutine
kurvd fitpack.f Subroutine
kurvp1 fitpack.f Subroutine
kurvp2 fitpack.f Subroutine
kurvpd fitpack.f Subroutine
kxkyzidx2vmuidx stella_layouts Subroutine
kxyzidx2vmuidx stella_layouts Subroutine
l_fill_2 redistribute Subroutine
l_fill_3 redistribute Subroutine
l_fill_4 redistribute Subroutine
l_redist_12 redistribute Subroutine
l_redist_22 redistribute Subroutine
l_redist_22_inv redistribute Subroutine
l_redist_32 redistribute Subroutine
l_redist_32_inv redistribute Subroutine
l_redist_42 redistribute Subroutine
l_redist_42_inv redistribute Subroutine
laguerre_l gauss_quad Function
laguerre_lp gauss_quad Function
legendre_p gauss_quad Function
legendre_pp gauss_quad Function
linear_interp_periodic splines Subroutine
lu_back_substitution linear_solve Interface
lu_back_substitution_complex linear_solve Subroutine
lu_back_substitution_matrix_complex linear_solve Subroutine
lu_back_substitution_matrix_real linear_solve Subroutine
lu_back_substitution_real linear_solve Subroutine
lu_back_substitution_real_complex linear_solve Subroutine
lu_decompose_response_matrix response_matrix Subroutine
lu_decomposition linear_solve Interface
lu_decomposition_complex linear_solve Subroutine
lu_decomposition_real linear_solve Subroutine
lu_inverse linear_solve Interface
lu_inverse_complex linear_solve Subroutine
lu_inverse_real linear_solve Subroutine
map_from_extended_zgrid extended_zgrid Subroutine
map_to_extended_zgrid extended_zgrid Subroutine
map_to_iz_ikx_from_izext extended_zgrid Subroutine
max_allreduce mp Interface
max_allreduce_integer mp Subroutine
max_allreduce_integer_array mp Subroutine
max_allreduce_real mp Subroutine
max_allreduce_real_array mp Subroutine
max_reduce mp Interface
max_reduce_integer mp Subroutine
max_reduce_integer_array mp Subroutine
max_reduce_real mp Subroutine
max_reduce_real_array mp Subroutine
mb_communicate time_advance Subroutine
mb_get_phi multibox Subroutine
measure_gather redistribute Interface
measure_gather_22 redistribute Subroutine
measure_gather_32 redistribute Subroutine
measure_gather_33 redistribute Subroutine
measure_scatter redistribute Interface
measure_scatter_22 redistribute Subroutine
measure_scatter_23 redistribute Subroutine
measure_scatter_33 redistribute Subroutine
min_allreduce mp Interface
min_allreduce_integer mp Subroutine
min_allreduce_integer_array mp Subroutine
min_allreduce_real mp Subroutine
min_allreduce_real_array mp Subroutine
min_reduce mp Interface
min_reduce_integer mp Subroutine
min_reduce_integer_array mp Subroutine
min_reduce_real mp Subroutine
min_reduce_real_array mp Subroutine
mod2pi geometry_miller Function
mp_abort mp Subroutine
mp_gather mp Subroutine
mu_differential_operator coll_dougherty Subroutine
mu_differential_operator_fp coll_fokkerplanck Subroutine
mu_differential_operator_fp_conservative coll_fokkerplanck Subroutine
multibox_communicate multibox Subroutine
multiply_by_rho calculations_kxky Subroutine
nc_geo stella_io Subroutine
nc_species stella_io Subroutine
netcdf_error netcdf_utils Subroutine
nonblocking_receive_complex_array mp Subroutine
nonblocking_send_complex_array mp Subroutine
normalize_by_maxwellian init_g Subroutine

gvmu is initialised with a Maxwellian weighting for flux tube simulations, with the Maxwellian evaluated at ia = 1 we are undoing that weighting here, so also need to use ia = 1

open_fluxes_ascii_file diagnostics_fluxes Subroutine
open_omega_ascii_file diagnostics_omega Subroutine
open_output_file file_utils Subroutine
open_potential_ascii_file diagnostics_potential Subroutine
overwrite_selected_geometric_coefficients geometry Subroutine
parallel_LU_decomposition_global response_matrix Subroutine
parse_command_line stella Subroutine

Parse some basic command line arguments. Currently just 'version' and 'help'.

Read more…
parse_extension parse_extension.f Subroutine
pascalTriangle smooth_step Function
print_header stella Subroutine
proc_id stella_layouts Interface
proc_id_kxkyz stella_layouts Function
proc_id_kxyz stella_layouts Function
proc_id_vmu stella_layouts Function
proc_id_xyz stella_layouts Function
project_out_zero sources Subroutine
r2c convert Interface
r_fill_2 redistribute Subroutine
r_fill_3 redistribute Subroutine
r_fill_4 redistribute Subroutine
r_redist_12 redistribute Subroutine
r_redist_22 redistribute Subroutine
r_redist_22_inv redistribute Subroutine
r_redist_32 redistribute Subroutine
r_redist_32_inv redistribute Subroutine
r_redist_34 redistribute Subroutine
r_redist_34_inv redistribute Subroutine
r_redist_35 redistribute Subroutine
r_redist_35_inv redistribute Subroutine
r_redist_42 redistribute Subroutine
r_redist_42_inv redistribute Subroutine
radial_interpolation geometry_vmec_read_netCDF_file Subroutine
ranf ran Function
read_debug_flags debug_flags Subroutine

If not specified in the input file these are the default options that will be set for all parameters under the namelist &debug_flags'. The default here is that all debug flags are set to .false.

Read more…
read_diagnostics_knobs parameters_diagnostics Subroutine

Write the time traces by default, while we will not write any higher dimensional data by default to have a small netCDF file.

Read more…
read_euterpe_parameters euterpe_interface Subroutine
read_inputprof_geo geometry_inputprofiles_interface Subroutine
read_inputprof_spec geometry_inputprofiles_interface Subroutine
read_kxky_grid_parameters parameters_kxky_grids Subroutine

Read which option to select for the kxky grid layouts

Read more…
read_kxky_grids_box parameters_kxky_grids_box Subroutine

If not specified in the input file these are the default options that will be set for all parameters under the namelist &numerical'.

Read more…
read_kxky_grids_range parameters_kxky_grids_range Subroutine

If not specified in the input file these are the default options that will be set for all parameters under the namelist &numerical'.

Read more…
read_local_parameters geometry_miller Subroutine
read_multibox_parameters multibox Subroutine
read_parameters zgrid Subroutine
read_parameters sources Subroutine
read_parameters neoclassical_terms Subroutine
read_parameters dissipation Subroutine
read_parameters geometry Subroutine
read_parameters init_g Subroutine
read_parameters stella_layouts Subroutine
read_parameters_dougherty coll_dougherty Subroutine
read_parameters_fp coll_fokkerplanck Subroutine
read_parameters_hyper hyper Subroutine
read_parameters_physics parameters_physics Subroutine

If not specified in the input file these are the default options that will be set for all parameters under the namelist &parameters_physics'.

Read more…
read_response_matrix response_matrix Subroutine
read_species_euterpe euterpe_interface Subroutine
read_species_knobs species Subroutine
read_species_stella species Subroutine
read_vmec_equilibrium geometry_vmec_read_netCDF_file Subroutine
read_vmec_parameters vmec_geometry Subroutine
read_vpamu_grids_parameters vpamu_grids Subroutine
read_wout_deallocate read_wout_mod Subroutine
read_wout_file read_wout_mod Interface
read_wout_nc read_wout_mod Subroutine
read_wout_text read_wout_mod Subroutine
readw_and_open read_wout_mod Subroutine
readw_only read_wout_mod Subroutine
receive mp Interface
receive_character mp Subroutine
receive_complex mp Subroutine
receive_complex_2array mp Subroutine
receive_complex_array mp Subroutine
receive_integer mp Subroutine
receive_integer_array mp Subroutine
receive_logical mp Subroutine
receive_logical_array mp Subroutine
receive_real mp Subroutine
receive_real_array mp Subroutine
receive_real_array_2d mp Subroutine
reinit_species species Subroutine
report_map_property redistribute Subroutine
rescale_fields fields Subroutine

Rescale fields, including the distribution function

Read more…
reset_dt time_advance Subroutine
reset_init init_g Subroutine
round geometry_miller Function
Rpos geometry_miller Function
run_type file_utils Subroutine
safe_open safe_open_mod Subroutine
save_input stella_io Subroutine

Save the input file in the NetCDF file

scatter redistribute Interface
scope mp Subroutine
second_order_centered finite_differences Interface
second_order_centered_complex finite_differences Subroutine
second_order_centered_real finite_differences Subroutine
second_order_centered_vpa finite_differences Subroutine
second_order_centered_zed finite_differences Interface
second_order_centered_zed_complex finite_differences Subroutine
second_order_centered_zed_real finite_differences Subroutine
send mp Interface
send_character mp Subroutine
send_complex mp Subroutine
send_complex_array mp Subroutine
send_integer mp Subroutine
send_integer_array mp Subroutine
send_logical mp Subroutine
send_logical_array mp Subroutine
send_real mp Subroutine
send_real_array mp Subroutine
send_real_array_2d mp Subroutine
set_coef_constant geometry Subroutine
set_ffs_geo_coefs_constant geometry Subroutine
set_redist_character_type redistribute Subroutine
set_vpa_weights vpamu_grids Subroutine
setup_response_matrix_file_io response_matrix Subroutine
setup_response_matrix_timings response_matrix Subroutine
setup_response_matrix_zloc_idx response_matrix Subroutine
setup_shared_memory_window response_matrix Subroutine
sgrnd mt19937 Subroutine
smoothstep smooth_step Function
smoothstep0 smooth_step Function
smoothstep1 smooth_step Function
smoothstep2 smooth_step Function
smoothstepN smooth_step Function
snhcsh fitpack.f Subroutine
solve_gke time_advance Subroutine

solve_gke accepts as argument pdf, the guiding centre distribution function in k-space, and returns rhs_ky, the right-hand side of the gyrokinetic equation in k-space; i.e., if dg/dt = r, then rhs_ky = rdt; note that if include_apar = T, then the input pdf is actually gbar = g + (Ze/T)(vpa/c)F0

Read more…
sort_array_ascending sort Subroutine
split_n_tasks mp Subroutine

split n tasks over current communicator. Returns the low and high indices for a given processor. Assumes indices start at 1

ssend mp Interface
ssend_complex mp Subroutine
ssend_complex_2array mp Subroutine
ssend_complex_array mp Subroutine
ssend_integer mp Subroutine
ssend_integer_array mp Subroutine
ssend_logical mp Subroutine
ssend_logical_array mp Subroutine
ssend_real mp Subroutine
ssend_real_array mp Subroutine
stella_restore stella_save Interface
stella_restore_many stella_save Subroutine
stella_save_for_restart stella_save Subroutine
stream_tridiagonal_solve parallel_streaming Subroutine
strip_comments file_utils Subroutine
sum_allreduce mp Interface
sum_allreduce_complex mp Subroutine
sum_allreduce_complex_2array mp Subroutine
sum_allreduce_complex_3array mp Subroutine
sum_allreduce_complex_4array mp Subroutine
sum_allreduce_complex_5array mp Subroutine
sum_allreduce_complex_array mp Subroutine
sum_allreduce_integer mp Subroutine
sum_allreduce_integer_2array mp Subroutine
sum_allreduce_integer_array mp Subroutine
sum_allreduce_real mp Subroutine
sum_allreduce_real_2array mp Subroutine
sum_allreduce_real_3array mp Subroutine
sum_allreduce_real_4array mp Subroutine
sum_allreduce_real_5array mp Subroutine
sum_allreduce_real_array mp Subroutine
sum_reduce mp Interface
sum_reduce_complex mp Subroutine
sum_reduce_complex_2array mp Subroutine
sum_reduce_complex_3array mp Subroutine
sum_reduce_complex_4array mp Subroutine
sum_reduce_complex_5array mp Subroutine
sum_reduce_complex_array mp Subroutine
sum_reduce_integer mp Subroutine
sum_reduce_integer_array mp Subroutine
sum_reduce_real mp Subroutine
sum_reduce_real_2array mp Subroutine
sum_reduce_real_3array mp Subroutine
sum_reduce_real_4array mp Subroutine
sum_reduce_real_5array mp Subroutine
sum_reduce_real_array mp Subroutine
surf1 fitpack.f Subroutine
surf2 fitpack.f Function
swap_kxky calculations_kxky Interface
swap_kxky_back calculations_kxky Subroutine
swap_kxky_back_ordered calculations_kxky Subroutine
swap_kxky_complex calculations_kxky Subroutine
swap_kxky_ordered calculations_kxky Interface
swap_kxky_ordered_complex calculations_kxky Subroutine
swap_kxky_ordered_real calculations_kxky Subroutine
swap_kxky_real calculations_kxky Subroutine
sweep_g_zext implicit_solve Subroutine
sweep_zed_zonal implicit_solve Subroutine
sync_nc stella_io Subroutine

Flush netCDF file to disk

systemf system_fortran Subroutine
terms fitpack.f Subroutine
theta_integrate geometry_miller Subroutine
theta_integrate_indef geometry_miller Subroutine
third_order_upwind finite_differences Interface
third_order_upwind_complex finite_differences Subroutine
third_order_upwind_real finite_differences Subroutine
third_order_upwind_zed finite_differences Subroutine
time_average fluxes Subroutine
time_message job_manage Subroutine
timer_local job_manage Function
transform_alpha2kalpha stella_transforms Subroutine

input galph array is real and contains values on the padded alpha grid gkalph is output array; it contains the Fourier coefficients of galph for positive ky values only (reality can be used to obtain the negative ky coefs) the highest 1/3 of the ky modes from the FFT have been discarded to avoid de-aliasing

transform_kalpha2alpha stella_transforms Subroutine
transform_kx2x stella_transforms Subroutine
transform_kx2x multibox Subroutine

transform routines start here

transform_kx2x_unpadded stella_transforms Subroutine
transform_kx2x_xfirst stella_transforms Subroutine
transform_ky2y stella_transforms Interface
transform_ky2y multibox Subroutine
transform_ky2y_2d stella_transforms Subroutine
transform_ky2y_5d stella_transforms Subroutine
transform_ky2y_unpadded stella_transforms Subroutine
transform_ky2y_xfirst stella_transforms Subroutine
transform_x2kx stella_transforms Subroutine
transform_x2kx multibox Subroutine
transform_x2kx_unpadded stella_transforms Subroutine
transform_x2kx_xfirst stella_transforms Subroutine
transform_y2ky stella_transforms Interface
transform_y2ky_2d stella_transforms Subroutine
transform_y2ky_5d stella_transforms Subroutine
transform_y2ky_unpadded stella_transforms Subroutine
transform_y2ky_xfirst stella_transforms Subroutine
tridag finite_differences Interface
tridag_complex finite_differences Subroutine
tridag_real finite_differences Subroutine
unsort_array_ascending sort Subroutine
update_quasineutrality_source sources Subroutine
update_tcorr_krook sources Subroutine
update_time stella_time Subroutine
vLj_vmu coll_fokkerplanck Subroutine
volume_average volume_averages Subroutine
vpa_differential_operator coll_dougherty Subroutine
vpa_differential_operator_fp coll_fokkerplanck Subroutine
vpa_differential_operator_fp_conservative coll_fokkerplanck Subroutine
vpa_interpolation mirror_terms Subroutine
waitany mp Subroutine
write_apar2_nc stella_io Subroutine
write_apar_nc stella_io Subroutine

Write time trace of electromagnetic field A|| to netCDF

write_bpar2_nc stella_io Subroutine
write_bpar_nc stella_io Subroutine

Write time trace of electromagnetic field B|| to netCDF

write_complex_rank2 stella_io Subroutine
write_complex_rank4 stella_io Subroutine
write_complex_rank5 stella_io Subroutine
write_distribution_to_netcdf_file diagnostics_distribution Subroutine
write_dt stella_time Subroutine
write_f2_vs_vpamus_nc stella_io Subroutine
write_f2_vs_zkykxs_nc stella_io Subroutine
write_f2_vs_zmus_nc stella_io Subroutine
write_f2_vs_zvpamus_nc stella_io Subroutine
write_f2_vs_zvpas_nc stella_io Subroutine
write_f2nozonal_vs_vpamus_nc stella_io Subroutine
write_f2nozonal_vs_zmus_nc stella_io Subroutine
write_f2nozonal_vs_zvpamus_nc stella_io Subroutine
write_f2nozonal_vs_zvpas_nc stella_io Subroutine
write_fluxes_for_fluxtube diagnostics_fluxes Subroutine

TODO-GA: use g to f routine rather than g to h -- but check first TODO-GA: use g to f routine rather than g to h -- but check first

write_fluxes_for_fluxtube_radialvariation diagnostics_fluxes Subroutine
write_fluxes_for_fullfluxsurface diagnostics_fluxes Subroutine
write_fluxes_kxkys_nc stella_io Subroutine
write_fluxes_kxkyzs_nc stella_io Subroutine
write_fluxes_to_ascii_file diagnostics_fluxes Subroutine
write_fluxes_to_netcdf_file diagnostics_fluxes Subroutine

Note that to obtain , , to write the fluxes to the txt files, we already calculate fluxes(kx,ky,z,s)

Read more…
write_fluxes_vs_time_nc stella_io Subroutine
write_g2_vs_vpamus_nc stella_io Subroutine
write_g2_vs_zkykxs_nc stella_io Subroutine
write_g2_vs_zmus_nc stella_io Subroutine
write_g2_vs_zvpamus_nc stella_io Subroutine
write_g2_vs_zvpas_nc stella_io Subroutine
write_g2nozonal_vs_vpamus_nc stella_io Subroutine
write_g2nozonal_vs_zmus_nc stella_io Subroutine
write_g2nozonal_vs_zvpamus_nc stella_io Subroutine
write_g2nozonal_vs_zvpas_nc stella_io Subroutine
write_geometric_coefficients geometry Subroutine
write_grids stella_io Subroutine
write_h2_vs_vpamus_nc stella_io Subroutine
write_h2_vs_zkykxs_nc stella_io Subroutine
write_h2_vs_zmus_nc stella_io Subroutine
write_h2_vs_zvpamus_nc stella_io Subroutine
write_h2_vs_zvpas_nc stella_io Subroutine
write_h2nozonal_vs_vpamus_nc stella_io Subroutine
write_h2nozonal_vs_zmus_nc stella_io Subroutine
write_h2nozonal_vs_zvpamus_nc stella_io Subroutine
write_h2nozonal_vs_zvpas_nc stella_io Subroutine
write_kspectra_nc stella_io Subroutine
write_moments_nc stella_io Subroutine
write_moments_to_netcdf_file diagnostics_moments Subroutine
write_neoclassical neoclassical_terms Subroutine
write_omega_nc stella_io Subroutine
write_omega_to_ascii_file diagnostics_omega Subroutine
write_omega_to_netcdf_file diagnostics_omega Subroutine
write_phi2_nc stella_io Subroutine
write_phi_nc stella_io Subroutine
write_potential_to_ascii_file diagnostics_potential Subroutine
write_potential_to_ascii_file_atfinaltimestep diagnostics_potential Subroutine
write_potential_to_netcdf_file diagnostics_potential Subroutine
write_radial_fluxes_nc stella_io Subroutine
write_radial_moments_nc stella_io Subroutine
write_response_matrix_message response_matrix Subroutine
write_start_message stella Subroutine

Write the start message to screen

write_time_nc stella_io Subroutine
write_wout_text read_wout_mod Subroutine
x1c2r convert Subroutine
x1r2c convert Subroutine
x2c2r convert Subroutine
x2r2c convert Subroutine
x3c2r convert Subroutine
x3r2c convert Subroutine
x4c2r convert Subroutine
x4r2c convert Subroutine
x5c2r convert Subroutine
x5r2c convert Subroutine
x6c2r convert Subroutine
xyzidx2vmuidx stella_layouts Subroutine
Zpos geometry_miller Function