run_comment = "ZPinch_2D" # comment for run log_file = "ZPinch_2D.log" # name of log file to create basenm = "ZPinch_2D_" # base name for output files (both checkpoint and plot files) # Setup command: ## ./setup -auto magnetoHD/ZPinch -2d +cylindrical +ug -nxb=24 -nyb=24 species=fill,line,vacu +mtmmmt +usm3t +mgd mgd_meshgroups=6 +hdf5typeio # Notes: # - This under-resolved setup and associated F90 files are intended as a template for # Z-pinch problems. The fill density here was increased to get stagnation at low CR. # More realistic setups may require lower fill density, and higher # resolution in order to observe stagnation at higher CR. # See user guide for more details. ########################## # # # I/O PARAMETERS # # # ########################## ### Checkpoint Options ### checkpointFileIntervalTime = 10.0e-9 # make a checkpoint after this amnt of time checkpointFileIntervalStep = 9999999 # make a checkpoint after this many steps ### Plot Options ### plotFileNumber = 0 # initial plot file number ("changed") plotFileIntervalStep = 100000 # write a plotfile after this many steps #plotFileIntervalStep = 1 # write a plotfile after this many steps plotFileIntervalTime = 1.0e-09 # write a plotfile after this much time (the sim is never exact, but close) plot_var_1 = "dens" # density plot_var_2 = "tele" # electron temperature plot_var_3 = "tion" # ion temperature plot_var_4 = "pele" # radiation temperature plot_var_5 = "pion" # pressure plot_var_6 = "ye" # ye = Zbar/Abar (where Zbar = ave ionization lvl, Abar = ave atomic mass of cell) plot_var_7 = "sumy" # sumy = 1/Abar (same page as above) plot_var_8 = "velx" # y-component of velocity plot_var_9 = "fill" plot_var_10 = "line" plot_var_11 = "vacu" plot_var_12 = "magz" plot_var_13 = "magp" plot_var_14 = "res2" # perpendicular component of magnetic resistivity plot_var_15 = "eele" # electron specific internal energy (erg/g) plot_var_16 = "eion" # ion specific internal energy (erg/g) ### Restart Options ### restart = .false. # lets you pick up where a specified checkpoint file left off checkpointFileNumber = 0 # initial checkpoint file number ######################################## # # # RADIATION/OPACITY PARAMETERS # # # ######################################## useRadTrans = .true. rt_useMGD = .true. # radiation effects using multigroup diffusion theory (MGD) rt_mgdNumGroups = 6 rt_mgdBounds_1 = 1.0e-01 rt_mgdBounds_2 = 1.0e+00 rt_mgdBounds_3 = 1.0e+01 rt_mgdBounds_4 = 1.0e+02 rt_mgdBounds_5 = 1.0e+03 rt_mgdBounds_6 = 1.0e+04 rt_mgdBounds_7 = 1.0e+05 rt_mgdFlMode = "fl_harmonic" # controls flux limiter mode rt_mgdFlCoef = 1.0 # flux limiter coeffcient. rt_mgdThetaImplct = 0.5 rt_mgdXlBoundaryType = "reflecting" # zero-flux/neumann boundary condition, used to model reflecting boundaries rt_mgdXrBoundaryType = "vacuum" # vacuum boundary condition (self explanatory.) rt_mgdYlBoundaryType = "reflecting" rt_mgdYrBoundaryType = "reflecting" rt_mgdZlBoundaryType = "reflecting" rt_mgdZrBoundaryType = "reflecting" meshCopyCount = 1 ### SET OPACITY OPTIONS ### useOpacity = .true. # this says that opacities will be computed. op_tableEnergyTolerance = 1.0e-4 op_fillAbsorb = "op_tabpa" # absorption opacity [cm^2/g] op_fillEmiss = "op_tabpe" # emission opacity [cm^2/g] op_fillTrans = "op_tabro" # transport opacity [cm^2/g] op_fillFileType = "ionmix4" # file type, self explanatory op_fillFileName = "DD-006-imx.cn4" # tells FLASH to use the specified IONMIX4 formatted opacity file ### LINER (Xe) OPACITIES ### op_lineAbsorb = "op_tabpa" op_lineEmiss = "op_tabpe" op_lineTrans = "op_tabro" op_lineFileType = "ionmix4" op_lineFileName = "Be-006-imx.cn4" ### VACUUM (Xe) OPACITIES ### op_vacuAbsorb = "op_constant" op_vacuEmiss = "op_constant" op_vacuTrans = "op_tabro" op_vacuFileType = "ionmix4" op_vacuFileName = "Be-006-imx.cn4" op_vacuAbsorbConstant = 0. # no absorption op_vacuEmissConstant = 0. # no emission ################################# # # # CONDUCTION PARAMETERS # # # ################################# useDiffuse = .true. # turns on diffuse useConductivity = .true. # turns on conductivity diff_useEleCond = .true. # activates electron thermal conduction diff_eleFlMode = "fl_larsen" # specifies flux-limiter mode, options are listed on pg294 (310 in pdf) diff_eleFlCoef = 0.06 # sets value of alpha_ele, the electron conductivity flux-limiter coefficient diff_thetaImplct = 0.5 # a value between 0 and 1 diff_useIonCond = .true. # activates ion thermal conduction diff_ionFlMode = "fl_larsen" # specifies flux-limiter mode, options are listed on pg294 (310 in pdf) diff_ionFlCoef = 0.065 # sets value of alpha_ion, the ion conductivity flux-limiter coefficient diff_ionThetaImplct = 0.5 # a value between 0 and 1 diff_eleXlBoundaryType = "neumann" # indicates a Neumann boundary condition diff_eleXrBoundaryType = "neumann" # shouldn't be much difference here since vacu temperature is limited diff_eleYlBoundaryType = "neumann" diff_eleYrBoundaryType = "neumann" diff_eleZlBoundaryType = "neumann" diff_eleZrBoundaryType = "neumann" diff_ionXlBoundaryType = "neumann" # indicates a Neumann boundary condition diff_ionXrBoundaryType = "neumann" diff_ionYlBoundaryType = "neumann" diff_ionYrBoundaryType = "neumann" diff_ionZlBoundaryType = "neumann" diff_ionZrBoundaryType = "neumann" #################################### # # # HEAT EXCHANGE PARAMETERS # # # #################################### useHeatexchange = .true. # turns on heat exchange ########################## # # # EOS PARAMETERS # # # ########################## eosModeInit = "dens_temp_gather" # set to "dens_temp_gather" eos_useLogTables = .false. eos_maxNewton = 10000 # ("default is 50") defines max number of interations eos_tolerance = 1.e-5 # ("default is 1e-8") defines convergence tolerance ############################ # # # HYDRO PARAMETERS # # # ############################ useHydro = .true. order = 2 # Interpolation order (first/second/third/fifth order) slopeLimiter = "mc" # Slope limiters (minmod, mc, vanLeer, hybrid, limited) LimitedSlopeBeta = 1. # Slope parameter for the "limited" slope by Toro charLimiting = .true. # Characteristic limiting vs. Primitive limiting use_avisc = .true. # use artificial viscosity (originally for PPM) cvisc = 0.1 # artificial viscosity coefficient use_flattening = .false. # use flattening (dissipative) (originally for PPM) use_steepening = .false. # use contact steepening (originally for PPM) use_upwindTVD = .false. # use upwind biased TVD slope for PPM (need nguard=6) RiemannSolver = "HLLD" # Roe, HLL, HLLC, LLF, Marquina, hybrid entropy = .false. # On/off entropy fix algorithm for Roe solver shockDetect = .false. # Shock Detect for numerical stability use_hybridOrder = .false. # Enforce Riemann density jump xl_boundary_type = "axisymmetric" # lower (left) boundary condition in x dir xr_boundary_type = "nocurrent" # upper (right) boundary condition in x dir yl_boundary_type = "outflow" # lower boundary condition in y dir yr_boundary_type = "outflow" # upper boundary condition in y dir zl_boundary_type = "outflow" # lower boundary condition in z dir zr_boundary_type = "outflow" # upper boundary condition in z dir ############################## # # # INITIAL CONDITIONS # # # ############################## sim_rhoType = 0 # 0: 0 Gaussians # 1: 1 Gaussian (liner) # 2: 2 Gaussians summed (fill and liner) # 11: 2 Gaussians piecewise (fill and liner) #### Fill material sim_fill_dens = 30.e-03 sim_fill_minDens = 1.e-05 # used in rhoType 11 sim_fill_ctr = 0. # Gaussian center sim_fill_sigma = 1.0 # rho ~ exp(-r^2/(2*sigma^2)) #sim_fill_tele = 2.901130525e6 # 250 eV (preheated) #sim_fill_tion = 2.901130525e6 # 250 eV #sim_fill_trad = 2.901130525e6 # 250 eV sim_fill_tele = 1160452.21 # 100 eV (preheated) sim_fill_tion = 1160452.21 # 100 eV sim_fill_trad = 1160452.21 # 100 eV sim_fill_maxTemp = 1.e12 # default, effectively no limit sim_fill_minTemp = 1.e-12 # effectively no limit ## DD fuel ms_fillA = 2.014 ms_fillZ = 1.0 eos_fillEosType = "eos_tab" eos_fillSubType = "ionmix4" # set eos table file to ionmix4 format eos_fillTableFile = "DD-006-imx.cn4" # set tabulated eos file name #### Liner material sim_line_dens = 1.848 sim_line_minDens = 1.e-06 # also acts as density floor for vacuum sim_line_ctr = 1.0 # Gaussian center sim_line_sigma = 0.8 # rho ~ exp(-r^2/(2*sigma^2)) sim_innerRadius = 0.29 sim_thickness = 0.058 sim_pert = 0. # pseudo-random density perturbation amplitude sim_seed = 1 # seed for random number generator (makes sims repeatable) sim_line_tele = 5802.26105 # 0.5 eV sim_line_tion = 5802.26105 # 0.5 eV sim_line_trad = 5802.26105 # 0.5 eV sim_line_maxTemp = 1.e12 # default, effectively no limit sim_line_minTemp = 1.e-12 # effectively no limit sim_line_height = 1.0 ## Beryllium ms_lineA = 9.012 ms_lineZ = 4. eos_lineEosType = "eos_tab" eos_lineSubType = "ionmix4" # set eos table file to ionmix4 format eos_lineTableFile = "Be-006-imx.cn4" # set tabulated eos file name #### Vacuum material (low density Be) sim_vacu_dens = 1.e-05 # rho <= this is vacuum sim_vacu_tele = 5802.26105 # 0.5 eV sim_vacu_tion = 5802.26105 # 0.5 eV sim_vacu_trad = 5802.26105 # 0.5 eV sim_vacu_maxTemp = 5802.26105 # 0.5 eV sim_vacu_minTemp = 5802.26105 # 0.5 eV ms_vacuA = 9.012 ms_vacuZ = 4. eos_vacuEosType = "eos_tab" eos_vacuSubType = "ionmix4" # set eos table file to ionmix4 format eos_vacuTableFile = "Be-006-imx.cn4" # set tabulated eos file name #### Current drive circ_currFile = "current.dat" # filename for current input (ns vs. MA) #circ_voltFile = "Voc_example.dat" # filename for voltage input (circuit model) (s vs. V) #circ_cylLength = 1. # used in 1D sims with circuit model # circuit model restart parameters #circ_initIload = 1.404306536824466661E+07 # these init parameters get used when a restart #circ_initIstack= 1.828569946357272193E+07 # is detected. User should refer to 'circuit.dat' #circ_initVc = 3.834045253898037598E+06 # for the appropriate values to use. #circ_initFlux = 1.724316746860757865E-01 #### trajectory output settings sim_trajOutputInterval = 1.e-10 # output interval for trajectory.dat sim_trajOutputIntervalNearStag = 1.e-11 # output interval near stagnation sim_rNearStag = 0.145 # fuel radius at which <= defines "near stagnation" ########################### # # # TIME PARAMETERS # # # ########################### tstep_change_factor = 1.10 # "The initial time step dt is multiplied with this factor at every timestep," cfl = 0.9 # Courant-Friedrichs-Lewy (CFL) factor rt_dtFactor = 1.0e+100 # Coefficient for RadTrans time step hx_dtFactor = 1.0e+100 # hx = heat exchange, likely similar to above tmax = 180.e-9 # Maximum simulation time dtmin = 1.0e-16 # Minimum timestep dtinit = 1.0e-12 # Initial timestep dtmax = 1.0e-10 # Maximum timestep nend = 100000000 # Maximum number of timesteps to take ########################### # # # MESH PARAMETERS # # # ########################### geometry = "cylindrical" # Grid geometry; cartesian is default xmin = 0.0 # physical domain lower bound in x dir xmax = 0.5 ymin = -0.5 ymax = 0.5 iGridSize = 144 #defined as nxb * iprocs jGridSize = 144 #defined as nyb * jprocs kGridSize = 1 #defined as nzb * kprocs iProcs = 6 #num procs in i direction jProcs = 6 #num procs in j direction kProcs = 1 #num procs in k direction # DivB control switch killdivb = .true. ########################### # # # DIFFUSION # # # ########################### useMagneticResistivity = .true. resistivitySolver = "implicit" resistivityForm = "fullaniso" diff_magThetaImplct = 0.5 diff_magFlMode = "fl_none" diff_magFlCoef = 1.0 diff_magzXlBoundaryType = "neumann" diff_magzXrBoundaryType = "circuit" diff_magzYlBoundaryType = "neumann" diff_magzYrBoundaryType = "neumann" diff_magzZlBoundaryType = "neumann" diff_magzZrBoundaryType = "neumann" gr_hypreSolverType = "HYPRE_GMRES" gr_hypreMaxIter = 1000 gr_hypreMaxIterMag = 1000 gr_hyprereltol = 1.e-6 gr_hyprereltolMag = 1.e-6 gr_hypreUseMagFloor = .false. gr_hypreMagFloor = 0.0 res_vacSpec = "vacu" res_vacDens = 1.e10 # <= this density, use vacRes in a vacuum cell res_vacFrac = 0.5 # VACU_SPEC > this is treated as vacuum res_vacRes = 1.e12 # cm2/s conserveAngField = .true. conserveAngMom = .false. useDiffuseComputeDtTherm = .FALSE. useDiffuseComputeDtMagnetic = .FALSE. useDiffuseComputeDtSpecies = .FALSE. useDiffuseComputeDtVisc = .FALSE. useDiffuseSpecies = .FALSE. useDiffuseVisc = .FALSE. ## -------------------------------------------------------------## ## SWITCHES SPECIFIC TO THE UNSPLIT STAGGERED MESH MHD SOLVER ## # II. MAGNETIC(B) AND ELECTRIC(E) FIELDS: E_modification = .true. # High order algorithm for E-field construction energyFix = .true. ForceHydroLimit = .false. # Pure Hydro Limit (B=0) prolMethod = "balsara_prol" # Prolongation method (injecton_prol, balsara_prol) # MHD/BIERMANN BATTERY OPTIONS: use_Hall = .false. hy_biermannSource = .false. use_biermann = .false. use_biermann1T = .false. hy_fullSpecMsFluxHandling = .true. usePlasmaState = .true.