Version 9 (modified by 11 years ago) ( diff ) | ,
---|
Fiducial Parameters
global.data
nDim = 2 ! number of dimensions for this problem (1-3) GmX = 42,420,1 ! Base grid resolution [x,y,z] MaxLevel = 7 ! Maximum level for this simulation (0 is fixed grid) GxBounds = 0d0,0d0,0d0,6d0,60d0,0d0 ! Problem boundaries in computational units,format: ! (xlower, ylower, zlower, xupper, yupper, zupper) ! For 2D problems, set zlower and zupper to 0.d0. Gmthbc = 5,4,1,1,1,1 ! Sets the physical boundary conditions at the edge of the problem domain ! format: (x1, y1, z1, x2, y2, z2) ! 1-Extrapolated, ! 2-Periodic, ! 3-ReflectingWall (Field lines do not penetrate) ! 4-Reflect_BParallel (Field lines held normal ! 5-Reflect_Cylindrical (Like reflect wall, but also changes sign of phi ! components of velocity and magnetic fields) ! [1,1,1,1,1,1] !============================================================================================= ! Parameters Related to Time !============================================================================================= start_time = 0d0 ! The initial time in computational units [0d0]. Do NOT change this on restarts. final_time = .2866183232d0 ! The final time in computational units. final_frame = 10 ! The final frame [10] lRestart = F ! restart flag [F] lPostProcess = F ! Post Process (preempts lrestart) [F] restart_frame = 47 ! The frame from which restarts should begin. Ignored unless lRestart or lPostProcess = .true. initial_maxspeed = 1000.d0 ! A lower bound on the initial maximum wave speed in computational units. cfl_vars = .8, .4, .1 ! Maximum allowed CFL before restarting step, desired CFL to run at, relaxation parameter. Smaller numbers give more gradual relaxation [1, .3, .5] !============================================================================================= ! Parameters Related to Performance/Algorithms !============================================================================================= lSkipProfile = T ! Flag for skipping profiling [T] - should set this to false for good performance on production runs. lUseOriginalNewSubGrids = F ! T for Old Subgrid Algo, F for New Subgrid Algo. [F] MinimumGridPoints = 2 ! The minimum number of cells a grid can have along one dimension [2] (ignored unless lUseOriginalNewSubGrids=T). iThreaded = -1 ! -1 is non-threaded, 0 is pseudo-threaded, 1 is threaded [0]. If you are using threaded you must compile with pThreadFlag=2 LevelBalance = 0d0,0d0 ! Try to balance load on every level? [0d0,0d0] / !============================================================================================ !Level-specific variables (All LevelData lists should be initialized from 0 to MaxLevel). !============================================================================================ &LevelData qTolerance = .10,.25,.40,1d30,1d30,1d30,1d30,1d30 ! field variable tolerances on each level DesiredFillRatios = .70,.70,.70,.70,.70,.70,.70,.70 ! Determines how much of the new subgrids must be filled with refined cells (also ignored unless lUseOriginalNewSubGrids=T) buffers = 4, 4, 4, 4, 4, 4, 4, 4 ! ErrFlag buffering / !============================================================================================ !Level-specific variables (All LevelData lists should be initialized from 0 to MaxLevel). !============================================================================================ &PoissonData solver = 1 ! Which solver to use for linear system solve? StructPCG=1, StructGMRes=2 [1] tolerance = 1e-6 ! Solver convergence tolerance [1e-6] printlevel = 0 ! Sets print level for hypre solver. Increasing this will make solvers more verbose. [0] MaxIters = 1000 ! Maximum number of iterations to attempt convergence. [1000] hverbosity = 0 ! Anything > 0 will cause linear systems to be outputted as matrix, rhs, lhs files. [0] mthbc = 2 2 2 2 2 2 ! What type of boundary conditions to use for gravitational potential ! format: (x1, y1, z1, x2, y2, z2) ! 0-Zero Slope, ! 1-Reflecting, ! 2-Periodic, ! 3-Multipole Expansion, ! 4-User Specified (User is reponsible for setting Phi at physical boundaries)
physics.data
iEOS = 1 ! Equation of State [0]-ideal gas, 1-MultiSpecies gas, 3-Van der Waals gas, 4-Isothermal gamma = 1.666667d0 ! Adiabatic index used for ideal gas and Van der Waals gas [1.66666666667] IsoTemp = 10d0 ! Isothermal temperature for Isothermal EOS CriticalDens = 30.693677103 ! maximum density in Van der Waals EOS AttractionParam = 1.38d6 ! attraction pram in Van der Waals EOS / &AbundanceData HeFrac = 0.085d0 xH = 0.01d0 xHe = 0d0 xHeII = 0d0 ZFrac = 0.001165d0 Zmu = 16.48d0 Xmu = 0d0 xZ = 4.13127d-4 / &PhysicsData !================================================================================ ! Field based refinement control !================================================================================ InterpOpts = 0,0,0,0,0,0,0,0,0,0,0,0,0 ! [0]-constant, 1-minmod, 2-superbee, 3-vanLeer, 4-mc, 5-Parabolic (not conservative), 6-Linear (not limited). It is recommended to use constant interpolation for any fields in q that correspond to aux fields (iBx, iBy, iBz, etc...) refineVariableFactor = 1d0,0d0,0d0,0d0,0d0,0d0,0d0,0d0,0d0,0d0,0d0,0d0,0d0 ! weight factors for each field used in triggering refinement. Combined with qtolerance for that level. [0d0] !================================================================================ ! Global source term switches !================================================================================ lSelfGravity = .false. ! Turns on self-gravity if true [.false.] UniformGravity = 0d0 ! Gravitational acceleration in the -y direction [0d0] OmegaRot = 0d0 ! Shifts to a rotating reference frame (enables coriolis and centripetal force terms) iCylindrical = 2 ! [0]-No cylindrical geometry, 1-Cylindrical with no angular momentum, 2-Cylindrical with angular momentum iCooling = 4 ! Cooling module [NoCool=0, AnalyticCool=1, DMCool=2, IICool=3, ZCool=4] SrcPrecision = 1d-3 ! Relative precision desired for source terms. [1d-3] lTrackHydrogen = .true. lTrackHelium = .true. ne_min=1d-3 FloorTemp=1d3 !================================================================================ ! Explicit solver switches !================================================================================ lResistive = .false. ! Turns on resistivity [.false.] ResType = 2 ! Resistivity type. 1-constant, 2-user defined distribution, 3-Spitzer. [1] resistivity = 1.2d-1 ! resistivity value [0d0] lConductive = .false. ! Turns on mhd heat conduction [.false.] ConType = 1 ! Conduction type. 1-constant, 2-Spitzer. [1] conductivity = 8d-2 ! conductivity value [0d0] lThermalFluxLimiter= .false. ! Turns on saturation heat flux. (only works for ConType==2). [.false.] lIsoDiff = .false. ! Turns on isotropic heat conduction. Allows isotropicity to be in the range (0,1). [.false.] lViscous = .false. ! Turns on viscosity (2D only) [.false.] VisType = 1 ! viscosity type. 1-classic, 2-Braginskii [1] bviscosity = 0d0 ! viscosity value [0d0] !================================================================================ ! Density Protection Options !================================================================================ lRestartOnDensityProtections = .false. ! Do density protections trigger restarts? [.false.] iDensityProtect = 2 ! 0-Set to MinDensity, 1-Set to minimum nearby density, [2]-Average nearby densities iMomentumProtect = 2 ! 0-Conserve momentum, 1-Set to zero, [2]-Average nearby velocities MinDensity = 1d-4 ! Minimum computational density before protection is triggered [1d-10] !================================================================================ ! Pressure Protection Options !================================================================================ lRestartOnPressureProtections = .false. ! Do pressure protections trigger restarts? [.false.] iPressureProtect = 2 ! 0-Set to MinTemp, 1-Set to minimim nearby pressure, [2]-Set to average nearby pressure, 3-Set to minimum nearby temperature, 4-Set to average nearby temperature MinTemp = 1d-10 ! [1d-10] minimum allowed temperature for the system in Kelvin before protection is triggered !================================================================================ ! Other Protection Options !================================================================================ lRestartOnHypreMaxIters = T ! Restart steps if hypre does not converge !================================================================================ ! Description of various scaling parameters ! Define one of each of the following: [nScale/rScale], [TempScale/pScale], and set the other to 0d0. !================================================================================ nScale = 1d2, ! number density scale parameter [particles/cc] rScale = 0, ! density scale [g/cc] TempScale = 1d4, ! temperature scale parameter [Kelvin] pScale = 0d0, ! pressure scale [dynes/cm^2] lScale = 5e15, ! length scale parameter [cm] (AU=1.49598e13, pc=3.08568025e18, R_sun=6.955e10 !================================================================================ ! MHD related section !================================================================================ lMHD = .false. ! Magnetic Fields present? [.false.] lCheckDivergence = .false. ! Turn on divergence checking [.false.]
solver.data
iScheme = 1 ! Sweep = [1] iSolver = 0 ! [0]-Default HLL Solver, 1-iExactRS, 2-HLLC, 3-HLL, 4-HLLC_ISO, 6-HLLD, 8-HLLD_ISO / &SweepData InterpOrder = 2 ! Interpolation order 1-Piecewise constant, 2-Piecewise linear, [3]-Piecewise Parabolic lChar_Limiters = .true. ! Limit using characteristic variables instead of primitive? [.true.] lCautious=.true. ! Protect quantities throughout hyperbolic step [.true.] ViscCD = 0 ! [0] = NO_VISCOSITY, 1 = ROE_VISCOSITY, 2 = H_VISCOSITY iTracer = 0 ! [0] = NONLAGRANGIAN, 1 = LAGRANGIAN lApplyDiffusion=.true. ! Apply additional diffusion at converging flows [.true.] DIFF_ALPHA = .1 ! Diffusion coefficient [.1] lApplyLOF = .false. ! Apply local oscillation filter (reduces carbuncles) [.false.] LOF_ALPHA = .075 ! Strength of local oscillation filter. [.075] lCTU=.true. ! Use corner transport upwind? [.true.] lLimiter=.true. ! Use additional slope limiters [.true.]
problem.data
namb = 1d2 ! ambient density [cm^-3] tamb = 1d4 ! ambient temperature [K] njet = 5d2 ! jet density [cm^-3] vjet = 200d5 ! initial jet velocity [cm/s] vrange = 50d5 ! (+/-) range of jet velocities [cm/s] Rjet = 1d0 ! jet radius [cu] Rm = 0.6d0 ! radius at which maximum B field is reached Betam = 1d0 ! plasma beta sets the maximum B field Bgeom = 1 ! jet magnetic field geometry (1 = toroidal, 2 = helical) vtype = 1 ! type of veloicty pulse (0 = constant, 1 = sinusoidal, 2 = random) freq = 10d0 ! frequency of velocity pulses in units of 1/final_time ! so if sinusoidal, this is how many sine waves the velocity will go through ! if random, this is how many times the the velocity will change to a new value theta = 0d0 ! angle of precession of the injection velocity [deg] precfreq = 30d0 ! frequency of the precession in units of 1/final_time seed = 1 ! number used to seed the random number generator (allows runs to be repeatable ! and ensures that each processor uses the same random velocity) simtype = 0 ! 0 = single jet, 1 = colliding jets (fields rotating in same direction) ! 2 = colliding jets (fields rotating in opposite direction) N = 1 ! number of sub-sampling iterations CoolingRes = 10 ! number of cells per cooling length (using a velocity of 50 km/s)
Key Parameters
Resolution: 42X420 + 7 AMR cfl_vars = .8, .4, .1 qTolerance = .10,.25,.40,1d30,1d30,1d30,1d30,1d30 iThreaded = -1 InterpOpts = 0,0,0,0,0,0,0,0,0,0,0,0,0 buffers = 4, 4, 4, 4, 4, 4, 4, 4 MinDensity = 1d-4[ MinTemp = 1d-10 iDensityProtect = 2 iMomentumProtect = 2 iPressureProtect = 2
Resolution Tests
The idea here is a bit different than adjusting data file parameters to see what works best. Here, I am simply lowering the number of levels while keeping the number of processors constant. This is to see how having a larger root grid might help performance when running on many processors.
There is density gradient refinement to level 3, and cooling time threshold refinement to level 7 (based on fiducial run). qTolerance changes for each run to keep this consistent. For example, the level 6 run has
qTolerance = .25, .40, 1d30, 1d30, ...
so that there is the same refinement criteria at the same effective resolution. For level 5…
qTolerance = .40, 1d30, 1d30, 1d30, ...
The level 4 and level 3 runs have the same qTolerance…
qTolerance = 1d30, 1d30, 1d30, 1d30, ...
Fiducial | 6 AMR | 5 AMR | 4 AMR | 3 AMR | |
---|---|---|---|---|---|
% root steps restarted | |||||
Time to frame 1 | |||||
Last frame | |||||
Time for last frame | |||||
Est. time to completion | |||||
Number of processors | 1008 | 1008 | 1008 | 1008 | 1008 |
Location | kraken | kraken | kraken | kraken | kraken |
Other deviations from Fiducial | N/A | qTolerance (see above) | qTolerance (see above) | qTolerance (see above) | qTolerance (see above) |
Last Frame / movie link |
Attachments (7)
-
fiducial_15.png
(141.4 KB
) - added by 11 years ago.
fiducial frame 15
- global.data (5.2 KB ) - added by 11 years ago.
- physics.data (6.2 KB ) - added by 11 years ago.
- solver.data (1.3 KB ) - added by 11 years ago.
- problem.data (1.5 KB ) - added by 11 years ago.
- Fiducial.gif (2.4 MB ) - added by 11 years ago.
- fiducial_50.png (169.2 KB ) - added by 11 years ago.