! !This file contains namelist input for the GENRAY ray tracing code. !GENRAY will read it as a file called either genray.in or genray.in, !in that order. However, genray.in is presently reserved for an !upgrade in format, so it is best to use the genray.dat name. ! !Normalization constants: !------------------------------------------------------------------------- !/genr/ namelist !------------------------------------------------------------------------- ! mnemonic, is the run designator...to help keep track of runs. ! It is used for naming the ray data output files: ! mnemonic.txt and mnemonic.nc ! (Ray data o/p also depends on rayop nmlst variable.) ! mnemonic is character*128, default="genray" ! rayop, Specifies which of mnemonic.txt and mnemonic.nc files ! are to be output: ! "both", "text", "netcdf", or "none". ! rayop is character*8, default="both". ! [Previous (related) iout3d nml no longer has functionality.] ! dielectric_op="enabled", adds output of the 9 complex dielectric tensor ! elements to .nc ray data file. ! "disabled", omit such data from the .nc data file. ! dielectric_op is character*8, default="disabled" !------------------------------------------------------------------------- !Normalization constants: ! r0x (m) characteristic length, can be used as scale factor ! b0 (tl) characteristiic magnetic field, can be used as scale factor !------------------------------------------------------------------------- !Parameters for output files !-------------------------------------------------------------------------- ! outdat*20 name of output file ! stat*3 status of output file !-------------------------------------------------------------------------- ! partner = 'disabled' to use input profiles from genray.dat or genray.in ! = 'transport' to use plasma profile data from the file: ! genray_profs_in created by transport code; ! and to output power and current profiles on transport ! code radial grid to file: genray_profs_out !------------------------------------------------------------------------ &genr mnemonic="genray" rayop="both" dielectric_op="enabled" r0x=1.0d0 b0=1.0d0 outdat='zrn.dat' stat='new' partner="disabled" &end !-------------------------------------------------------------------------- !/tokamak/ !------------------------------------------------------------------------- !Tokamak !-------------------------------------------------------------------------- ! eqdskin=Name (character*128) of eqdsk equilibrium input file ! "equilib.dat" (default) !-------------------------------------------------------------------------- ! Type of the (normalized) radial coordinates ! indexrho [1 - sqrt(area), 2 - sqrt(torflux), 3 - sqrt(volume), ! 4 - sqrt(psi-psilim), 5 - (psi-psilim)], ! 6 - (r_max(psi)-rmin(psi))/(r_max(psi_lim)-rmin(psi_lim)) !-------------------------------------------------------------------------- ! ipsi=1 calculation of contours psi(z,r)=const ! =0 -read in these contours from psi.bin file !-------------------------------------------------------------------------- ! ionetwo=1-calculation power and current radial ! profiles, to the file onetwo.bin ! 0 - no calculations) !-------------------------------------------------------------------------- ! ieffic choice of formula for the current drive efficiency ! =1 asymptotic simple formula (homogeneous, nonrelativistic) ! =2 asymptotic formula (East-Karney ) ! =3 asymptotic formula (curba subroutine) !-------------------------------------------------------------------------- ! psifactr (it should be 0 < psifactr =<1, psifcatr ~1) ! is the parameter for the creation of the limiter points ! using the closed flux surface: psi(r,z)=psisep*psifactr ! psifactr is a parameter (it must be .le.1) to avoid ! problems with the psi function near the separatrix. !-------------------------------------------------------------------------- !deltripl is the relative amplitude of the ripple field at the ! last flux surface (at rho=1) ! !nloop is number of toroidal field coils ! !i_ripple is the index to choose the ripple model ! bripl_phi(z,r,phi)=(dF/dphi)/r=cos(N_loop*phi)*g(r,z)*N_loop/r ! bripl_z(z,r,phi) =(dF/dz) =sin(N_loop*phi)*(dg/dz) ! bripl_r(z,r,phi) =(dF/dr) =sin(N_loop*phi)*(dg/dr) ! models for function g: ! =1 the ripple model approximating the DIII-D field ! g=beqd*reqd*deltripl*(r/rmax)**N_loop/N_loop ! beqd is the toroidal magnetic field at reqd (Tl) ! reqd is the nominal major radius of the torus. ! rmax is the max major radius at the last closed flux surface ! r is the major radius ! =2 the ripple model using modified Bessel function I_0 ! g=beqd*reqd*deltripl*I_0(N_loop*rho(z,r))/(N_loop*I_(N_loop)) !-------------------------------------------------------------------------- ! eqdskin=Name (character*128) of eqdsk equilibrium input file ! "equilib.dat" (default) !-------------------------------------------------------------------------- ! NR is the number of bin boundaries in the small radius direction ! for the calculation of the power and current drive radial profiles. ! Power and current is tabulated at (NR-1) bin centers. !-------------------------------------------------------------------------- &tokamak eqdskin="equilib.dat" indexrho=2 ipsi=1 ionetwo=1 ieffic=3 psifactr=0.85d0 deltripl=0.00d0 nloop=24 i_ripple=1 NR=101 &end !/wave/ !------------------------------------------------------------------------- !Waves !------------------------------------------------------------------------- ! frqncy frequency f=w/2pi in GHz ! ioxm ( 1 - om, -1 - xm ) wave mode ! ireflm-max number of reflections =1 for EC ! jwave (0 - LH wave, -1 AW, 1 - EC wave) wave harmonic ! ------------------------------------------------- ! istart if start point outside the plasma=1 else=2 ! if istart=1 use namelist &eccone below, =2 use &grill ! if istart=3 it use &grill and the additional calculations in dinit ! to launch the ECR ray inside the plasma in the O_X mode ! conversion point (rhoconv,theta), Theta is a poloidal angle (degree) ! for mode conversion point. It is given in dinit.f !-------------------------------------------------------------------------- ! delpwrmn - Minimum power in each ray, as a fraction of ! starting power in the ray, after which ray is stopped. !-------------------------------------------------------------------------- ! ibw=0 it is not the direct launch of the Bernstein waves ! =1 the direct launch of electron Bernstein wave from dhot tensor ! The last case works only for istart=2 and grill_lh conditions !-------------------------------------------------------------------------- ! i_vgr_ini =+1 the wave is directed into the plasma (in the initial point) ! =-1 the wave is directed out the plasma (in the initial point !--------------------------------------------------------------------------- ! poldist_mx is the maximal poloidal distance (m) along the ray ! default=1.d+5 !---------------------------------------------------------------------------- &wave frqncy=45.0d+0 ioxm=+1 ireflm=1 jwave=+1 istart=1 delpwrmn=1.d-16 ibw=0 i_vgr_ini=+1 poldist_mx=1.d+5 &end --------------------------------------------------------------------- !/scatnper/ !------------------------------------------------------------------------- !N_perpendicular scattering !------------------------------------------------------------------------- ! iscat it is the switch for the n_perp scattering ! iscat=1 the scattering switched on, ! =0 the scattering switched off !------------------------------------------------- ! rhoscat(1:nscat_n) small radii for the scattering location ! The parameter nscat_n should be given in the param.i file ! ! The scattering of the polar angle deltheta will be ! deltheta=dsqrt(2.d0*scatd)*ranorm(fseed) ! scatd(0) the mean square scattering angle (radians**2) ! for the plasma boundary reflection points ! ! scatd(1:nscat_n) the mean square scattering angles (radians**2) ! for the interior plasma boundary points !------------------------------------------------------------------- &scatnper iscat=0 scatd= 0.01, 0., 0., 0., 0., 0., 0., 0., 0., 0.01, 0.01 rhoscat= 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.95, 0.97 &end !/dispers/ !Dispersion relation !------------------------------------------------------------------------- ! ib<=nbulk cyclotron resonance sort(=1 for ecr) ! the number in (1-y(ib)) for the multiplication of the ! dispersion relation to delete the singularity ! ------------------------------------------------- ! id gives form of the dispersion relation ! =1 AN**4+BN**2+C=0 ! =2 N**2=(-B+ioxm*Sqrt(B**2-4AC))/2A; ! =3 Appleton-Hartree; ! =4 electron relativistic plasma from Hermitian Mazzucato code ! =5 electron relativistic plasma from total Mazzucato code ! =6 hot non-relativistic plasma, Hermitian, Forest calc ! =7 electron relativistic plasma from Shkarofsky code ! =8 Ono dispersion for fast waves ! =9 hot non-relativistic plasma, full tensor [Bernstein-Friedland] ! =10 Westerhof-Tokman dispersion with Mazzucato ! relativistic electron dielectric tensor ! =11 Eric Nelson-Melby relativistic tensor ! Dispersion function = Re(Det) ! =12 Westerhof-Tokman dispersion with ! Ram Abhay dielectric tensor ! =13 Westerhof-Tokman dispersion with ! hot non-relativistic plasma, full tensor ! =14 Abhay Ram's dielectric tensor, using the Trubnikov integral ! **** NOTE: irkmeth=1 should be used for id=14 !--------------------------------------------------------- ! For use with Abhay Ram's dispersion relation (id=14) parameters to ! control the integration routine for the Trubnikov integral. ! ! relres offers 4 choices for the resolution to use for the relativistic ! dispersion relation using the Trubnikov integral: ! relres=1 low resolution, errabs0=1.d-4, errrel0=1.d-4, navg=3, diff_err=0.1 ! =2 medium res., errabs0=1.d-5, errrel0=1.d-5, navg=12, diff_err=1.d-3 ! =3 high res., errabs0=1.d-6, errrel0=1.d-6, navg=25, diff_err=1.d-6 ! =4 user-defined res., set the following parameters manually. ! default: relres=2 ! ! The Trubnikov one-dimensional (complex) integral is performed by splitting ! up a region from 0 to 1.d8 into 10^6 pieces, and each piece is integrated ! using the SLATEC adaptive quadrature routine dqag. errabs0 and errrel0 are ! the absolute and relative error tolerances passed directly to dqaq. ! Then the adjacent pieces are compared (it is an oscillatory integrand) ! and using navg number of pieces, when the average difference between them ! are less then diff_err, the integration is presumed finished (Thus it may ! finish long before the upper limit of 1.d8). ! ! errabs0 - absolute error for dqag integration routine ! errrel0 - relative error for dqag integration routine ! navg - number of adjacent integration intervals to use in comparison ! diff_err - error tolerance using navg pieces, when the average difference ! is less than diff_err, then the integration is done. ! ! To decide when one should use the low, medium, or high resolution ! integration, here are some suggestions based on the behavior of the ! Trubnikov integrand: The integrand converges more slowly, and hence ! the resolutions should be set higher, for low electron temperature, ! low (i.e. near zero) magnitude of n_parallel, and for low (near or ! below the fundamental cyclotron frequency) frequency. ! Examples: n_parallel = -0.05, Te=400 eV, omega/omega_ce=0.4 to 1.2, ! it was necessary to use errabs0=1.d-5,errrel0=1.d-5,navg=20,diff_err=1.d-5 ! to be completely converged. By changing Te to 4000 eV, it was sufficient ! to use 1.d-4,1.d-4,15 and 1.d-4. ! An easy case: n_parallel=0.3, Te=7 keV, omega/omega_ce=2.4 to 2.7, ! complete convergence already at errabs0=1.d-4,errrel0=1.d-4,navg=2, ! diff_err=0.5 ! An intermediate case: n_parallel=0.1, omega/omega_ce=1.0, Te=300 eV ! errabs0=1.d-5,errrel0=1.d-5,navg=12,diff_err=1.d-3 was OK. !------------------------------------------------ ! For Mazzucato plasma dispersion tensor: ! iherm =1 hermitian dielectric tensor, 2-full !------------------------------------------------------------------------ !Absorption: !iabsorp -choice of Imag(N_perp) (N_perp is the perpendicular refractive index) !------------------------------------------------------------------------- ! iabsorp=1 for EC waves with Mazzucato solver (ki/kr<<1) ! =2 for LH waves ! =3 for FW waves, Chiu et al themal corr., NF 1989, with corrections. ! =4 for all frequencies with Forest code (ki/kr<<1) ! =5 for EC and EBW waves from Shkarofsky code ! =6 for EC and BW anti-hermitian part relativistic tensor+ ! hermitian_part (Forest code) ! =7 for EC wave case. The complex electric field calculations ! using Cold plasma tensor + antihermitian relativistic tensor ! ---EC relativistic absorption ! dielectric tensor=hermitian part(cold plasma)+ ! anti-hermitian part(full relativistic) ! =8 for id=10,12,13 and Westerhof-Tokman dispersion ! function [Projection method from real part of ! eigenvalue.] Integration is with respect to distance. ! =9 The absorption is calculated for hot dispersion ! using the formula from Stix book p.74 (17,18,21) ! Im(k_perp)= 0.5*Power_abs/(P^+T^) ! It uses hot plasma dielectric tensor. ! It calculates hot plasma dielectric tensor reps() and ! electric field polarization (cex,cey,cez) using this ! hot plasma tensor. ! =10 The absorption is calculated for relativistic tensor ! (A.Ram) ! using the formula from Stix book p.74 (17,18,21) ! Im(k_perp)= 0.5*Power_abs/(P^+T^) ! It uses relativistic dielectric tensor. ! It calculates relativistic dielectric tensor reps() and ! electric field polarization (cex,cey,cez) using this ! tensor. ! =11 The absorption Im(N_perpendicular) is calculated ! for the relativistic dispersion function Determinant=0. ! The dispersion function uses the full Abhay Ram dielectric ! tensor (with the Trubnikov integral). ! The projection method is used to find Im(N_perpendicular). ! That is, Im(N_perp)=-Im(D)/(dD/dRe(N_perp)), evaluated ! at give Real(N_perp) with Im(N_perp)=0. ! The real part Real(n_perp) is obtained from the trajectory ! solution for the given id value. ! Then complex n_perp is used with full dielectric tensor ! to get the polarizations. Good for arbitrary id value, ! like other iabsorp calcs. !------------------------------------------------------------------------ ! The change of the dispersion relation and absorption ! near the gyro-frequency points !------------------------------------------------- ! iswitch=1 To use the change of the dispersion relation and ! absorption ! =0 Do not use the change of the dispersion relation and ! absorption ! del_y If the difference |1-nY(jy)|=1 quantity of plasma components !---------------------------------------------------- ! izeff =0 zeff will be calculated using the given ions; ! electron density will be calculated using ions; ! =1 zeff and electron density are given, ! the ion components will be calculated; ! =2 zeff, electron and ion (if nbulk>1) densities are given, ! and zeff is not recalculated from the plasma components; ! =3 Use eqdsk pres (pressure). Let temperature T_E=T_i ! pres=dens1(k,1)*temp1(k,1)+ ! Sum(i=2,nbulk)(dens1(k,i)*temp1(k,i) ! In this case we will calculate Zeff(rho), ! dens_electron(rho) and T_e(rho)=T_i(rho) ! =4 Use eqdsk pres (pressure), the given temperature ! profiles T_i(rho) (i=1,nbulk) and the given Z_eff(rho). ! nbulk should be .ge. 3 ! pres=dens1(k,1)*temp1(k,1)+ ! Sum(i=2,nbulk)(dens1(k,i)*temp1(k,i) ! In this case we will calculate dense(1)(rho), ! dense(nbulk)(rho) and dense(nbulk-1)(rho) ! ----------------------------------------------------- ! idens (0 - analytic, 1 - spline) representation of ! the density, temperature and zeff radial profiles ! ----------------------------------------------------- ! temp_scale(ncompa),den_scale(ncompa) are the parameters to multiply ! the given temperature and density profiles ! ----------------------------------------------------- ! ndens is the number of points for the input radial density and ! temperature profiles ! ----------------------------------------------------- &plasma ndens=21 nbulk=1 izeff=2 idens=1 temp_scale(1)=1.d0 den_scale(1)=1.d0 &end !/species/ ! plasma component charges charge(i)=mod(charge(i)/charge_electron) ! ----------------------------------------------------- ! charge(1) =1 electrons ! charge(i) i=1,nbulk charge(i+1) must be ge.charge(i) ! charge(i) i=1,nbulk ! ----------------------------------------------------- ! plasma component mass dmas(i)=Mass(i)/Mass_electron ! ----------------------------------------------------- ! dmas(1) 1 electrons ! dmas(i) i=1,nbulk ! ----------------------------------------------------- &species charge(1)=1.d0 charge(2)=1.d0 charge(3)=6.d0 dmas(1)=1.d0 dmas(2)=3674.d0 dmas(3)=22044.d0 &end !/varden/ ! the density variation ! ----------------------------------------------------- ! var0 is an amplitude of the density variation (del_n_0) ! (see Manual, 3.37...) ! denm is the number of the poloidal mode in the density variation(l_theta) ! denn is the number of the toroidal mode in the density variation(l_phi) ! an is the radial localization of the variation (rho_0) ! sigman is the parameter that characterizes the radial thickness ! of the density fluctuation ! ----------------------------------------------------- &varden var0=0d0 denm=1.d0 denn=15.d0 an=0.5d0 sigman=0.1d0 &end !/denprof/ ! ----------------------------------------------------- !Analytic radial profiles (idens=0). Splines (idens=1). !dense(i)=(dense0(i)-denseb(i))*(1-rho**rn1de(i))**rn2de(i)+denseb(i) !----------------------------------------------------- ! if(izeff.eq.0) then ! zeff will be calculated using the given ions; ! nbulk1=nbulk ! else ! =1 zeff is given, the ions component will be calculated ! if (nbulk.eq.1) nbulk1=1 ! if (nbulk.eq.2) then ! nbulk1=2 ! endif ! if (nbulk.gt.2) nbulk1=nbulk-2 ! endif ! ----------------------------------------------------- ! dense0(i) central density in 10**19 m**(-3) i=1,nbulk1 ! ----------------------------------------------------- ! denseb(i) edge density in 10**19 m**(-3) i=1,nbulk1 ! ----------------------------------------------------- ! rn1de(i) i=1,nbulk1 ! ----------------------------------------------------- ! rn2de(i) i=1,nbulk1 ! ----------------------------------------------------- &denprof dense0(1)=3.575d+0 denseb(1)=1.22d+0 rn1de(1)=3.2d+0 rn2de(1)=1.2d+0 &end !/tpoprof/ ! Ratio tpop=T_perp/T_parallel ! tpop(i)=(tp0(i)-tpb(i))*(1-rho**rn1tp(i))**rn2tp(i)+tpb(i) ! ----------------------------------------------------- ! tp0(i) = central T_perp/T_parallel i=1,nbulk ! ----------------------------------------------------- ! tpb(i) =ateb(i) boundary T_perp/T_parallel i=1,nbulk ! ----------------------------------------------------- ! rn1tp(i) i=1,nbulk ! ----------------------------------------------------- ! rn2tp(i) i=1,nbulk ! ----------------------------------------------------- &tpopprof tp0(1)=1.0d0 tpb(1)=1.0d0 rn1tp(1)=2.0d0 rn2tp(1)=1.0d0 &end !/vflprof/ ! drift velocity || B ! vflow(i)=(vfl0(i)-vflb(i))*(1-rho**rn1vfl(i))**rn2vfl(i)+vflb(i) ! ----------------------------------------------------- ! vfl0(i) central vflow in m/sec i=1,nbulk ! ----------------------------------------------------- ! vflb(i) boundary vflow in m/sec i=1,nbulk ! ----------------------------------------------------- ! rn1vfl(i) i=1,nbulk ! ----------------------------------------------------- ! rn2vf(i) i=1,nbulk ! ----------------------------------------------------- &vflprof vfl0(1)=0.0d+0 vflb(1)=0.0d+0 rn1vfl(1)=2.d0 rn2vfl(1)=1.0d0 &end !/zprof/ ! ----------------------------------------------------- ! zeff=(zeff0-zeffb)*(1-rho**rn1zeff)**rn2zeff+zeffb ! ----------------------------------------------------- ! zeff0 central Z_eff ! zeffb boundary Z_eff ! rn1zeff zeff=(zeff0-zeffb)* ! rn2zeff (1-rho**rn1zeff)**rn2zeff+zeffb !----------------------------------------------------- &zprof zeff0=1.50d0 zeffb=1.50d0 rn1zeff=2.d0 rn2zeff=1.d0 &end !/tprof/ ! Average temperature tempe=(T_parallel+2*T_perp)/3 ! tempe(i)=(te0(i)-teb(i))*(1-rho**rn1te(i))**rn2te(i)+teb(i) ! ----------------------------------------------------- ! te0(i) =at0(i) central temperature in kev i=1,nbulk ! ----------------------------------------------------- ! teb(i) =ateb(i) boundary temperature in kev i=1,nbulk ! ----------------------------------------------------- ! rn1te(i) i=1,nbulk ! ----------------------------------------------------- ! rn2te(i) i=1,nbulk ! ----------------------------------------------------- &tprof ate0(1)=1.555d0 ateb(1)=0.063d0 rn1te(1)=1.4d0 rn2te(1)=1.6d0 &end !/grill/ !------------------LH/EBW-Starting-inside-plasma----------------------- ! Grill conditions for istart=2 (start point inside the plasma) !---------------------------------------------------------------------- ! i_n_poloidal =1 The input parameter is N_parallel(from grill). ! (by default =1) N_phi,N_theta are calculated from given N_parallel ! N_rho=N_perpendicular(N_parallel) is determined ! from the dispersion relation. It is directed ! along +,- gradient(psi) ! ! i_n_poloidal =2 The input parameters: N_parallel(from grill) ! and n_theta_pol. By default N_theta=0. ! N_perpendicular(N_parallel) is determined ! from the dispersion relation. ! N_phi is calculated from N_parallel and N_theta ! N_rho is calculated form N_perpendicular, N_parallel ! and N_theta. ! It is directed along +,- gradient(psi) ! ! i_n_poloidal=3 The given variables: N_parallel and the angle ! 01 only. !c =4 it uses eqdsk pres (pressure), zeff,ions densities !c for i=2,... nbulk-2 (nbulk>2) and T_e(rho),T_i(rho) !c pres=dens1(k,1)*temp1(k,1)+ !c Sum(i=2,nbulk)(dens1(k,i)*temp1(k,i) !c In this case we will calculate dens_electron(rho) and !c ion densities for i=nbulk and i=nbulk-1) ! nbulk1=nbulk ! else !c izeff=1, zeff is given, the ions component will be calculated ! if (nbulk.eq.1) nbulk1=1 ! if (nbulk.eq.2) then ! write(*,*)'nbulk=2 Zeff must be equal charge(2) control it' ! write(*,!)'use the option izeff=0' ! nbulk1=2 ! stop ! endif ! if (nbulk.gt.2) nbulk1=nbulk-2 ! endif !izeff ! ! The case nbulk=1 is used often for ECR and EBW cases. ! In these cases only the electron component is essential. ! ! For nbulk=1 and izeff=2 case only the electron density ! is used in dispersion relation.In this case Z_effective ! is used for current drive efficiency calculations. !------------------------------------------------------------------------ ! dens1(ndens,nbulk) (10!!13/cm!!3) !------------------------------------------------------------------------ ! If ((izeff.eq.0).or.(izeff.eq.3)) then the electron density ! will be calculated from the charge neutrality. ! In that case we can set the arbitrary values for the electron density ! dens1(k,1), k=1:ndens and should set nbulk1-1 ion densities: ! dens1(k,i), k=1:ndens, i=2:nbulk1. ! A constant radial step is assumed, ! The first line (k=1, i=1:nbulk1) dens1(1,i) is for rho=0 ! The last line (k=ndens, i=1:nbulk1) dens1(ndens,i) is for rho=1 ! The example for izeff=0, ndens=5, nbulk=3, ncomp=4 ! electron-1 ion-2 ion-nbulk ! prof= 0., 1.2, 1.3, ! 0., 2.2, 2.3, ! 0., 3.2, 3.3, ! 0., 4.2, 4.3, ! 0., 5.2, 5.3, ! ------------------------------------------------------------------------ ! Here array prof(ncomp,ndens) was used for convenience in namelist. ! dens1(k,i)=prof(i,k) k=1:ndens, i=1:ncomp ! ------------------------------------------------------------------------ ! If (izeff.ne.0) and (izeff.ne.3) then we should set the electron density ! dens1(k,1) and ion densities dens1(k,i) i=2:nbulk1 !------------------------------------------------------------------------ &dentab prof = 4.2000000, 4.1400000, 4.0500000, 3.9500000, 3.8900000, 3.8100000, 3.7400000, 3.6700000, 3.6100000, 3.5500000, 3.4900000, 3.3500000, 3.1900000, 3.0100000, 2.7600000, 2.4500000, 2.1400000, 1.8500000, 1.5100000, 1.2500000, 0.8500000, &end !/temtab/ !-------------------------------------------------------------------------- ! temperature profiles (table data, case: idens=1) temp1(ndens,nbulk) ! Average temperature temp1=(T_parallel+2*T_perp)/3 !-------------------------------------------------------------------------- ! It this namelist we must set electron temp1(ndens,1) and all ion ! species temp1(ndens,i) temperature (keV) {i=2:nbulk} ! Constant radial step is assumed. ! The first line (k=1, i=1:nbulk) temp1(1,i) is for rho=0 ! The last line (k=ndens, i=1:nbulk) temp1(ndens,i) is for rho=1 ! The example for ndens=5, nbulk=3, ncomp=4 ! ! electron-1 ion-2 ion-nbulk ! prof= 0., 1.2, 1.3, ! 0., 2.2, 2.3, ! 0., 3.2, 3.3, ! 0., 4.2, 4.3, ! 0., 5.2, 5.3, ! ! In all cases temtab should have nbulk columns with the temperature ! profiles for all nbulk plasma components. ! ------------------------------------------------------------------------ ! Here array prof(ncomp,ndens) was used for convenience in namelist. ! temp1(k,i)=prof(i,k) k=1:ndens, i=1:nbulk ! ------------------------------------------------------------------------ &temtab prof = 1.3000000, 1.3000000, 1.2700000, 1.2400000, 1.2200000, 1.1300000, 1.0500000, 0.9700000, 0.8700000, 0.7900000, 0.7300000, 0.6800000, 0.6100000, 0.5300000, 0.4500000, 0.3700000, 0.3000000, 0.2300000, 0.1600000, 0.1000000, 0.0400000, &end !/tpoptab/ !-------------------------------------------------------------------------- ! Tpop=T_perp/T_parallel profiles (table data, case: idens=1) | tpop1(ndens,ncomp) !-------------------------------------------------------------------------- ! It this namelist we must set electron tpop1(ndens,1) and all ion ! species tpop1(ndens,i) {i=2:nbulk} ! Constant radial step is assumed. ! The first line (k=1, i=1:nbulk) tpop1(1,i) is for rho=0 ! The last line (k=ndens, i=1:nbulk) tpop1(ndens,i) is for rho=1 ! The example for ndens=5, nbulk=3, ncomp=4 ! ! electron-1 ion-2 ion-nbulk ! prof= 1., 1.2, 1.3, ! 1., 1.2, 2.3, ! 1., 1.2, 3.3, ! 1., 4.2, 4.3, ! 1., 5.2, 5.3, ! ! In all cases tpoptab should has nbulk columns with Tpop ! profiles for all nbulk plasma components. ! ------------------------------------------------------------------------ ! Here array prof(ncomp,ndens) was used for convenience in namelist. ! tpop1(k,i)=prof(i,k) k=1:ndens, i=1:nbulk ! ------------------------------------------------------------------------ &tpoptab prof= 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, &end !/vflowtab/ !-------------------------------------------------------------------------- ! vflow profiles (table data, case: idens=1) | vdflow1(ndens,ncomp) is the drift velocity || B (v/sec) !-------------------------------------------------------------------------- ! It this namelist we must set drift velocity for electrons vflow1(ndens,1) | and all ion species vflow1(ndens,i) {i=2:nbulk} ! Constant radial step is assumed. ! The first line (k=1, i=1:nbulk) vflow1(1,i) is for rho=0 ! The last line (k=ndens, i=1:nbulk) vflow1(ndens,i) is for rho=1 ! The example for ndens=5, nbulk=3, ncompa=4 ! ! electron-1 ion-2 ion-nbulk ! prof= 1., 1.2, 1.3, ! 1., 1.2, 2.3, ! 1., 1.2, 3.3, ! 1., 4.2, 4.3, ! 1., 5.2, 5.3, ! ! In all cases vflowtab should has nbulk columns with vflow ! profiles for all nbulk plasma components. ! ------------------------------------------------------------------------ ! Here array prof(ncomp,ndens) was used for convenience in namelist. ! vflow1(k,i)=prof(i,k) k=1:ndens, i=1:nbulk ! ------------------------------------------------------------------------ &vflowtab prof= 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &end !/zeftab/ !-------------------------------------------------------------------------- ! Zeff profiles (table data, case: idens=1) zeff1(ndens) !-------------------------------------------------------------------------- ! It this namelist we must set zeff1(ndens) ! Constant radial step is assumed. ! The first value zeff1(1) is for rho=0 ! The last value zeff2(ndens) is for rho=1 ! The example for ndens=5 ! zeff1= 1., 1., 1., 1. 1. !-------------------------------------------------------------------------- &zeftab zeff1=21*1.5 &end !/read_diskf/ ! i_diskf=0 usage analytic Maxwellian electron distribution ! i_diskf=1 read in the file diskf ! i_diskf=2 read in the file netcdfnm.nc ! i_diskf=3 analytic calculation of the non-Maxwellian distribution !------------------------------------------------------ ! the data for analytic non-Maxwellian electron distribution ! ! jx - the number of used normalized momentum/ mesh points ! lrz - the number of used radial mesh points ! iym - the number of used pitch-angle mesh points ! (here the same at each radius) ! ngen - the number of plasma species (here we use only electron specie with ! the number of specie k=1) ! jxa,iya,lrza,ngena ! the max values for jx,iym,lrz,ngen ! rtem0 - ratio tem0/electron_temperature(rho=0) ! tem0 is the max energy for the momentum normalization (KeV) !-----tail parameters ! f_tail=H(rho,rt1,rt2)*f_rel_Maxw(ttail), ! H(x,x1,x2) is the box function. H=1 for x1tol_emis*i_0 ! nharm1=< nharm =