Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://doi.org/10.5281/zenodo.8075681
29 October 2025, 17:21:42 UTC
  • Code
  • Branches (0)
  • Releases (4)
  • Visits
    • Branches
    • Releases
      • 4
      • 4
      • 3
      • 2
      • 1
    • ea30f42
    • /
    • danielver02-ALPS-220597d
    • /
    • input.md
    Raw File Download

    To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
    Select below a type of object currently browsed in order to display its associated SWHID and permalink.

    • content
    • directory
    • snapshot
    • release
    origin badgecontent badge
    swh:1:cnt:e7fbbf8c253d4624b9c76f4ae12b0775a3d636e6
    origin badgedirectory badge
    swh:1:dir:8060d4ac9b00a0efe50ec931c8bf08c2d166f29b
    origin badgesnapshot badge
    swh:1:snp:e9971dcac38583a5eceb223e9c3c25638ea32323
    origin badgerelease badge
    swh:1:rel:38e50bdfa887feee20e30d4b944782bd46bda1ba

    This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
    Select below a type of object currently browsed in order to generate citations for them.

    • content
    • directory
    • snapshot
    • release
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    input.md
    # ALPS Input
    
    This is a reference for the key input parameters used by ALPS.
    
    ## Namelists in execution input files.
    
    The following namelists and associated input parameters are read in by ALPS from the input file.
    
    ### *&system*  
    General system parameters.
    
    **`kperp`**  
    Initial perpendicular wavevector $k_{\perp} d_{ref}$.
    
    **`kpar`**  
    Initial parallel wavevector $k_{\parallel} d_{ref}$.
    
    **`nspec`**   
    Number of plasma species.
    
    **`nroots`**   
    Number of dispersion solutions to find and follow.
    
    **`use_map`**   
    Choice of:  
    
    - True: Searching for roots over a map in complex frequency space (see &maps_1 namelist).  
    - False: Input `nroots` guesses for solutions (see &guess_1 namelist).
    
    **`writeOut`**  
    Write or suppress output to screen.
    
    **`nperp`**  
    Perpendicular momentum space resolution, $N_{\perp}$.
    The input file must have $N_{\perp}+1$ values spanning parallel momentum space.
    
    **`npar`**  
    Parallel momentum space resolution, $N_{\parallel}$.
    The input file must have $N_{\parallel}+1$ values spanning parallel momentum space.
    
    **`ngamma`**  
    Relativistic momentum space resolution, $N_{\Gamma}$.
    
    **`npparbar`**  
    Relativistic parallel momentum space resolution, $N_{\bar{p}_{\parallel}}$.
    
    **`vA`**  
    Reference Alfven velocity, normalized to the speed of light, $v_{A,ref}/c$.
    
    **`arrayName`**  
    Name of input array, located in 'distribution' folder.
    
    **`Bessel_zero`**  
    Maximum amplitude of Bessel function to determine `nmax`.
    
    **`secant_method`**  
    Selection for root finding method.
    0: secant method from NHDS
    1: rtsec method from PLUME
    2: Improved secant method to reduce oscillations around solutions.
    
    **`numiter`**  
    Maximum number of iterations in secant method.
    
    **`kperp_norm`**   
    Choice of:  
    
    - True: Follow's Stix (10-57) normalization convention.  
    - False: Multiplies Stix (10-57) by $k_{\perp}^2 d_{ref}^2$.
    
    Depending on the user's choice of normalization, `D_threshold` needs to be adjusted to account for additional factors of $k_{\perp}^6 d_{ref}^6$.
    
    **`D_threshold`**  
    Minimum threshold for secant method.
    
    **`D_prec`**  
    Size of bounding region for secant method.
    
    **`D_gap`**  
    Size of allowable difference between roots.
    
    **`D_tol`**  
    Tolerance for secant method = 1, rtsec.
    
    **`positions_principal`**  
    Number of parallel momentum steps distant from the resonant momentum
    included in the numerical calculation of Eqn 3.5, $M_{I}$.
    
    **`n_resonance_interval`**  
    How many steps should be used to integrate around the resonance,
    $M_{P}$, used for integrating near poles (see section 3.1).
    
    **`Tlim`**  
    Threshold for analytical principal-value integration, $t_{\mathrm{lim}}$.
    
    **`maxsteps_fit=500`**  
    Maximum number of fitting iterations.
    
    **`lambda_initial_fit`**  
    Inital Levenberg-Marquardt damping parameter.
    
    **`lambdafac_fit`**  
    Adjustment factor for Levenberg-Marquardt damping parameter.
    
    **`epsilon_fit`**  
    Convergence for Levenberg-Marquardt fit.
    
    **`fit_check`**  
    If true, output fitted functions for each species to file in distribution directory.
    
    **`determine_minima`**  
    If true, after map search, determine minima and refine solutions.
    
    **`scan_option`**  
    Select case for wavevector scans:
    
    - 1: Consecutive scans along input paths in wavevector space,  
    - 2: Double scan over wavevector plane.
    
    **`n_scan`**  
    Number of wavevector scans.  
    0 turns off wavevector scans.  
    Must be 1 or larger for `scan_option`=1.  
    Must be set to 2 for `scan_option`=2.  
    
    
    ### *&guess_m*  
    Initial guess of complex frequency for $m$th solution.  
    Only used when `use_map`=.false.  
    Need to have number of name lists equal to `nroots`.
    
    **`g_om`**  
    Guess for real solution $\omega_{r}/\Omega_{ref} $.
    
    **`g_gam`**  
    Guess for imaginary solution $\gamma/\Omega_{ref} $.
    
    
    ### *&maps_1*  
    Range of complex frequencies for map_scan subroutine.  
    Only used when `use_map`=.true.
    
    **`loggridw`**  
    Linear (F) or Log (T) spacing for $\omega_{r}/\Omega_{ref}$ map search.
    Spacing automatically calculated between `omi` and `omf`.  
    
    **`loggridg`**  
    Linear (F) or Log (T) spacing for $\gamma/\Omega_{ref}$ map search.
    Spacing automatically calculated between `gami` and `gamf`  
    
    **`omi`**  
    Smallest $\omega_{r}/\Omega_{ref}$ value for complex map search.
    
    **`omf`**  
    Largest $\omega_{r}/\Omega_{ref}$ value for complex map search.
    
    **`gami`**      
    Smallest $\gamma/\Omega_{ref}$ value for complex map search.
    
    **`gamf`**  
    Largest $\gamma/\Omega_{ref}$ value for complex map search.
    
    **`ni`**  
    Number of $\gamma/\Omega_{p}$ points in frequency grid.
    
    **`nr`**  
    Number of $\omega_{r}/\Omega_{ref}$ points in frequency grid.
    
    
    ### *&spec_j*  
    Species parameters list for distribution $f_{j}$.
    The first species is set as the reference.
    
    **`nn`**  
    Relative density $n_{j}/n_{ref}$.
    
    **`qq`**  
    Relative charge $q_{j}/q_{ref}$.
    
    **`mm`**  
    Relative mass $m_{j}/m_{ref}$.
    
    **`ff`**  
    Number of fitted functions for analytical continuation calculation.
    
    **`relat`**  
    Treat $f_{j}$ as non-relativistic or relativistic.
    
    **`log_fit`**  
    Use linear or $\log_{10}$ fitting routine.
    
    **`use_bM`**  
    Use actual numerical integration (F) or bi-Maxwellian/cold-plasma proxy via NHDS routines,
    with parameters read in from &bM_spec_j namelist.
    
    **`AC_method`**  
    Choose the method for the evaluation of the analytic continuation:
    
    - 0: Use the function that is defined analytically in distribution/distribution_analyt.f90
    - 1: Use the fit routine as defined in the &ffit_j_k namelist.
    - 2: Use a polynomial basis representation as defined in the &poly_spec_j namelist. This method should only be used if $|\gamma|\ll |\omega_{r}|$.
    
    
    ### *&ffit_j_k*
    Initial Fit Values for species $j$, function $k$.
    
    **`fit_type_in`**  
    Kind of fit function:
    
    - 1: Maxwellian,  
    
    $$F_M(\hat{p}\_{\parallel})=u_{1}\mathrm{exp}[-y{\hat{p}}^2\_{\perp}-u_{2}(\hat{p}\_{\parallel}-u_{3})^2]$$
    
    - 2: Kappa,  
    
    $$F_{\kappa}(\hat{p}\_{\parallel})=u_{1}[1+u_2({\hat{p}}\_{\parallel}-u_{3})^2+yu_{5} {\hat{p}}^2\_{\perp}]^{u_{4}}.$$
    
    - 3: Juettner with $p_{\perp},p_{\parallel}$,  
    
    $$F_{J}(\hat{p}\_{\perp},\hat{p}\_{\parallel})=
    u_{1}\mathrm{exp}\left[-u_{2}\sqrt{1+\frac{\hat{p}^2\_{\perp}+(\hat{p}^2\_{\parallel}-u_3)^2 v_A^2}{m_{j}^2 c^2}}\right].$$
    
    - 4: Juettner with variable $\Gamma$, constant $\bar{p}_{\parallel}$,  
    
    $$F_{J}(\Gamma)= u_{1} \mathrm{exp}[-y \Gamma].$$
    
    - 5: Juettner with $p_{\perp},p_{\parallel}$; variable $\bar{p}_{\parallel}$,  
    
    $$F_{\kappa}(\hat{p}\_{\perp},\hat{p}\_{\parallel})=u_{1}\mathrm{exp}[-y \hat{p}\_{\perp}]\mathrm{exp}[-u_{2}*(\hat{p}\_{\parallel}+u_{3})^2].$$
    
    - 6: Bi-Moyal distribution
    
    $$F_{bMo}(\hat{p}\_{\perp},\hat{p}\_{\parallel})= u_{1} \mathrm{exp}[0.5 (y u_4 \hat{p}^2\_{\perp} + u_{2} (\hat{p}\_{\parallel} -u_{3})^2 -\mathrm{exp}(y u_{4} \hat{p}^2\_{\perp} + u_{2} (\hat{p}\_{\parallel}-u_{3})^2) )].$$
    
    **`fit_1`-`fit_5`**  
    Fit parameters, $u_{1}$ - $u_{5}$, defined in the above equations for each of the types of fit functions.
    Not all parameters will be used for all functions.  
    Suggested values for parameters generated by generate_distribution.
    
    **`perpcorr`**  
    This parameter, $y$ in Eqn. B1, compensates for the strong
    $p_{\perp}$ dependence of $u_1$, making the fit more reliable.
    
    
    ### *&bM_spec_j*
    Bi-Maxwellian/cold-plasma parameters; for species j.
    Only used if `use_bM=T`.
    
    **`bM_nmaxs`**  
    Maximum number of resonances to consider.
    
    **`bM_Bessel`**  
    Precision threshold for $I_n$.
    
    **`bM_betas`**  
    $\beta_{\parallel,j}$ of bi-Maxwellian distribution $f_{j}$. If this variable is set to 0.d0, then the code will treat the given species with the susceptibility from cold-plasma theory.
    
    **`bM_alphas`**  
    $T_{\perp,j}/T_{\parallel,j}$ of bi-Maxwellian distribution $f_{j}$.
    
    **`bM_pdrifts`**  
    Relative drift of bi-Maxwellian distribution $f_{j}$ or the cold plasma species in units of $m_{ref} v_{A,ref}$.
    
    
    ### *&poly_spec_j*
    Input for the polynomial representation of the input distribution for the analytical continuation.
    Only used if `AC_method=2`.
    
    **`kind`**  
    Type of the basis polynomial:
    
    - 1: Chebychev
    
    **`order`**  
    Maximum order of the basis polynomial.
    
    **`log_max`**  
    When using logfit for the polynomial representation, set all output values to zero if the log(fit_function_poly) is greater than this variable.
    
    
    ### *&scan_input_l*
    Inputs for scanning parameter space for $l$th scan.  
    
    **`scan_type`**  
    Type of parameter scan:
    
    - 0: Current value of $\textbf{k}$ to $k\_{\perp}$=`swi` and $k\_{\parallel}$ =`swf`.   
    - 1: $\theta_0 \rightarrow \theta_1$ at fixed $|k|$ from current value of $\theta=\mathrm{atan}(k\_{\perp}/k\_{\parallel})$ to `swf`.  
    - 2: Wavevector scan at fixed angle $\theta_{k,B}$ to $|k|$ =`swf`.  
    - 3: $k\_{\perp}$ scan with constant $k\_{\parallel}$ to $k\_{\perp}$=`swf`.  
    - 4: $k\_{\parallel}$ scan with constant $k\_{\perp}$ to $k\_{\parallel}$=`swf`.  
    
    **`swi`**  
    Scan variable to define end of scan through wavevector space (only for `scan_type=1`).
    
    **`swf`**  
    Scan variable to define end of scan through wavevector space.
    
    **`swlog`**  
    Use $\log_{10}$ (T) or linear (F) spacing.
    
    **`ns`**  
    Number of output scan values.
    
    **`nres`**  
    Resolution between output scan values.
    
    **`heating`**  
    Calculates heating rates if true.
    
    **`eigen`**  
    Calculates eigenfunctions if true.     
    
    ## Namelists in distribution input files.
    
    The following namelists and associated input parameters are read in by the routine `generate_distribution` from input files. This generates `nspec` arrays of distributions that are read in by ALPS
    
    ### *&system*
    General system parameters.
    
    **`nspec`**
    
    Number of plasma species.
    
    **`beta`**
    
    Reference plasma beta.
    
    **`vA`**
    
    Reference Alfven velocity, normalized to the speed of light, $v_{A,ref}/c$.
    
    **`nperp`**  
    
    Perpendicular momentum space resolution, $N_{\perp}$.
    The input file will have $N_{\perp}+1$ values spanning parallel momentum space.
    Set the same values of `nperp` in both the distribution input file and ALPS execution input file.
    
    **`npar`**  
    
    Parallel momentum space resolution, $N_{\parallel}$.
    The input file will have $N_{\parallel}+1$ values spanning parallel momentum space.
    Set the same values of `npar` in both the distribution input file and ALPS execution input file.
    
    **`maxP`**
    
    Maximum value of reference Alfven momentum, $m_{ref} v_{A,ref}$.
    
    **`writeName`**
    
    Name of output arrays.
    
    ### *&spec_j*
    
    **`ms_read`**
    
    Mass ratio $m_j/m_{ref}$.
    
    **`taus`**
    
    Temperature ratio $T_{\parallel,j}/T_{\parallel,ref}$.
    
    **`alphs`**
    
    Temperature anisotropy $T_{\perp,j}/T_{\parallel,j}$.
    
    **`ps`**
    
    Normalized drift momentum $m_j v_{drift}/m_{ref} v_{A,ref}$.
    
    **`kappas`**
    
    $\kappa$ index.
    Only used if `distribution`=2.
    
    **`distributions`**
    
    Type of distribution:
    
    - 0: Use distribution from distribution_analyt.
    - 1: Bi-Maxwellian distribution.
    - 2: Bi-Kappa distribution.
    - 3: Anisotropic Juettner distribution.
    - 4: Bi-Moyal distribution.
    
    **`autoscaleS`**
    
    If `autoscaleS`=.true., define maximum momentum for each array automatically using global value `maxP`.
    
    **`maxPperpS`**
    
    If `autoscaleS`=.false., force maximum perpendicular momentum for species array.
    
    **`maxPparS`**
    
    If `autoscaleS`=.false., force maximum parallel momentum for species array.
    
    
    
    
    

    back to top

    Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
    The source code of Software Heritage itself is available on our development forge.
    The source code files archived by Software Heritage are available under their own copyright and licenses.
    Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API