Procedures

ProcedureLocationProcedure TypeDescription
allocate_modes fieldline_labels Subroutine
B_mod_along_fieldline field_along_fieldline Subroutine
B_squared fieldline_integrands Function
calc_avg_B_squared_over_avg_lambda shaing_callen_mod Function
calc_avg_normalized_B_squared_dphimax_dxi0 shaing_callen_mod Function
calc_avg_normalized_lambda_dphimax_dxi0 shaing_callen_mod Function
calc_deviation deviation Subroutine
calc_fieldline_integrals fieldline_integrals Subroutine
calc_finite_boundary_layer_correction coefficients Function

Finite boundary layer correction Lambda_S to the bootstrap current.

Read more…
calc_gradient_scaling_factor_r_eff coefficients Function

Scaling factor dr/dA_theta for choice of effective radius

Read more…
calc_iota_p fieldline_labels Function
calc_lambda_LC shaing_callen_mod Function

Shaing-Callen lambda_LC: computed from the trapped particle fraction

Read more…
calc_lambda_squared fieldline_integrands Function
calc_nu_star_crit coefficients Function

Critical collisionality marking the lower limit of validity for the asymptotic model. Collisionality is defined by major radius R.

calc_offset_coefficients coefficients Subroutine

Compute offset coefficients Lambda_A and Lambda_B.

Read more…
calc_periodic_dydx shaing_callen_mod Function
calc_surface_averages surface_average_mod Subroutine

Compute bounce-averaged surface quantities from a flock of field lines.

Read more…
calc_trapped_fraction shaing_callen_mod Function
check_has_correct_endpoints fourier Subroutine
check_is_equidistant fourier Subroutine
dB_dphi_along_fieldline field_along_fieldline Subroutine
did_fail_any_sanity_check error_handling Function

Return .true. if any sanity check has failed since the last reset.

failed_sanity_check error_handling Subroutine
find_global_extrema find_extrema Function
find_local_maxima find_extrema Subroutine
find_local_minima find_extrema Subroutine
find_maxima_along_fieldline make_fieldline Subroutine
fourier_field_init fourier_field Subroutine

Initialise magnetic field from flat Fourier mode lists and evaluated via 2D spline interpolation.

Read more…
fourier_transform_over_label fieldline_labels Subroutine
gcd diophantine Function
get_eta_integration_grid shaing_callen_integration Function
get_global_B_max make_fieldline Function
get_labels fieldline_labels Subroutine
get_non_omnigenous_remainder shaing_callen_mod Function

Preliminary proxy to estimate the deviation of Lambda_LC from the true Shaing-Callen coefficient due to non-omnigeneity.

Read more…
get_phi_integration_grid shaing_callen_integration Function
ifft_modes_to_B fourier_field Subroutine

Evaluate B(theta, phi) = sum_k B_mn(k)*cos(m(k)*theta - nfp*n(k)*phi) on the equidistant angle grid by a single 2D inverse FFT.

Read more…
integrate_1d integrate Subroutine
integrate_1d_substituted integrate_substituted Subroutine
integrate_over_eta_grid shaing_callen_integration Function
integrate_over_phi_grid shaing_callen_integration Function
is_not_integer make_fieldline Function
lambda_over_B_squared fieldline_integrands Function
lcm diophantine Function
linspace utils Subroutine
local_radial_drift fieldline_integrands Function
make_flock_from_labels make_fieldline Subroutine
make_flock_of_fieldlines make_fieldline Subroutine

Build a flock of field lines spanning the region between neighbouring maxima contours centered around the minima contours through the field origin.

Read more…
nabla_s_over_B_squared fieldline_integrands Function
not_same utils Interface
pick_maximum_on_each_side make_fieldline Subroutine

Pick the biggest maximum on each side of phi_0, with ties broken by proximity to phi_0 to respect stellarator symmetry.

rational_approx diophantine Subroutine
read_namelist read_file Subroutine
real_ft fourier Subroutine
reset_failed_check_counter error_handling Subroutine

Reset the failed sanity check counter to zero.

S_A fit_functions Function
S_B fit_functions Function
set_field_and_fieldline field_along_fieldline Subroutine
set_unsafe_mode error_handling Subroutine

Toggle unsafe mode for sanity checks.

Read more…
sum_trapez_1d integrate Function
suspect_omnigenous_origin_not_minimum field_checks Function
unset_field_and_fieldline field_along_fieldline Subroutine
wrapper_lambda_over_B_squared shaing_callen_wrappers Function
write_dat_output main Subroutine
call~~graph~~CallGraph interface~not_same not_same none~get_theta fieldline_t%get_theta proc~allocate_modes allocate_modes proc~b_mod_along_fieldline B_mod_along_fieldline proc~b_mod_along_fieldline->none~get_theta compute_B_mod compute_B_mod proc~b_mod_along_fieldline->compute_B_mod proc~b_squared B_squared proc~b_squared->compute_B_mod proc~calc_avg_b_squared_over_avg_lambda calc_avg_B_squared_over_avg_lambda proc~integrate_1d_substituted integrate_1d_substituted proc~calc_avg_b_squared_over_avg_lambda->proc~integrate_1d_substituted proc~calc_avg_normalized_b_squared_dphimax_dxi0 calc_avg_normalized_B_squared_dphimax_dxi0 proc~calc_periodic_dydx calc_periodic_dydx proc~calc_avg_normalized_b_squared_dphimax_dxi0->proc~calc_periodic_dydx proc~calc_avg_normalized_lambda_dphimax_dxi0 calc_avg_normalized_lambda_dphimax_dxi0 proc~calc_lambda_squared calc_lambda_squared proc~calc_avg_normalized_lambda_dphimax_dxi0->proc~calc_lambda_squared proc~calc_avg_normalized_lambda_dphimax_dxi0->proc~calc_periodic_dydx proc~calc_avg_normalized_lambda_dphimax_dxi0->proc~integrate_1d_substituted proc~calc_deviation calc_deviation proc~calc_surface_averages calc_surface_averages proc~calc_deviation->proc~calc_surface_averages proc~failed_sanity_check failed_sanity_check proc~calc_deviation->proc~failed_sanity_check proc~fourier_transform_over_label fourier_transform_over_label proc~calc_deviation->proc~fourier_transform_over_label proc~s_a S_A proc~calc_deviation->proc~s_a proc~s_b S_B proc~calc_deviation->proc~s_b proc~calc_fieldline_integrals calc_fieldline_integrals proc~calc_fieldline_integrals->proc~integrate_1d_substituted proc~calc_finite_boundary_layer_correction calc_finite_boundary_layer_correction proc~calc_finite_boundary_layer_correction->proc~calc_surface_averages get_covariant_components get_covariant_components proc~calc_finite_boundary_layer_correction->get_covariant_components proc~calc_gradient_scaling_factor_r_eff calc_gradient_scaling_factor_r_eff proc~calc_gradient_scaling_factor_r_eff->proc~calc_surface_averages proc~calc_iota_p calc_iota_p proc~calc_lambda_lc calc_lambda_LC proc~calc_trapped_fraction calc_trapped_fraction proc~calc_lambda_lc->proc~calc_trapped_fraction proc~calc_lambda_lc->get_covariant_components proc~calc_nu_star_crit calc_nu_star_crit proc~calc_offset_coefficients calc_offset_coefficients proc~calc_offset_coefficients->proc~calc_deviation proc~check_has_correct_endpoints check_has_correct_endpoints proc~calc_periodic_dydx->proc~check_has_correct_endpoints proc~check_is_equidistant check_is_equidistant proc~calc_periodic_dydx->proc~check_is_equidistant proc~calc_trapped_fraction->proc~calc_avg_b_squared_over_avg_lambda proc~get_eta_integration_grid get_eta_integration_grid proc~calc_trapped_fraction->proc~get_eta_integration_grid proc~integrate_over_eta_grid integrate_over_eta_grid proc~calc_trapped_fraction->proc~integrate_over_eta_grid proc~db_dphi_along_fieldline dB_dphi_along_fieldline proc~db_dphi_along_fieldline->none~get_theta compute_B_and_dB_dx compute_B_and_dB_dx proc~db_dphi_along_fieldline->compute_B_and_dB_dx proc~did_fail_any_sanity_check did_fail_any_sanity_check proc~find_global_extrema find_global_extrema proc~linspace linspace proc~find_global_extrema->proc~linspace proc~find_local_maxima find_local_maxima proc~find_local_maxima->interface~not_same proc~find_local_maxima->proc~linspace proc~find_local_minima find_local_minima proc~find_local_minima->proc~find_local_maxima proc~find_maxima_along_fieldline find_maxima_along_fieldline proc~find_maxima_along_fieldline->proc~b_mod_along_fieldline proc~find_maxima_along_fieldline->proc~db_dphi_along_fieldline proc~find_maxima_along_fieldline->proc~find_local_maxima proc~set_field_and_fieldline set_field_and_fieldline proc~find_maxima_along_fieldline->proc~set_field_and_fieldline proc~unset_field_and_fieldline unset_field_and_fieldline proc~find_maxima_along_fieldline->proc~unset_field_and_fieldline proc~fourier_field_init fourier_field_init proc~ifft_modes_to_b ifft_modes_to_B proc~fourier_field_init->proc~ifft_modes_to_b proc~fourier_field_init->proc~linspace construct_splines_2d construct_splines_2d proc~fourier_field_init->construct_splines_2d proc~fourier_transform_over_label->proc~allocate_modes proc~real_ft real_ft proc~fourier_transform_over_label->proc~real_ft proc~gcd gcd proc~get_eta_integration_grid->proc~linspace proc~get_global_b_max get_global_B_max proc~get_labels get_labels proc~get_labels->proc~calc_iota_p proc~get_labels->proc~linspace proc~rational_approx rational_approx proc~get_labels->proc~rational_approx proc~get_non_omnigenous_remainder get_non_omnigenous_remainder proc~get_non_omnigenous_remainder->proc~calc_avg_b_squared_over_avg_lambda proc~get_non_omnigenous_remainder->proc~calc_avg_normalized_b_squared_dphimax_dxi0 proc~get_non_omnigenous_remainder->proc~calc_avg_normalized_lambda_dphimax_dxi0 proc~get_non_omnigenous_remainder->proc~get_eta_integration_grid proc~get_non_omnigenous_remainder->proc~integrate_over_eta_grid proc~get_non_omnigenous_remainder->get_covariant_components proc~get_phi_integration_grid get_phi_integration_grid proc~get_phi_integration_grid->proc~linspace proc~integrate_1d integrate_1d qag qag proc~integrate_1d->qag proc~integrate_1d_substituted->proc~integrate_1d proc~integrate_over_phi_grid integrate_over_phi_grid proc~integrate_over_phi_grid->proc~linspace proc~sum_trapez_1d sum_trapez_1d proc~integrate_over_phi_grid->proc~sum_trapez_1d proc~is_not_integer is_not_integer proc~lambda_over_b_squared lambda_over_B_squared proc~lambda_over_b_squared->proc~calc_lambda_squared proc~lambda_over_b_squared->compute_B_mod proc~lcm lcm proc~lcm->proc~gcd proc~local_radial_drift local_radial_drift proc~local_radial_drift->proc~calc_lambda_squared proc~local_radial_drift->compute_B_and_dB_dx proc~make_flock_from_labels make_flock_from_labels proc~make_flock_from_labels->interface~not_same proc~make_flock_from_labels->none~get_theta proc~make_flock_from_labels->proc~calc_fieldline_integrals proc~make_flock_from_labels->proc~calc_iota_p proc~make_flock_from_labels->proc~failed_sanity_check proc~make_flock_from_labels->proc~find_maxima_along_fieldline proc~make_flock_from_labels->proc~get_global_b_max proc~make_flock_from_labels->proc~is_not_integer proc~make_flock_from_labels->proc~linspace proc~pick_maximum_on_each_side pick_maximum_on_each_side proc~make_flock_from_labels->proc~pick_maximum_on_each_side proc~suspect_omnigenous_origin_not_minimum suspect_omnigenous_origin_not_minimum proc~make_flock_from_labels->proc~suspect_omnigenous_origin_not_minimum proc~make_flock_from_labels->compute_B_mod proc~make_flock_from_labels->get_covariant_components rel_accuracy_B rel_accuracy_B proc~make_flock_from_labels->rel_accuracy_B proc~make_flock_of_fieldlines make_flock_of_fieldlines proc~make_flock_of_fieldlines->proc~get_labels proc~make_flock_of_fieldlines->proc~make_flock_from_labels proc~nabla_s_over_b_squared nabla_s_over_B_squared proc~nabla_s_over_b_squared->compute_B_mod compute_nabla_s compute_nabla_s proc~nabla_s_over_b_squared->compute_nabla_s proc~read_namelist read_namelist proc~read_namelist->interface~not_same proc~read_namelist->proc~is_not_integer proc~read_namelist->proc~linspace proc~real_ft->proc~check_has_correct_endpoints proc~real_ft->proc~check_is_equidistant proc~reset_failed_check_counter reset_failed_check_counter proc~set_field_and_fieldline->proc~unset_field_and_fieldline proc~set_unsafe_mode set_unsafe_mode proc~suspect_omnigenous_origin_not_minimum->proc~b_mod_along_fieldline proc~suspect_omnigenous_origin_not_minimum->proc~db_dphi_along_fieldline proc~suspect_omnigenous_origin_not_minimum->proc~find_global_extrema proc~suspect_omnigenous_origin_not_minimum->proc~find_local_minima proc~suspect_omnigenous_origin_not_minimum->proc~set_field_and_fieldline proc~suspect_omnigenous_origin_not_minimum->proc~unset_field_and_fieldline proc~suspect_omnigenous_origin_not_minimum->compute_B_mod proc~wrapper_lambda_over_b_squared~2 wrapper_lambda_over_B_squared proc~wrapper_lambda_over_b_squared~2->none~get_theta proc~wrapper_lambda_over_b_squared~2->proc~lambda_over_b_squared proc~write_dat_output write_dat_output program~main main program~main->proc~calc_finite_boundary_layer_correction program~main->proc~calc_gradient_scaling_factor_r_eff program~main->proc~calc_lambda_lc program~main->proc~calc_nu_star_crit program~main->proc~calc_offset_coefficients program~main->proc~did_fail_any_sanity_check program~main->proc~get_non_omnigenous_remainder program~main->proc~make_flock_of_fieldlines program~main->proc~read_namelist program~main->proc~reset_failed_check_counter program~main->proc~set_unsafe_mode program~main->proc~write_dat_output none~add_attr netcdf_t%add_attr program~main->none~add_attr none~add_global_attribute netcdf_t%add_global_attribute program~main->none~add_global_attribute none~add_int_1d netcdf_t%add_int_1d program~main->none~add_int_1d none~add_real netcdf_t%add_real program~main->none~add_real none~add_real_1d netcdf_t%add_real_1d program~main->none~add_real_1d none~create netcdf_t%create program~main->none~create none~def_dim netcdf_t%def_dim program~main->none~def_dim none~fix_to_surface boozer_field_t%fix_to_surface program~main->none~fix_to_surface none~get_iota boozer_field_t%get_iota program~main->none~get_iota none~init_from_boozmn boozer_field_t%init_from_boozmn program~main->none~init_from_boozmn none~init_from_chartmap boozer_field_t%init_from_chartmap program~main->none~init_from_chartmap none~init_from_vmec boozer_field_t%init_from_vmec program~main->none~init_from_vmec none~write_int_1d netcdf_t%write_int_1d program~main->none~write_int_1d none~write_real netcdf_t%write_real program~main->none~write_real none~write_real_1d netcdf_t%write_real_1d program~main->none~write_real_1d
Help