![]() |
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::lvcgrid = 0 |
| Which method to use for the virtual casing integral. 0 = adaptive integration routine with guaranteed accuracy, 1 = fixed resolution grid. | |
| 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::vcnt = 256 |
| theta resolution of the real space grid on which the surface current is computed during virtual casing [0, 2pi] | |
| integer | inputlist::vcnz = 256 |
| zeta resolution of the real space grid on which the surface current is computed during virtual casing [0, 2pi], over one field period | |
| 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.