J-Solver is a fixed-boundary, toroidal MHD equilibrium code written at
the Princeton
Plasma Physics Laboratory by Steve Jardin, Jon Menard, C. Kessel, D. Monticello,
with contributions from A. Pletzer and others [1].
The code solves the Grad-Shafranov equation in flux coordinates () and
returns two arrays X and Z as functions of the flux
and the
equal-arc poloidal angle
. Various other quantities including the safety factor,
the poloidal flux, the pressure profiles and metric quantities are also calculated and
are returned upon request.
The Grad-Shafranov equation has two free functions of the poloidal flux, which uniquely specify the toroidal current. The Grad-Shafranov equation is then solved by iterating the cylindrical X and Z coordinates until the error falls below a specified tolerance. The mesh iteration is constrained by the requirement that the coordinate system has equal arc-length in the poloidal angle. One important feature of J-Solver is that the mesh can be doubled after a selected number of iterations to improve both the convergence and the accuracy of the solution.
The name J-Solver derives from the fact the flux-averaged current density parallel to the magnetic field is prescribed, the other free function being the pressure gradient. Specifying the parallel current instead of the safety factor profile, for instance, allows a straightforward incorporation of various current drive sources into the Grad-Shafranov equation such as steady state ohmic, neoclassical bootstrap, and external current drive.