circular equilibrium example for equiltype='jdotb' &all ; this namelist is read in routine init.f ; Note: all TOQ units are cgs--Sorry about that rmax=100. rzero=240. ; minor and major radii npsi=67 nthet=65 ; mesh size-- psi & theta points ; does substitutions on these values-- acceptable values are ; npsi=19 nthet=17 ; npsi=35 nthet=33 ; npsi=67 nthet=65 ; npsi=131 nthet=129 imislo=0 ; sometimes data near axis is garbage--in that case set ; imislo=3 to use extrapolation to axis which should ; clean it up alpsi=0 ; determines the relationship between psic--psi coordinate ; and psiv--psi value=poloidal flux(*2pi) ; alpsi=0 makes psic = sqrt(psiv) normalized to 0-1 ; for alpsi<0 ; psi_norm(i)=(sin(psic(i)*alpsi*pi*0.5))**2/sin(-alpsi*pi*0.5)**2 ; idea for alpsi~-1 is to put lots of surfaces near axis and ; near edge modelbnd=1 ; this says to use one of the shape formulas below to get ; the outermost boundary ; modelbnd=2 get boundary shape from dskeqdata file ; for dee shape with elongation=eshape and triangularity=sin(xshape) ; ishape=4 eshape=2.0 xshape=0.5236 to get triangularity=0.5 ; set ishape=0 to get a circle ishape=0 ashape=0. eshape=3.0000 xshape=.5236 ; these two parameters not used for ishape=0 equiltype='jdotb' ; this says use jdotb and p' to determine equilibrium ; other equiltype values are ; 'qsolver' and 'ffprime' baxis0=2.00e4 ; vacuum b field in gauss fixcur=.true. ; will adjust magnitude of ffprime to fix total current totcur=1.e6 ; if fixcur=.true., this is current you will get ; following set of parameters determine j.b due to current drive "cd" ncdcoeff=2 ; cd will be a polynomial in x=psi_norm with 2 terms cdcoeff=1.2e6 -1.2e6 ; here are the coefficients bavcd=0.5 ; back averaging parameter sometimes needed for ; for convergence for jdotb without bootstrap cdx=5.0 cddelx=0.04 ; cd polynomial multiplied by ;( 1-tanh((psi_norm-cdx)/cddelx))/2 ; i.e., here it is shut off beyond ~ psi_norm~0.54 modelp=3 ; polynomial model for pprime--see psetup.f nppcoef=2 ppcoef=1.0 -1.0 ; pprime polynomial betafix='bt' ; will adjust magnitude of pressure to achieve ; beta on axis value of betiso. ; if betafix='none' pressure not modified betiso=0.01 ; desired beta on axis ieqdsk=0 ;if =2 use dskeqi to get initial guess ; =0 don't read dskeqi ; dskeqi is dskeqo generated from a previous run prtbal=.true. ; print out file dskbalnew for baloo prtboot=.true. ; print out file dskboot for bootstrap current analysis prtgato=.false. ; print out file dskgato for gato prteqdata=.true. ; print out file dskeqdatao for iput to another toq run ; perhaps after modifying p,p',f,f',q or boundary ; to use in a later run, change dskeqdatao to dskeqdata ; and set desired model parameter to 2, ; modelx=2 means get arrays from dskeqdata file ; modelp=2 get pressure profile from dskeqdata ; for other modelp options see routine psetup.f ; modelf=2 get f and ff' profile from dskeqdata ; for other modelf options see routine sigset.f ; modelbnd=2 get boundary shape from dskeqdata file ; modelq=2 get q profile from dskeqdata file prtfixb=.true. ; print out dskfixb file which can be used with ; fixbnd.x to generate an eqdsk ; the following are control parameters on multi-grid algorithm "mg" bavmg=0.5 minmg=3 maxmg=6 tolmg=1.e-9 loopinmg=2 ; specification of pressure profile in this run uses a spline ; xppspline are psi_norm locations of knots nhior=15 nbndry=199 ; don't ask you don't want to know nbug(1)=1 ; controls some multigrid printout--set to zero to get ; less output to stdout toleq=1.e-3 ; convergence criterion--I almost never change this iteqmx=120 ; will iterate (regrid) 120 times before it gives up &end