PB3D  [2.45]
Ideal linear high-n MHD stability in 3-D
Modules | Variables
num_vars.f90 File Reference

Go to the source code of this file.

Modules

module  num_vars
 Numerical variables used by most other modules.
 

Variables

integer, parameter, public num_vars::dp = REAL64
 double precision More...
 
integer, parameter, public num_vars::dpi = INT64
 double precision More...
 
real(dp), parameter, public num_vars::weight_dp = 0.008
 size of double precision in kB More...
 
integer, parameter, public num_vars::max_str_ln = 120
 maximum length of strings More...
 
integer, parameter, public num_vars::max_name_ln = 30
 maximum length of filenames More...
 
integer, parameter, public num_vars::max_deriv = 2
 highest derivatives for metric factors in Flux coords. More...
 
integer, public num_vars::prog_style
 program style (1: PB3D, 2: PB3D_POST) More...
 
character(len=4), public num_vars::prog_name
 name of program, used for info More...
 
character(len=3), parameter, public num_vars::output_name = 'out'
 name of output file More...
 
character(len=14), parameter, public num_vars::shell_commands_name = 'shell_commands'
 name of shell commands file More...
 
character(len=9), parameter, public num_vars::mem_usage_name = 'mem_usage'
 name of memory usage file More...
 
integer, public num_vars::mem_usage_count
 counter for memory usage output More...
 
real(dp), parameter, public num_vars::prog_version = 2.45_dp
 version number More...
 
real(dp), parameter, public num_vars::min_pb3d_version = 2.43_dp
 minimum PB3D version for POST More...
 
logical, public num_vars::debug_version = .true.
 debug version used More...
 
integer, public num_vars::rank
 MPI rank. More...
 
integer, public num_vars::n_procs
 nr. of MPI processes More...
 
integer, public num_vars::sol_n_procs
 nr. of MPI processes for solution with SLEPC More...
 
integer(kind=8), public num_vars::time_start
 start time of simulation More...
 
real(dp), public num_vars::max_tot_mem
 maximum total memory for all processes [MB] More...
 
real(dp), public num_vars::max_x_mem
 maximum memory for perturbation calculations for all processes [MB] More...
 
integer, dimension(:,:), allocatable, public num_vars::x_jobs_lims
 data about X jobs: [ \(\min_k\), \(\max_k\), \(\min_m\), \(\max_m\)] for all jobs More...
 
integer, dimension(:,:), allocatable, public num_vars::eq_jobs_lims
 data about eq jobs: [ \(\min_\theta\), \(\max_\theta\)] for all jobs More...
 
integer, public num_vars::x_job_nr
 nr. of X job More...
 
integer, public num_vars::eq_job_nr
 nr. of eq job More...
 
real(dp), parameter, public num_vars::mem_scale_fac = 6.0
 empirical scale factor of memory to calculate eq compared to just storing it More...
 
real(dp), parameter, public num_vars::pi =4_dp*datan(1.0_dp)
 \(\pi\) More...
 
real(dp), parameter, public num_vars::mu_0_original = 4E-7_dp*pi
 permeability of free space More...
 
complex(dp), parameter, public num_vars::iu = (0, 1)
 complex unit More...
 
integer, public num_vars::ev_style
 determines the method used for solving an EV problem More...
 
integer, public num_vars::eq_style
 either 1 (VMEC) or 2 (HELENA) More...
 
integer, public num_vars::rho_style
 style for equilibrium density profile More...
 
integer, public num_vars::u_style
 style for calculation of U (1: ord.2, 2: ord.1, 1: ord.0) More...
 
integer, public num_vars::norm_style
 style for normalization More...
 
integer, public num_vars::k_style
 style for kinetic energy More...
 
integer, dimension(2), public num_vars::bc_style
 style for BC left and right More...
 
integer, public num_vars::x_style
 style for secondary mode numbers (1: prescribed, 2: fast) More...
 
integer, public num_vars::matrix_slepc_style
 style for matrix storage (1: sparse, 2: shell) More...
 
integer, public num_vars::solver_slepc_style
 style for solver (1: Krylov-Schur, 2: GD) More...
 
integer, public num_vars::post_style
 style for POST (1: extended grid, 2: B-aligned grid) More...
 
integer, public num_vars::x_grid_style
 style for normal component of X grid (1: eq, 2: sol, 3: enriched) More...
 
integer, public num_vars::alpha_style
 style for alpha (1: one field line, many turns, 2: many field lines, one turn) More...
 
integer, public num_vars::max_it_slepc
 maximum nr. of iterations for SLEPC More...
 
logical, public num_vars::plot_resonance
 whether to plot the q-profile or iota-profile with resonances More...
 
logical, public num_vars::plot_magn_grid
 whether to plot the grid in real coordinates More...
 
logical, public num_vars::plot_b
 whether to plot the magnetic field in real coordinates More...
 
logical, public num_vars::plot_j
 whether to plot the current in real coordinates More...
 
logical, public num_vars::plot_flux_q
 whether to plot flux quantities in real coordinates More...
 
logical, public num_vars::plot_kappa
 whether to plot curvature More...
 
logical, public num_vars::plot_sol_xi
 whether to plot plasma perturbation of solution in POST More...
 
logical, public num_vars::plot_sol_q
 whether to plot magnetic perturbation of solution in POST More...
 
logical, public num_vars::plot_vac_pot
 whether to plot vacuum potential in POST More...
 
logical, public num_vars::plot_e_rec
 whether to plot energy reconstruction in POST More...
 
logical, public num_vars::ltest
 whether or not to call the testing routines More...
 
logical, public num_vars::use_pol_flux_e
 whether poloidal flux is used in E coords. More...
 
logical, public num_vars::use_pol_flux_f
 whether poloidal flux is used in F coords. More...
 
logical, public num_vars::use_normalization
 whether to use normalization or not More...
 
real(dp), public num_vars::ev_bc
 value of artificial Eigenvalue for boundary condition More...
 
real(dp), public num_vars::ev_guess
 first guess for eigenvalue More...
 
real(dp), dimension(:), allocatable, public num_vars::tol_slepc
 tolerance for SLEPC for different Richardson levels More...
 
real(dp), public num_vars::max_njq_change
 maximum change of prim. mode number times saf. fac. / rot. transf. when using X_style 2 (fast) More...
 
integer, public num_vars::norm_disc_prec_eq
 precision for normal discretization for equilibrium More...
 
integer, public num_vars::norm_disc_prec_x
 precision for normal discretization for perturbation More...
 
integer, public num_vars::norm_disc_prec_sol
 precision for normal discretization for solution More...
 
integer, public num_vars::norm_disc_style_sol
 style for normal discretization for solution (1: central fin. diff., 2: left fin. diff.) More...
 
integer, public num_vars::magn_int_style
 style for magnetic integrals (1: trapezoidal, 2: Simpson 3/8) More...
 
integer, public num_vars::max_it_rich
 number of levels for Richardson extrapolation More...
 
real(dp), public num_vars::tol_rich
 tolerance for Richardson extrapolation More...
 
integer, public num_vars::max_it_zero
 maximum number of iterations to find zeros More...
 
integer, public num_vars::max_nr_backtracks_hh
 maximum number of backtracks for Householder, relax. factors More...
 
real(dp), public num_vars::tol_zero
 tolerance for zeros More...
 
real(dp), public num_vars::tol_norm
 tolerance for normal range (normalized to 0..1) More...
 
integer, parameter, public num_vars::ex_max_size = 10000
 maximum size of matrices for external plot More...
 
character(len=max_str_ln), public num_vars::eq_name
 name of equilibrium file from VMEC or HELENA More...
 
character(len=max_str_ln), public num_vars::pb3d_name
 name of PB3D output file More...
 
logical, public num_vars::no_plots = .false.
 no plots made More...
 
logical, public num_vars::jump_to_sol = .false.
 jump to solution More...
 
logical, public num_vars::export_hel = .false.
 export HELENA More...
 
logical, public num_vars::plot_vmec_modes = .false.
 plot VMEC modes More...
 
logical, public num_vars::invert_top_bottom_h = .false.
 invert top and bottom for HELENA equilibria More...
 
logical, public num_vars::no_output = .false.
 no output shown More...
 
logical, public num_vars::post_output_full = .false.
 POST has output on full grids. More...
 
logical, public num_vars::post_output_sol = .false.
 POST has outputs of solution. More...
 
logical, public num_vars::do_execute_command_line = .false.
 call "execute_command_line" inside program More...
 
logical, public num_vars::print_mem_usage = .false.
 print memory usage is printed More...
 
logical, public num_vars::swap_angles = .false.
 swap angles theta and zeta in plots (only for POST) More...
 
logical, public num_vars::compare_tor_pos = .false.
 compare quantities at toroidal positions (only for POST) More...
 
logical, public num_vars::retain_all_sol
 retain also faulty solutions More...
 
character(len=5), public num_vars::plot_dir = 'Plots'
 directory where to save plots More...
 
character(len=7), public num_vars::script_dir = 'Scripts'
 directory where to save scripts for plots More...
 
character(len=4), public num_vars::data_dir = 'Data'
 directory where to save data for plots More...
 
integer, public num_vars::n_theta_plot
 nr. of poloidal points in plot More...
 
integer, public num_vars::n_zeta_plot
 nr. of toroidal points in plot More...
 
integer, dimension(2), public num_vars::n_vac_plot
 nr. of points in R and Z in vacuum More...
 
real(dp), public num_vars::min_theta_plot
 min. of theta_plot More...
 
real(dp), public num_vars::max_theta_plot
 max. of theta_plot More...
 
real(dp), public num_vars::min_zeta_plot
 min. of zeta_plot More...
 
real(dp), public num_vars::max_zeta_plot
 max. of zeta_plot More...
 
real(dp), public num_vars::min_r_plot
 min. of r_plot More...
 
real(dp), public num_vars::max_r_plot
 max. of r_plot More...
 
real(dp), public num_vars::min_rvac_plot
 min. of R in which to plot vacuum More...
 
real(dp), public num_vars::max_rvac_plot
 max. of R in which to plot vacuum More...
 
real(dp), public num_vars::min_zvac_plot
 min. of Z in which to plot vacuum More...
 
real(dp), public num_vars::max_zvac_plot
 max. of Z in which to plot vacuum More...
 
integer, public num_vars::plot_grid_style
 style for POST plot grid (0: 3-D plots, 1: slab plots, 2: slab plots with folding, 3: straight cylinder)) More...
 
integer, public num_vars::n_sol_requested
 how many solutions requested More...
 
integer, dimension(4), public num_vars::n_sol_plotted
 how many solutions to be plot (first unstable, last unstable, first stable, last stable) More...
 
integer, dimension(2), public num_vars::plot_size
 size of plot in inches More...
 
integer, public num_vars::rich_restart_lvl
 starting Richardson level (0: none [default]) More...
 
character(len=max_str_ln), public num_vars::input_name
 will hold the full name of the input file More...
 
integer, public num_vars::ex_plot_style
 external plot style (1: GNUPlot, 2: Bokeh for 2D, Mayavi for 3D) More...
 
real(dp), public num_vars::pert_mult_factor_post
 factor with which to multiply perturbation strength for POST More...
 
real(dp), dimension(2), public num_vars::rz_0
 origin of geometrical poloidal coordinate More...
 
integer, parameter, public num_vars::input_i = 50
 file number of input file More...
 
integer, parameter, public num_vars::eq_i = 51
 file number of equilibrium file from VMEC or HELENA More...
 
integer, parameter, public num_vars::pb3d_i = 52
 file number of PB3D output file More...
 
integer, parameter, public num_vars::output_i = 53
 file number of output file More...
 
integer, parameter, public num_vars::shell_commands_i = 54
 file number of shell commands file More...
 
integer, parameter, public num_vars::mem_usage_i = 55
 file number of memory usage file More...
 
integer, parameter, public num_vars::output_ev_i = 56
 file number of output of EV More...
 
integer, parameter, public num_vars::decomp_i = 57
 file number of output of EV decomposition More...
 
integer, parameter, public num_vars::hel_export_i = 59
 file number of output of HELENA equilibrium export file More...
 
integer, parameter, public num_vars::hel_pert_i = 58
 file number of HELENA equilibrium perturbation file More...
 
integer, parameter, public num_vars::prop_b_tor_i = 60
 file number of \(B_\phi\) proportionality factor file More...