SPEC 3.20
Stepped Pressure Equilibrium Code
|
Input namelists. More...
Functions/Subroutines | |
subroutine | inputlist::initialize_inputs |
Variables | |
integer, parameter | inputlist::mnvol = 256 |
The maximum value of Nvol is MNvol=256 . | |
integer, parameter | inputlist::mmpol = 128 |
The maximum value of Mpol is MNpol=64 . | |
integer, parameter | inputlist::mntor = 128 |
The maximum value of Ntor is MNtor=64 . | |
integer | inputlist::igeometry = 3 |
selects Cartesian, cylindrical or toroidal geometry; More... | |
integer | inputlist::istellsym = 1 |
stellarator symmetry is enforced if Istellsym==1 | |
integer | inputlist::lfreebound = 0 |
compute vacuum field surrounding plasma | |
real | inputlist::phiedge = 1.0 |
total enclosed toroidal magnetic flux; | |
real | inputlist::curtor = 0.0 |
total enclosed (toroidal) plasma current; | |
real | inputlist::curpol = 0.0 |
total enclosed (poloidal) linking current; | |
real | inputlist::gamma = 0.0 |
adiabatic index; cannot set \(|\gamma| = 1\) | |
integer | inputlist::nfp = 1 |
field periodicity More... | |
integer | inputlist::nvol = 1 |
number of volumes More... | |
integer | inputlist::mpol = 0 |
number of poloidal Fourier harmonics More... | |
integer | inputlist::ntor = 0 |
number of toroidal Fourier harmonics More... | |
integer, dimension(1:mnvol+1) | inputlist::lrad = 4 |
Chebyshev resolution in each volume. More... | |
integer | inputlist::lconstraint = -1 |
selects constraints; primarily used in ma02aa() and mp00ac(). More... | |
real, dimension(1:mnvol+1) | inputlist::tflux = 0.0 |
toroidal flux, \(\psi_t\), enclosed by each interface More... | |
real, dimension(1:mnvol+1) | inputlist::pflux = 0.0 |
poloidal flux, \(\psi_p\), enclosed by each interface | |
real, dimension(1:mnvol) | inputlist::helicity = 0.0 |
helicity, \({\cal K}\), in each volume, \({\cal V}_i\) More... | |
real | inputlist::pscale = 0.0 |
pressure scale factor More... | |
real, dimension(1:mnvol+1) | inputlist::pressure = 0.0 |
pressure in each volume More... | |
integer | inputlist::ladiabatic = 0 |
logical flag More... | |
real, dimension(1:mnvol+1) | inputlist::adiabatic = 0.0 |
adiabatic constants in each volume More... | |
real, dimension(1:mnvol+1) | inputlist::mu = 0.0 |
helicity-multiplier, \(\mu\), in each volume | |
real, dimension(1:mnvol+1) | inputlist::ivolume = 0.0 |
Toroidal current constraint normalized by \(\mu_0\) ( \(I_{volume} = \mu_0\cdot [A]\)), in each volume. This is a cumulative quantity: \(I_{\mathcal{V},i} = \int_0^{\psi_{t,i}} \mathbf{J}\cdot\mathbf{dS}\). Physically, it represents the sum of all non-pressure driven currents. | |
real, dimension(1:mnvol) | inputlist::isurf = 0.0 |
Toroidal current normalized by \(\mu_0\) at each interface (cumulative). This is the sum of all pressure driven currents. | |
integer, dimension(0:mnvol) | inputlist::pl = 0 |
"inside" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2 \). More... | |
integer, dimension(0:mnvol) | inputlist::ql = 0 |
"inside" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2 \). More... | |
integer, dimension(0:mnvol) | inputlist::pr = 0 |
"inside" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2 \). More... | |
integer, dimension(0:mnvol) | inputlist::qr = 0 |
"inside" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2 \). More... | |
real, dimension(0:mnvol) | inputlist::iota = 0.0 |
rotational-transform, \(\mbox{$\,\iota\!\!$-}\), on inner side of each interface More... | |
integer, dimension(0:mnvol) | inputlist::lp = 0 |
"outer" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2\). More... | |
integer, dimension(0:mnvol) | inputlist::lq = 0 |
"outer" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2\). More... | |
integer, dimension(0:mnvol) | inputlist::rp = 0 |
"outer" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2\). More... | |
integer, dimension(0:mnvol) | inputlist::rq = 0 |
"outer" interface rotational-transform is \(\mbox{$\,\iota\!\!$-} = (p_l+\gamma p_r)/(q_l+\gamma q_r)\), where \(\gamma\) is the golden mean, \(\gamma = (1 + \sqrt 5 ) / 2\). More... | |
real, dimension(0:mnvol) | inputlist::oita = 0.0 |
rotational-transform, \(\mbox{$\,\iota\!\!$-}\), on outer side of each interface More... | |
real | inputlist::mupftol = 1.0e-14 |
accuracy to which \(\mu\) and \(\Delta\psi_p\) are required More... | |
integer | inputlist::mupfits = 8 |
an upper limit on the transform/helicity constraint iterations; More... | |
real | inputlist::rpol = 1.0 |
poloidal extent of slab (effective radius) More... | |
real | inputlist::rtor = 1.0 |
toroidal extent of slab (effective radius) More... | |
integer | inputlist::lreflect = 0 |
=1 reflect the upper and lower bound in slab, =0 do not reflect | |
real, dimension( 0:mntor) | inputlist::rac = 0.0 |
stellarator symmetric coordinate axis; | |
real, dimension( 0:mntor) | inputlist::zas = 0.0 |
stellarator symmetric coordinate axis; | |
real, dimension( 0:mntor) | inputlist::ras = 0.0 |
non-stellarator symmetric coordinate axis; | |
real, dimension( 0:mntor) | inputlist::zac = 0.0 |
non-stellarator symmetric coordinate axis; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::rbc = 0.0 |
stellarator symmetric boundary components; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::zbs = 0.0 |
stellarator symmetric boundary components; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::rbs = 0.0 |
non-stellarator symmetric boundary components; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::zbc = 0.0 |
non-stellarator symmetric boundary components; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::rwc = 0.0 |
stellarator symmetric boundary components of wall; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::zws = 0.0 |
stellarator symmetric boundary components of wall; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::rws = 0.0 |
non-stellarator symmetric boundary components of wall; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::zwc = 0.0 |
non-stellarator symmetric boundary components of wall; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::vns = 0.0 |
stellarator symmetric normal field at boundary; vacuum component; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::bns = 0.0 |
stellarator symmetric normal field at boundary; plasma component; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::vnc = 0.0 |
non-stellarator symmetric normal field at boundary; vacuum component; | |
real, dimension(-mntor:mntor,-mmpol:mmpol) | inputlist::bnc = 0.0 |
non-stellarator symmetric normal field at boundary; plasma component; | |
integer | inputlist::linitialize = 0 |
Used to initialize geometry using a regularization / extrapolation method. More... | |
integer | inputlist::lautoinitbn = 1 |
Used to initialize \(B_{ns}\) using an initial fixed-boundary calculation. More... | |
integer | inputlist::lzerovac = 0 |
Used to adjust vacuum field to cancel plasma field on computational boundary. More... | |
integer | inputlist::ndiscrete = 2 |
resolution of the real space grid on which fast Fourier transforms are performed is given by Ndiscrete*Mpol*4 More... | |
integer | inputlist::nquad = -1 |
Resolution of the Gaussian quadrature. More... | |
integer | inputlist::impol = -4 |
Fourier resolution of straight-fieldline angle on interfaces. More... | |
integer | inputlist::intor = -4 |
Fourier resolution of straight-fieldline angle on interfaces;. More... | |
integer | inputlist::lsparse = 0 |
controls method used to solve for rotational-transform on interfaces More... | |
integer | inputlist::lsvdiota = 0 |
controls method used to solve for rotational-transform on interfaces; only relevant if Lsparse = 0 More... | |
integer | inputlist::imethod = 3 |
controls iterative solution to sparse matrix arising in real-space transformation to the straight-fieldline angle; only relevant if Lsparse.eq.2 ; More... | |
integer | inputlist::iorder = 2 |
controls real-space grid resolution for constructing the straight-fieldline angle; only relevant if Lsparse>0 More... | |
integer | inputlist::iprecon = 0 |
controls iterative solution to sparse matrix arising in real-space transformation to the straight-fieldline angle; only relevant if Lsparse.eq.2 ; More... | |
real | inputlist::iotatol = -1.0 |
tolerance required for iterative construction of straight-fieldline angle; only relevant if Lsparse.ge.2 | |
integer | inputlist::lextrap = 0 |
geometry of innermost interface is defined by extrapolation | |
integer | inputlist::mregular = -1 |
maximum regularization factor More... | |
integer | inputlist::lrzaxis = 1 |
controls the guess of geometry axis in the innermost volume or initialization of interfaces More... | |
integer | inputlist::ntoraxis = 3 |
the number of \(n\) harmonics used in the Jacobian \(m=1\) harmonic elimination method; only relevant if Lrzaxis.ge.1 . | |
integer | inputlist::lbeltrami = 4 |
Control flag for solution of Beltrami equation. More... | |
integer | inputlist::linitgues = 1 |
controls how initial guess for Beltrami field is constructed More... | |
integer | inputlist::lposdef = 0 |
redundant; | |
real | inputlist::maxrndgues = 1.0 |
the maximum random number of the Beltrami field if Linitgues = 3 | |
integer | inputlist::lmatsolver = 3 |
1 for LU factorization, 2 for GMRES, 3 for GMRES matrix-free | |
integer | inputlist::nitergmres = 200 |
number of max iteration for GMRES | |
real | inputlist::epsgmres = 1e-14 |
the precision of GMRES | |
integer | inputlist::lgmresprec = 1 |
type of preconditioner for GMRES, 1 for ILU sparse matrix | |
real | inputlist::epsilu = 1e-12 |
the precision of incomplete LU factorization for preconditioning | |
integer | inputlist::lfindzero = 0 |
use Newton methods to find zero of force-balance, which is computed by dforce() More... | |
real | inputlist::escale = 0.0 |
controls the weight factor, BBweight , in the force-imbalance harmonics More... | |
real | inputlist::opsilon = 1.0 |
weighting of force-imbalance More... | |
real | inputlist::pcondense = 2.0 |
spectral condensation parameter More... | |
real | inputlist::epsilon = 0.0 |
weighting of spectral-width constraint More... | |
real | inputlist::wpoloidal = 1.0 |
"star-like" poloidal angle constraint radial exponential factor used in preset() to construct sweight | |
real | inputlist::upsilon = 1.0 |
weighting of "star-like" poloidal angle constraint used in preset() to construct sweight | |
real | inputlist::forcetol = 1.0e-10 |
required tolerance in force-balance error; only used as an initial check More... | |
real | inputlist::c05xmax = 1.0e-06 |
required tolerance in position, \({\bf x} \equiv \{ R_{i,v}, Z_{i,v}\}\) | |
real | inputlist::c05xtol = 1.0e-12 |
required tolerance in position, \({\bf x} \equiv \{ R_{i,v}, Z_{i,v}\}\) More... | |
real | inputlist::c05factor = 1.0e-02 |
used to control initial step size in C05NDF and C05PDF More... | |
logical | inputlist::lreadgf = .true. |
read \(\nabla_{\bf x} {\bf F}\) from file ext.GF More... | |
integer | inputlist::mfreeits = 0 |
maximum allowed free-boundary iterations More... | |
real | inputlist::bnstol = 1.0e-06 |
redundant; | |
real | inputlist::bnsblend = 0.666 |
redundant; | |
real | inputlist::gbntol = 1.0e-06 |
required tolerance in free-boundary iterations More... | |
real | inputlist::gbnbld = 0.666 |
normal blend More... | |
real | inputlist::vcasingeps = 1.e-12 |
regularization of Biot-Savart; see bnorml(), casing() | |
real | inputlist::vcasingtol = 1.e-08 |
accuracy on virtual casing integral; see bnorml(), casing() | |
integer | inputlist::vcasingits = 8 |
minimum number of calls to adaptive virtual casing routine; see casing() | |
integer | inputlist::vcasingper = 1 |
periods of integragion in adaptive virtual casing routine; see casing() | |
integer | inputlist::mcasingcal = 8 |
minimum number of calls to adaptive virtual casing routine; see casing(); redundant; | |
real | inputlist::odetol = 1.0e-07 |
o.d.e. integration tolerance for all field line tracing routines | |
real | inputlist::absreq = 1.0e-08 |
redundant | |
real | inputlist::relreq = 1.0e-08 |
redundant | |
real | inputlist::absacc = 1.0e-04 |
redundant | |
real | inputlist::epsr = 1.0e-08 |
redundant | |
integer | inputlist::nppts = 0 |
number of toroidal transits used (per trajectory) in following field lines for constructing Poincaré plots; if nPpts<1 , no Poincaré plot is constructed; | |
real | inputlist::ppts = 0.0 |
stands for Poincare plot theta start. Chose at which angle (normalized over \(\pi\)) the Poincare field-line tracing start. | |
integer, dimension(1:mnvol+1) | inputlist::nptrj = -1 |
number of trajectories in each annulus to be followed in constructing Poincaré plot More... | |
logical | inputlist::lhevalues = .false. |
to compute eigenvalues of \(\nabla {\bf F}\) | |
logical | inputlist::lhevectors = .false. |
to compute eigenvectors (and also eigenvalues) of \(\nabla {\bf F}\) | |
logical | inputlist::lhmatrix = .false. |
to compute and write to file the elements of \(\nabla {\bf F}\) | |
integer | inputlist::lperturbed = 0 |
to compute linear, perturbed equilibrium | |
integer | inputlist::dpp = -1 |
perturbed harmonic | |
integer | inputlist::dqq = -1 |
perturbed harmonic | |
integer | inputlist::lerrortype = 0 |
the type of error output for Lcheck=1 | |
integer | inputlist::ngrid = -1 |
the number of points to output in the grid, -1 for Lrad(vvol) | |
real | inputlist::drz = 1E-5 |
difference in geometry for finite difference estimate (debug only) | |
integer | inputlist::lcheck = 0 |
implement various checks More... | |
logical | inputlist::ltiming = .false. |
to check timing | |
logical | inputlist::ltransform = .false. |
to evaluate iota and straight field line coordinates | |
real | inputlist::fudge = 1.0e-00 |
redundant | |
real | inputlist::scaling = 1.0e-00 |
redundant | |
logical | inputlist::wmanual = .false. |
logical | inputlist::wrzaxis = .false. |
logical | inputlist::wpackxi = .false. |
logical | inputlist::wvolume = .false. |
logical | inputlist::wcoords = .false. |
logical | inputlist::wbasefn = .false. |
logical | inputlist::wmemory = .false. |
logical | inputlist::wmetrix = .false. |
logical | inputlist::wma00aa = .false. |
logical | inputlist::wmatrix = .false. |
logical | inputlist::wspsmat = .false. |
logical | inputlist::wspsint = .false. |
logical | inputlist::wmp00ac = .false. |
logical | inputlist::wma02aa = .false. |
logical | inputlist::wpackab = .false. |
logical | inputlist::wtr00ab = .false. |
logical | inputlist::wcurent = .false. |
logical | inputlist::wdf00ab = .false. |
logical | inputlist::wlforce = .false. |
logical | inputlist::wintghs = .false. |
logical | inputlist::wmtrxhs = .false. |
logical | inputlist::wlbpol = .false. |
logical | inputlist::wbrcast = .false. |
logical | inputlist::wdfp100 = .false. |
logical | inputlist::wdfp200 = .false. |
logical | inputlist::wdforce = .false. |
logical | inputlist::wnewton = .false. |
logical | inputlist::wcasing = .false. |
logical | inputlist::wbnorml = .false. |
logical | inputlist::wjo00aa = .false. |
logical | inputlist::wpp00aa = .false. |
logical | inputlist::wpp00ab = .false. |
logical | inputlist::wbfield = .false. |
logical | inputlist::wstzxyz = .false. |
logical | inputlist::whesian = .false. |
logical | inputlist::wra00aa = .false. |
logical | inputlist::wnumrec = .false. |
logical | inputlist::wdcuhre = .false. |
logical | inputlist::wminpack = .false. |
logical | inputlist::wiqpack = .false. |
logical | inputlist::wrksuite = .false. |
logical | inputlist::wi1mach = .false. |
logical | inputlist::wd1mach = .false. |
logical | inputlist::wilut = .false. |
logical | inputlist::witers = .false. |
logical | inputlist::wsphdf5 = .false. |
logical | inputlist::wpreset = .false. |
logical | inputlist::wglobal = .false. |
logical | inputlist::wxspech = .false. |
logical | inputlist::wbuild_vector_potential = .false. |
logical | inputlist::wreadin = .false. |
write screen output of readin() | |
logical | inputlist::wwrtend = .false. |
write screen output of wrtend() | |
logical | inputlist::wmacros = .false. |
write screen output from expanded macros | |
Input namelists.