! input namelist for itg.gc. This file should be called itg.in ! on the cray. $wdat ! !---------------------Make a note about this run-------------------- ! note='SMALL, SHORT nonlinear test run' ! !-----------------------Specify Grid Details----------------------- ! The comments are for ballooning coordinates, not slab. ld=17 ! # of meshpoints in the theta (parallel) direction ! ld should be of the form (2^n * 3^m * 5^p) + 1 nffty=16 ! # of y grid points nfftx=12 ! # of x grid points ! nffty and nfftx should be of the form (2^n*3^m*5^p) ! in order for the FFT's to be fast. De-aliasing is ! achieved by zeroing out the top 1/3 of the k's. ! The modes which are evolved have ! k = -kmax, ..., -1, 0, 1, ..., kmax ! where kmax=(nfft-1)/3, (using fortran integer rounding). ! From the reality condition, only half of the modes ! are independent, so only ky>=0 need to be kept. ! In terms of the older input parameters (md and nd) we used to use: ! md = (nffty-1)/3 +1 ! nd = 2*((nfftx-1)/3)+1 ! ! For backwards compatibility, one can still set md and nd instead: !md=17 ! number of modes in the +y (poloidal) direction ! (Thus the total # of ky modes is 2*(md-1).) ! LINEAR RUNS: md=-1 allows you to specify mlow and mhi mlow=1 ! mmin for each n mhi=1 ! mmax for each n !nd=33 ! number of modes in the radial direction. ! nd=-1 implies one mode with n=1 (for shearless cases) x0=-1.0 ! Extended box half-width in theta (along the field) ! If x0<0, x0 -> abs(x0)*pi ! For example, instead of x0=4.71289, you can use x0=-1.5 xp=-1.0 ! Twisting periodicity imposed at theta=+-xp ! If xp<0, xp -> abs(xp)*pi ! For example, instead of xp=3.1415927, you can use xp=-1. y0=5. ! ky = m / (y0 rho_s); Ly = 2 pi y0 rho_i ! if md=1 so we are doing the m=0 neoclassical test, ! then k_radial = 1/y0. z0=3.141593 ! theta0=z0*n/(nmax*m) ! or Radial Box Width Lx = Ly*nmax/(shat*z0) iperiod=3 ! iperiod = 0 -> 0 parallel b.c.'s ! iperiod = 1 -> periodic parallel b.c.'s ! iperiod = 2 -> twisted periodicity bc's ! iperiod = 3 -> "fully connected" FFTs ! iperiod=3 required for trapped electrons, for now. n0=10 ! 1/n0 = fraction of toroidal angle covered by the box ! n0 is used in the parallel BCs if iperiod=2 ! n0=0 to ignore the phase-shifts (assumes n0*qsf is integer). ! !----------------------Physics parameters--------------------------- ! shr=1.5 ! shear parameter, shat qsf=2.4 ! safety factor, q epsn=0.4 ! L_ne / R eps=0.206 ! r/R for ions epse=0.206 ! r/R for electrons (0=adiabatic electrons only) etai=4.0 ! L_ni / L_T_perp etae=4.0 ! L_ne / L_Te etaipar=4.0 ! L_ni / L_T_||. Default is to set etaipar = etai alpha=0.0 ! s-alpha equilibrium beta parameter: alpha=-2Rq^2 dBeta/dr ! alpha is used only if igeo=0 ! igeo=0 ! igeo=1 -> Use geometric coefficients calculated ! using the input parameters in the two namelists below. ! If you are reading an experimental magnetic field, ! (iflux=1) qsf and shr are calculated from the ! field and override the values set in this section. ! Also, if rhoc (the normalized minor radius) is set in the ! "stuff" namelist, the value of eps chosen here is ! overridden. ! tiovte=1.0 ! Ti/Te nuii=0.000 ! nu_ii L_n/v_t nueeff=1.0 ! nu_e_eff L_n/v_t, effective electron collision frequency ! = nu_e/(r/R) normalized to our time units. ! ! = nustare*(1+1/Zeff)*3*sqrt(pi*r/R)*Ln/R/q*sqrt(mi/me) ! where nustare is the usual neoclassical/snap collision ! frequency parameter (ignoring e-e collisions), ! nustare = nu_ei*Zeff/(r/R)/omega_b ! nu_ei = 1/tau_e = Braginskii's definition ! omega_b = sqrt(2*r/R*Te/me)/(q R) = bounce frequency ! nspecies=1 ! if nspecies > 1 set additional parameters as follows: ! ! For each ion species, specify the density relative ! to the electron density with the following notation: n_I(1)=1.0 ! main ions. Default is n_I(1)=1.0 !n_I(2)=0.5 ! second ion species !n_I(3)=0.25 ! third ion species, etc. ! Note that for consistency, sum_s (Z_s n_s) = 1.0 ! where Z_s is the atomic number of the s^th species. ! ! Also, for each species except the main ion species, ! specify the following set of parameters: !rmass(2)=1.5 ! mass of impurity ion / mass of main ion: Default=1.0 !tau(2)=2.0 ! Temp of impurity ion / Temp of main ion: Default=1.0 !charge(2)=1.0 ! Charge of impurity ion / |Charge of electron|: Default=1.0 !eta(2)=4.0 ! Ratio of impurity density and perp. temp. scale lengths ! Default=etai !eta_par(2)=4. ! Ratio of impurity density and par. temp. scale lengths ! Default is eta_par(i)=eta(i). !Ln(1)=1.0 ! Ratio of ion(1) density scale length to electron density ! scale length !Ln(2)=1.0 ! Ratio of ion(2) density scale length to electron density ! scale length !Ln(3)=1.0 ! etc. ! Defaults=1.0 ! For consistency, the density scale lengths should satisfy ! the relation: ! 1/L_ne = Sum_i n_I(i)*charge(i)/L_n(i). ! (If L_ne=L_n(1)=L_n(2)=... this is trivially satisfied.) ! ! Note that by definition tau(1)=rmass(1)=1.0 ! However, you may choose charge(1).ne.1 to simulate ! non-hydrogenic plasmas. ! !---------------------Specify time step------------------------------- ! idt=1 ! idt=1 -> adjustable time step. idt=0 -> dt=dt0 ! Time step adjusts between dtmin and dt0 ! only for nonlinear runs. ! Default: idt=1 dtadj=0.1 ! Factor by which the time step is reduced below NL CFL limit ! Default: dtadj=0.1 dt0=0.01 ! maximum time step allowed (in units of Ln/cs) nstp=100 ! Total # of time steps to take nprnt=4 ! Print out some intermediate results every nprnt steps ! !------------------Choose number of moments to keep----------------- ! nperpmom=2 ! number of perpendicular moments (1-4). Default ! value is 2. (3,4) only work linearly. nparmom=4 ! number of parallel moments (3,4). Default ! value is 4. nemom=3 ! number of electron moments (3,4). 4 only works linearly. ! !--------------------Choose FLR model------------------------------ ! iflr=8 ! Select a model for : ! 1=1/(1+b/2) ! 2=not an option ! 3=Gamma_0^(1/2) ! 4=exp(-b/2) ! 5=1-b/2 ! 6=Like Ron in Poisson and NL terms ! 7=Full FLR but no Linsker effect ! 8=Gamma_^(1/2) with Pade in poisson (Default) ! 9=non-O(b) accurate, Gamma_^(1/2) with Pade in poisson s_par=0.0 s_perp=0.0 ! filter width for particle shapes (see iflr) ! phi = Exp[-s^2 k^2]*n_i etc. ! To match local gk runs, typical value is s^2 = 1.0 ! Set s_par,perp=0. for no shaping. ! !-------------------Choose damping model------------------------- ! ! Always use Hammett-Perkins linear Landau damping model ! Select perpendicular damping models for nonlinear cases: ! inlpm=0 ! 1->Use nonlinear phase mixing model ! (Not available with 2 perp moments at present) ! ifilter=0 ! 0 -> no moment filters ! 1 -> filter each moment at every time step ! with an implicit viscosity determined by rmu1. ! For example, ! n -> n/(1 + dt*rmu1*b), ! v -> v/(1 + dt*rmu1*b), etc. ! rmu1=0.01 ! damping coefficient in filter (if ifilter=1) ! -1 -> mimic GK PIC simulation noise, using derivation ! by Hammett. Additional parameters for this option ! are: N_p=500 ! integer number of particles per cloud ! N_p == 8 * pi**2 * n_i * a_par * a_perp**2, ! where n_i is the number of particles per grid cell, ! a_par is the cloud (particle) size in the parallel ! direction, and a_perp is the cloud size in the ! perpendicular direction. a_perp is in units of rho_i. ! a_par is in units of L_n. ! Default = 500 n_zpic=32 ! number of grid points along theta in PIC code ! Default = 32 bmax=1. ! bmax == k_max**2 rho_i**2 ! k_max = sqrt(4 / pi * kxmax * kymax) ! and kxmax, kymax are given by 1/a_perp. ! This is a correction for square particle shapes. ! Default = 1. ! !------------------------Miscellaneous------------------------ ! lin=0 ! 0= nonlinear 1=linear iodd=0 ! 1 -> odd modes initialized ! 2 -> even modes initialized ! 0 -> both initialized -- (Default is iodd = 0) icrit=0 ! 0 -> normal mode of operation ! 1 -> search for L_Tcrit ! 2 -> search for diffusion required to stabilize the mode. ! time step dt is proportional to 1/k_y for icrit=1 or 2. !gamma_0=0.1 ! Default value is 0.1 ! If icrit=1, search for L_Tcrit by finding the gradients ! for which the growth rates of the fastest growing modes ! equal gamma_0 and 0.5*gamma_0, then linearly extrapolate ! to the threshold gradient. ! Smaller values give better estimates of the critical ! gradient scale length *according to the gyrofluid model*, ! but take longer to calculate. !rdiff_0=0.05 ! Default value is 0.05 ! If icrit=2, search for D_ML by finding the diffusion ! needed to stabilize the mode by increasing the diffusion ! (rmu1) until gamma/k_perp**2 = rdiff_0. Smaller is more ! accurate. igradon=0 ! 1=constant background pressure gradient, no (m=0,n=0) ! mode in parallel or perpendicular pressure. ! 0=keep the (m=0,n=0) mode which may cause flattening. ! igradon=1 sometimes blows up in the 2-D case! iphi00=2 ! 0 -> set phi(ky=0,ky=0)=0, 1= Hamaguchi's 2=Hammett's ! iphi00=1 (presently the default) uses Hamaguchi's ! method, which allows non-physical electron ! transport. ! iphi00=2 uses Hammett's method which ensures that ! there is no cross-field particle transport ! when adiabatic electrons are assumed. ! iphi00=9 set phi=0 for all Fourier components, not just ! the (m=0,n=0) component. (This turns off the electric ! field for neoclassical comparisons.) nread=0 ! initial conditions 0=set by code 1=read from file ! 0=initialized by the code using pmag (below). ! 1=read initial conditions from the file RUNNAME.resp, ! which is a copy of the results file *.res from a ! previous run of gryffin. I.e., do: ! cp oldrun.res newrun.resp ! or ! ln -s oldrun.res newrun.resp ! This is used to start where a previous run finished. pmag=1.00 ! initial magnitudes of perturbations ! It iphi00=9 for the neoclassical equilibrium test, ! then pmag>0 initializes a density perturbation and ! pmag<0 initializes a temperature perturbation, both ! perturbations are of the form cos(k_r*r), where ! k_r = 1/y0. iseed=33 ! initial seed for random perturbations ntrace=1 ! (0,1) -> (off,on) (watch time steps go by) movieon=90000 ! Begin filming on this time step ninterv=10 ! Make a frame every ninterv time step. ihdf=1 ! 1->hdf,0->phi(x,y) is written into itg.fields ! for time steps after MOVIEON and at intervals NINTERV ! Default is ihdf=1 ! debug_plotlabel ='Wed 2nd Aug 1995 17:55:56.000' ! for debugging only, ! used to set the date/time labels at the bottom of the plots in the ! *.m file to reproduce the plots from an old run exactly. ascii = .true. cdf = .false. $end