1. The Enzo Project
  2. Untitled project
  3. enzo-dev

Commits

yl2...@haddock.cc.columbia.edu  committed 098546c Merge

merge with enzo-dev

  • Participants
  • Parent commits 9960e99, 6bf53a7
  • Branches week-of-code

Comments (0)

Files changed (39)

File doc/manual/source/reference/EnzoPrimaryReferences.rst

View file
  • Ignore whitespace
   Using Python and NumPy
   <http://conference.scipy.org/proceedings/SciPy2008/paper_11/>`_ in Proceedings
   of the 7th Python in Science conference (!SciPy 2008), G Varoquaux, T Vaught, J
-  Millman (Eds.), pp. 46-50 (`Bibtex entry <http://yt.enzotools.org/wiki/Citation>`_)
+  Millman (Eds.), pp. 46-50 (`Bibtex entry <http://hg.yt-project.org/yt/wiki/Citation>`_)
 
 * `yt: A Multi-code Analysis Toolkit for Astrophysical Simulation Data
   <http://adsabs.harvard.edu/abs/2011ApJS..192....9T>`_, by Turk, M. J.;

File doc/manual/source/tutorials/SampleParameterFiles.rst

View file
  • Ignore whitespace
 
 **Unigrid dark matter-only cosmology simulation**.  This is the
 simplest possible Enzo cosmology simulation - a dark matter-only
-calculation (so no baryons at all) and no adaptive mesh. See the inits
-parameter file and Enzo parameter file.
+calculation (so no baryons at all) and no adaptive mesh. See the
+:download:`inits parameter file <./samples/dmonly.inits>` and
+:download:`Enzo parameter file <./samples/dmonly_unigrid.enzo>`.
 
 **AMR dark matter-only cosmology simulation**.  This is a dark
 matter-only cosmology calculation (using the same initial conditions
 as the previous dm-only run) but with adaptive mesh refinement turned
-on.  See the inits parameter file and Enzo parameter file.
+on.  See the :download:`inits parameter file <./samples/dmonly.inits>`
+and :download:`Enzo parameter file <./samples/dmonly_amr.enzo>`.
 
 **Unigrid hydro+dark matter cosmology simulation (adiabatic)**.  This
 is a dark matter plus hydro cosmology calculation **without** adaptive
-mesh refinement and no additional physics.  See the inits parameter
-file and Enzo parameter file.
+mesh refinement and no additional physics.  See the :download:`inits
+parameter file <./samples/gas_plus_dm.inits>` and :download:`Enzo
+parameter file <./samples/gas_plus_dm_uni_adia.enzo>`.
 
 **AMR hydro+dark matter cosmology simulation (adiabatic)**.  This is a
 dark matter plus hydro cosmology calculation (using the same initial
 conditions as the previous dm+hydro run)**with** adaptive mesh
 refinement (refining everywhere in the simulation volume) and no
-additional physics.  See the inits parameter file and Enzo parameter
-file.
+additional physics.  See the :download:`inits parameter file
+<./samples/gas_plus_dm.inits>` and :download:`Enzo parameter file
+<./samples/gas_plus_dm_amr_adia.enzo>`.
 
 **AMR hydro+dark matter cosmology simulation (lots of physics)**.
 This is a dark matter plus hydro cosmology calculation (using the same
 adaptive mesh refinement (refining everywhere in the simulation
 volume) and including radiative cooling, six species primordial
 chemistry, a uniform metagalactic radiation background, and
-prescriptions for star formation and feedback.  See the inits
-parameter file and Enzo parameter file.
+prescriptions for star formation and feedback.  See the
+:download:`inits parameter file <./samples/gas_plus_dm.inits>` and
+:download:`Enzo parameter file <./samples/gas_plus_dm_amr_multiphys.enzo>`.
 
 **AMR hydro+dark matter nested-grid cosmology simulation (lots of
 physics)**.  This is a dark matter plus hydro cosmology calculation
 calculation, and includes radiative cooling, six species primordial
 chemistry, a uniform metagalactic radiation background, and
 prescriptions for star formation and feedback. All parameter files can
-be downloaded in one single tarball. Note that inits works differently
+be downloaded in :download:`one single tarball
+<./samples/example_ics.tar.gz>`. Note that inits works differently
 for multi-grid setups. Instead of calling inits one time, it is called
 N times, where N is the number of grids. For this example, where there
 are three grids total (one root grid and two nested subgrids), the
-procedure would be:
+procedure would be::
 
-::
+  inits -d -s SubGridFile.inits  TopGridFile.inits
+  inits -d -s SubSubGridFile.inits SubGridFile.inits 
+  inits -d SubSubGridFile.inits 
 
-     NohProblem2DAMR.tar.gz - 650 KB
-     NohProblem3D.tar.gz - 34 MB
-     NohProblem3DAMR.tar.gz - 126 MB
-     ProtostellarCollapse_Std.tar.gz - 826 KB
-     SedovBlast.tar.gz - 4.1 MB
-     SedovBlastAMR.tar.gz - 1.6 MB
-     ShockPool2D.tar.gz - 250 KB
-     ShockPool3D.tar.gz - 91 KB
-     ShockTube.tar.gz - 16 KB
-     StripTest.tar.gz - 4.1 MB
-     WavePool.tar.gz - 20 KB
-     ZeldovichPancake.tar.gz - 36 KB
-
-
+(but note that there is now an easier way to do multiple-grid
+initialization with inits -- see :ref:`using_inits`).

File doc/manual/source/tutorials/samples/MW_3lev_SubGrid.inits

View file
  • Ignore whitespace
+#  Generates initial grid and particle fields for the 
+#    first-level static subgrid in a CDM cosmology simulation
+#    with nested-grid initial conditions.
+#
+#  Note:  This file is used by inits.exe with the command line:
+#    'inits.exe -d -s MW_3lev_SubSubGrid.inits MW_3lev_SubGrid.inits'
+#    and outputs four files, called GridDensity.1, GridVelocities.1,
+#    ParticlePositions.1 and ParticleVelocities.1.  Enzo then reads 
+#    in these files, as well as the ones created for the other grids,
+#    along with its own parameter file.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+
+#
+#  Cosmology Parameters
+#
+CosmologyOmegaMatterNow      = 0.27
+CosmologyOmegaLambdaNow      = 0.73
+CosmologyOmegaBaryonNow      = 0.044
+CosmologyComovingBoxSize     = 54.528       // in Mpc/h
+CosmologyHubbleConstantNow   = 0.71      // in units of 100 km/s/Mpc
+CosmologyInitialRedshift     = 60
+
+#
+#  Power spectrum Parameters
+#
+PowerSpectrumType            = 11             // Eisenstein & Hu
+PowerSpectrumSigma8          = 0.9
+PowerSpectrumPrimordialIndex = 1.0
+PowerSpectrumRandomSeed      = -123456789
+
+#
+#  Grid info
+#
+Rank                = 3
+InitializeGrids     = 1
+GridRefinement      = 2
+GridDims = 160 160 160
+
+#
+#  Particle info
+#
+InitializeParticles = 1
+ParticleRefinement  = 2
+ParticleDims = 160 160 160
+
+#
+#  Overall field parameters
+#
+MaxDims = 640 640 640
+NewCenterFloat = 0.118373 0.412982 0.554482  // recenters volume on a halo of interest
+StartIndexInNewCenterTopGridSystem = 40 40 40 
+EndIndexInNewCenterTopGridSystem   = 119 119 119
+RootGridDims = 160 160 160
+
+#
+#  Names
+#
+ParticlePositionName = ParticlePositions.1
+ParticleVelocityName = ParticleVelocities.1
+GridDensityName      = GridDensity.1
+GridVelocityName     = GridVelocities.1

File doc/manual/source/tutorials/samples/MW_3lev_SubSubGrid.inits

View file
  • Ignore whitespace
+#  Generates initial grid and particle fields for the 
+#    second-level static subgrid in a CDM cosmology simulation
+#    with nested-grid initial conditions.
+#
+#  Note:  This file is used by inits.exe with the command line:
+#    'inits.exe -d MW_3lev_SubSubGrid.inits'
+#    and outputs four files, called GridDensity.2, GridVelocities.2,
+#    ParticlePositions.2 and ParticleVelocities.2.  Enzo then reads 
+#    in these files, as well as the ones created for the other grids,
+#    along with its own parameter file.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+
+#
+#  Cosmology Parameters
+#
+CosmologyOmegaMatterNow      = 0.27
+CosmologyOmegaLambdaNow      = 0.73
+CosmologyOmegaBaryonNow      = 0.044
+CosmologyComovingBoxSize     = 54.528       // in Mpc/h
+CosmologyHubbleConstantNow   = 0.71      // in units of 100 km/s/Mpc
+CosmologyInitialRedshift     = 60
+
+#
+#  Power spectrum Parameters
+#
+PowerSpectrumType            = 11             // Eisenstein & Hu
+PowerSpectrumSigma8          = 0.9
+PowerSpectrumPrimordialIndex = 1.0
+PowerSpectrumRandomSeed      = -123456789
+
+#
+#  Grid info
+#
+Rank                = 3
+InitializeGrids     = 1
+GridRefinement      = 1
+GridDims = 160 160 160
+
+#
+#  Particle info
+#
+InitializeParticles = 1
+ParticleRefinement  = 1
+ParticleDims = 160 160 160
+
+#
+#  Overall field parameters
+#
+MaxDims = 640 640 640
+NewCenterFloat = 0.118373 0.412982 0.554482  // recenters volume on a halo of interest
+StartIndexInNewCenterTopGridSystem = 60 60 60
+EndIndexInNewCenterTopGridSystem   = 99 99 99
+RootGridDims = 160 160 160
+
+#
+#  Names
+#
+ParticlePositionName = ParticlePositions.2
+ParticleVelocityName = ParticleVelocities.2
+GridDensityName      = GridDensity.2
+GridVelocityName     = GridVelocities.2

File doc/manual/source/tutorials/samples/MW_3lev_TopGrid.inits

View file
  • Ignore whitespace
+#  Generates initial grid and particle fields for the 
+#    top-level (root) grid for a CDM cosmology simulation
+#    with nested-grid initial conditions.
+#
+#  Note:  This file is used by inits.exe with the command line:
+#    'inits.exe -d -s MW_3lev_SubGrid.inits MW_3lev_TopGrid.inits'
+#    and outputs four files, called GridDensity.0, GridVelocities.0,
+#    ParticlePositions.0 and ParticleVelocities.0.  Enzo then reads 
+#    in these files, as well as the ones created for the other grids,
+#    along with its own parameter file.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+
+#
+#  Cosmology Parameters
+#
+CosmologyOmegaMatterNow      = 0.27
+CosmologyOmegaLambdaNow      = 0.73
+CosmologyOmegaBaryonNow      = 0.044
+CosmologyComovingBoxSize     = 54.528       // in Mpc/h
+CosmologyHubbleConstantNow   = 0.71      // in units of 100 km/s/Mpc
+CosmologyInitialRedshift     = 60
+
+#
+#  Power spectrum Parameters
+#
+PowerSpectrumType            = 11             // Eisenstein & Hu
+PowerSpectrumSigma8          = 0.9
+PowerSpectrumPrimordialIndex = 1.0
+PowerSpectrumRandomSeed      = -123456789
+
+#
+#  Grid info
+#
+Rank                = 3
+GridDims = 160 160 160 
+GridRefinement      = 4
+InitializeGrids     = 1
+
+#
+#  Particle info
+#
+InitializeParticles = 1
+ParticleRefinement  = 4
+ParticleDims = 160 160 160 
+
+#
+#  Overall field parameters
+#
+MaxDims = 640 640 640
+NewCenterFloat = 0.118373 0.412982 0.554482  // recenters volume on a halo of interest
+StartIndex = 0 0 0
+RootGridDims = 160 160 160
+
+#
+#  Names
+#
+ParticlePositionName = ParticlePositions.0
+ParticleVelocityName = ParticleVelocities.0
+GridDensityName      = GridDensity.0
+GridVelocityName     = GridVelocities.0

File doc/manual/source/tutorials/samples/MW_3lev_multiphys.enzo

View file
  • Ignore whitespace
+#
+# ENZO PROBLEM DEFINITION FILE: AMR Cosmology Simulation including
+#   dark matter and gas, as well as radiative cooling, primordial
+#   hydrogen+helium chemistry (no molecular hydrogen), a uniform
+#   metagalactic radiation background, and star formation and feedback
+#   using an AMR version of the Cen & Ostriker algorithm.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+#  Note: This file is used by Enzo with the command line
+#    'enzo.exe -d MW_3lev_multiphys.enzo'.  Enzo also requires
+#    twelve binary files that have been generated with inits.exe
+#    prior to executing Enzo.  These files are named
+#    GridDensity.N, GridVelocities.N, ParticlePositions.N, 
+#    and ParticleVelocities.N,where N = 0,1,2.
+#
+#  This simulation results in a Local Group-mass halo full of several
+#   galaxies.
+
+#
+#  define problem
+#
+ProblemType                = 30   // cosmology simulation
+TopGridRank                = 3
+SelfGravity                = 1    // gravity on
+TopGridGravityBoundary     = 0    // periodic BCs
+LeftFaceBoundaryCondition  = 3 3 3
+RightFaceBoundaryCondition = 3 3 3
+BaryonSelfGravityApproximation = 1
+TopGridDimensions = 160 160 160  
+
+#
+#  problem parameters
+#
+CosmologySimulationOmegaBaryonNow       = 0.044
+CosmologySimulationOmegaCDMNow          = 0.226
+CosmologySimulationDensityName          = GridDensity
+CosmologySimulationVelocity1Name        = GridVelocities
+CosmologySimulationVelocity2Name        = GridVelocities
+CosmologySimulationVelocity3Name        = GridVelocities
+CosmologySimulationParticlePositionName = ParticlePositions
+CosmologySimulationParticleVelocityName = ParticleVelocities
+CosmologySimulationNumberOfInitialGrids = 3
+CosmologySimulationGridDimension[1]     = 160 160 160   // info for subgrid
+CosmologySimulationGridLeftEdge[1]      = 0.25 0.25 0.25
+CosmologySimulationGridRightEdge[1]     = 0.75 0.75 0.75
+CosmologySimulationGridLevel[1]         = 1
+CosmologySimulationGridDimension[2]     = 160 160 160   // info for sub-sub-grid
+CosmologySimulationGridLeftEdge[2]      = 0.375 0.375 0.375
+CosmologySimulationGridRightEdge[2]     = 0.625 0.625 0.625
+CosmologySimulationGridLevel[2]         = 2
+
+CosmologySimulationUseMetallicityField = 1  // turns on the metal field for tracking feedback
+
+#
+#  define cosmology parameters
+#
+ComovingCoordinates        = 1
+CosmologyOmegaMatterNow    = 0.27
+CosmologyOmegaLambdaNow    = 0.73
+CosmologyHubbleConstantNow = 0.71
+CosmologyComovingBoxSize   = 54.528
+CosmologyMaxExpansionRate  = 0.015
+CosmologyInitialRedshift   = 60.0
+CosmologyFinalRedshift     = 0.0
+GravitationalConstant      = 1.0
+
+#
+#  set I/O and stop/start parameters
+#
+dtDataDump             = 2.0
+RedshiftDumpName = RD
+RedshiftDumpDir = RD
+DataDumpName = DD
+DataDumpDir = DD
+GlobalDir = /scratch/batch/bwoshea/MWsim_try2
+
+CosmologyOutputRedshift[0] = 60.0
+CosmologyOutputRedshift[1] = 20.0
+CosmologyOutputRedshift[2] = 15.0
+CosmologyOutputRedshift[3] = 10.0
+CosmologyOutputRedshift[4] = 8.0
+CosmologyOutputRedshift[5] = 6.0
+CosmologyOutputRedshift[6] = 4.0
+CosmologyOutputRedshift[7] = 3.0
+CosmologyOutputRedshift[8] = 2.5
+CosmologyOutputRedshift[9] = 2.0
+CosmologyOutputRedshift[10] = 1.5
+CosmologyOutputRedshift[11] = 1.0
+CosmologyOutputRedshift[12] = 0.75
+CosmologyOutputRedshift[13] = 0.5
+CosmologyOutputRedshift[14] = 0.25
+CosmologyOutputRedshift[15] = 0.0
+
+#
+#  set hydro parameters
+#
+Gamma                  = 1.6667
+PPMDiffusionParameter  = 0       // diffusion off
+InterpolationMethod    = 1     // SecondOrderA
+CourantSafetyNumber    = 0.5
+ParticleCourantSafetyNumber    = 0.8
+ConservativeInterpolation = 0
+HydroMethod = 2  // ZEUS hydro method
+
+#
+#  set cooling parameters
+#
+RadiativeCooling       = 1
+MultiSpecies           = 0  // turned off, so use cool_rates.in
+RadiationFieldType     = 0  // turned off for this run
+
+#
+#  Star formation/feedback parameters
+#
+StarParticleCreation = 2    // 
+StarMakerOverDensityThreshold = 1000   // in proper particles/cc
+StarMakerMassEfficiency = 0.05        //
+StarMakerMinimumMass = 1.0e7         //
+StarMakerMinimumDynamicalTime = 1.0e+7
+
+StarParticleFeedback = 2
+StarMassEjectionFraction = 0.25
+StarMetalYield = 0.02
+StarEnergyToThermalFeedback = 3.0e-6
+
+
+#
+#  set grid refinement parameters
+#
+StaticHierarchy           = 0
+MaximumRefinementLevel    = 7
+MaximumGravityRefinementLevel = 7
+MaximumParticleRefinementLevel = 7
+RefineBy                  = 2
+CellFlaggingMethod        = 2 4   // baryon and dm mass
+MinimumEfficiency         = 0.35
+MinimumOverDensityForRefinement = 0.125 0.125  // note that this is a small number - see manual for explanation
+RefineRegionLeftEdge = 0.4375 0.4375 0.4375
+RefineRegionRightEdge = 0.5625 0.5625 0.5625
+MinimumMassForRefinementLevelExponent = 0.0 0.0
+
+#
+#  set some global parameters
+#
+GreensFunctionMaxNumber   = 40
+

File doc/manual/source/tutorials/samples/dmonly.inits

View file
  • Ignore whitespace
+#
+#  Generates initial grid and particle fields for a single-grid
+#    dark matter-only CDM simulation - that is to say, a cosmology 
+#    simulation where there is only dark matter, and the initial 
+#    conditions are not nested.
+#
+#  Note:  This file is used by inits.exe with the command line 
+#    'inits.exe -d dmonly.inits' and outputs two files, called
+#    ParticlePositions and ParticleVelocities.  Enzo then reads 
+#    these files in using its own parameter file.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+
+#
+#  Cosmology Parameters
+#
+CosmologyOmegaBaryonNow      = 0.0
+CosmologyOmegaMatterNow      = 0.27 
+CosmologyOmegaLambdaNow	     = 0.73  
+CosmologyComovingBoxSize     = 20.0    // in Mpc/h
+CosmologyHubbleConstantNow   = 0.7      // in units of 100 km/s/Mpc
+CosmologyInitialRedshift     = 60.0
+
+#
+#  Power spectrum Parameters
+#
+PowerSpectrumType            = 11      // Eisenstein & Hu (1999)
+PowerSpectrumSigma8          = 0.9
+PowerSpectrumPrimordialIndex = 1.0
+PowerSpectrumRandomSeed      = -12234931
+
+#
+#  Grid info
+#
+InitializeGrids     = 0
+
+#
+#  Particle info
+#
+ParticleDims        = 128 128 128
+InitializeParticles = 1
+ParticleRefinement  = 1
+
+#
+#  Overall field parameters
+#
+#
+#  Names
+#
+ParticlePositionName = ParticlePositions
+ParticleVelocityName = ParticleVelocities

File doc/manual/source/tutorials/samples/dmonly_amr.enzo

View file
  • Ignore whitespace
+#
+# ENZO PROBLEM DEFINITION FILE: AMR cosmology Simulation
+#   including only dark matter (no gas)
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+#  Note: This file is used by Enzo with the command line
+#    'enzo.exe -d dmonly_amr.enzo'.  Enzo also requires
+#    two binary files that have been generated with inits.exe
+#    and the file dmonly.inits prior to executing Enzo.  
+#    These files are named ParticlePositions and ParticleVelocities.
+
+#
+#  define problem
+#
+ProblemType                = 30      // cosmology simulation
+TopGridRank                = 3
+TopGridDimensions          = 128 128 128
+SelfGravity                = 1       // gravity on
+TopGridGravityBoundary     = 0       // Periodic BC for gravity
+LeftFaceBoundaryCondition  = 3 3 3   // same for fluid
+RightFaceBoundaryCondition = 3 3 3
+
+#
+#  problem parameters
+#
+CosmologySimulationOmegaBaryonNow       = 0.0    // turn off 
+CosmologySimulationOmegaCDMNow		= 0.27 
+CosmologyOmegaMatterNow			= 0.27 
+CosmologyOmegaLambdaNow			= 0.73  
+CosmologySimulationParticlePositionName = ParticlePositions
+CosmologySimulationParticleVelocityName = ParticleVelocities
+CosmologySimulationNumberOfInitialGrids = 1
+
+#
+#  define cosmology parameters
+#
+ComovingCoordinates        = 1       // Expansion ON
+CosmologyHubbleConstantNow = 0.7    // in km/s/Mpc
+CosmologyComovingBoxSize   = 20.0  // in Mpc/h
+CosmologyMaxExpansionRate  = 0.015   // maximum allowed delta(a)/a
+CosmologyInitialRedshift   = 60.0      // 
+CosmologyFinalRedshift     = 0.0     //
+GravitationalConstant      = 1.0       // this must be true for cosmology
+
+#
+#  set I/O and stop/start parameters
+#
+RedshiftDumpName = RD
+RedshiftDumpDir = RD
+DataDumpName = DD
+DataDumpDir = DD
+GlobalDir = /Users/bwoshea/Desktop/testrun
+dtDataDump             = 2.0
+CosmologyOutputRedshift[0] = 60.0
+CosmologyOutputRedshift[1] = 10.0
+CosmologyOutputRedshift[2] = 4.0  
+CosmologyOutputRedshift[3] = 3.0
+CosmologyOutputRedshift[4] = 2.0
+CosmologyOutputRedshift[5] = 1.0
+CosmologyOutputRedshift[6] = 0.75
+CosmologyOutputRedshift[7] = 0.5
+CosmologyOutputRedshift[8] = 0.25
+CosmologyOutputRedshift[9] = 0.0
+
+#
+#  set evolution parameters
+#
+ParticleCourantSafetyNumber = 0.8
+
+#
+#  set grid refinement parameters
+#
+StaticHierarchy           = 0  // AMR = ON
+MaximumRefinementLevel    = 3
+MaximumGravityRefinementLevel = 3
+MaximumParticleRefinementLevel = 3
+RefineBy                  = 2
+CellFlaggingMethod        = 4  // refine dark matter particle mass
+MinimumEfficiency         = 0.35
+MinimumOverDensityForRefinement = 8.0
+MinimumMassForRefinementLevelExponent = 0.0  
+
+#
+#  set some global parameters
+#
+GreensFunctionMaxNumber   = 100   // # of greens function at any one time

File doc/manual/source/tutorials/samples/dmonly_unigrid.enzo

View file
  • Ignore whitespace
+#
+# ENZO PROBLEM DEFINITION FILE: Unigrid cosmology Simulation
+#   including only dark matter (no gas)
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+#  Note: This file is used by Enzo with the command line
+#    'enzo.exe -d dmonly_unigrid.enzo'.  Enzo also requires
+#    two binary files that have been generated with inits.exe
+#    and the file dmonly.inits prior to executing Enzo.  
+#    These files are named ParticlePositions and ParticleVelocities.
+
+#
+#  define problem
+#
+ProblemType                = 30      // cosmology simulation
+TopGridRank                = 3
+TopGridDimensions          = 128 128 128
+SelfGravity                = 1       // gravity on
+TopGridGravityBoundary     = 0       // Periodic BC for gravity
+LeftFaceBoundaryCondition  = 3 3 3   // same for fluid
+RightFaceBoundaryCondition = 3 3 3
+
+#
+#  problem parameters
+#
+CosmologySimulationOmegaBaryonNow       = 0.0    // turn off 
+CosmologySimulationOmegaCDMNow		= 0.27 
+CosmologyOmegaMatterNow			= 0.27 
+CosmologyOmegaLambdaNow			= 0.73  
+CosmologySimulationParticlePositionName = ParticlePositions
+CosmologySimulationParticleVelocityName = ParticleVelocities
+CosmologySimulationNumberOfInitialGrids = 1
+
+#
+#  define cosmology parameters
+#
+ComovingCoordinates        = 1       // Expansion ON
+CosmologyHubbleConstantNow = 0.7    // in km/s/Mpc
+CosmologyComovingBoxSize   = 20.0  // in Mpc/h
+CosmologyMaxExpansionRate  = 0.015   // maximum allowed delta(a)/a
+CosmologyInitialRedshift   = 60.0      // 
+CosmologyFinalRedshift     = 0.0     //
+GravitationalConstant      = 1.0       // this must be true for cosmology
+
+#
+#  set I/O and stop/start parameters
+#
+RedshiftDumpName = RD
+RedshiftDumpDir = RD
+DataDumpName = DD
+DataDumpDir = DD
+GlobalDir = /Users/bwoshea/Desktop/testrun
+dtDataDump             = 2.0
+CosmologyOutputRedshift[0] = 60.0
+CosmologyOutputRedshift[1] = 10.0
+CosmologyOutputRedshift[2] = 4.0  
+CosmologyOutputRedshift[3] = 3.0
+CosmologyOutputRedshift[4] = 2.0
+CosmologyOutputRedshift[5] = 1.0
+CosmologyOutputRedshift[6] = 0.75
+CosmologyOutputRedshift[7] = 0.5
+CosmologyOutputRedshift[8] = 0.25
+CosmologyOutputRedshift[9] = 0.0
+
+#
+#  set evolution parameters
+#
+ParticleCourantSafetyNumber = 0.8
+
+#
+#  set grid refinement parameters
+#
+StaticHierarchy           = 1    // AMR = OFF
+
+#
+#  set some global parameters
+#
+GreensFunctionMaxNumber   = 100   // # of greens function at any one time

File doc/manual/source/tutorials/samples/example_ics.tar.gz

  • Ignore whitespace
Binary file added.

File doc/manual/source/tutorials/samples/gas_plus_dm.inits

View file
  • Ignore whitespace
+#
+#  Generates initial grid and particle fields for a single-grid
+#    CDM simulation - that is to say, a cosmology simulation 
+#    where the initial conditions are not nested.
+#
+#  Note:  This file is by inits.exe with the command line 
+#    'inits.exe -d gas_plus_dm.inits' and outputs four files, called
+#    GridDensity, GridVelocities, ParticlePositions, and 
+#    ParticleVelocities.  Enzo then reads these files in using its
+#    own parameter file.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+
+#
+#  Cosmology Parameters
+#
+CosmologyOmegaBaryonNow      = 0.04
+CosmologyOmegaMatterNow      = 0.27 
+CosmologyOmegaLambdaNow	     = 0.73  
+CosmologyComovingBoxSize     = 20.0    // in Mpc/h
+CosmologyHubbleConstantNow   = 0.71      // in units of 100 km/s/Mpc
+CosmologyInitialRedshift     = 99.0
+
+#
+#  Power spectrum Parameters
+#
+PowerSpectrumType            = 11             // Eisenstein & Hu
+PowerSpectrumSigma8          = 0.9
+PowerSpectrumPrimordialIndex = 1.0
+PowerSpectrumRandomSeed      = -12345931
+
+#
+#  Grid info
+#
+Rank                = 3
+GridDims            = 128 128 128
+InitializeGrids     = 1
+GridRefinement      = 1
+
+#
+#  Particle info
+#
+ParticleDims        = 128 128 128
+InitializeParticles = 1
+ParticleRefinement  = 1
+
+#
+#  Overall field parameters
+#
+ParticlePositionName = ParticlePositions
+ParticleVelocityName = ParticleVelocities
+GridDensityName      = GridDensity
+GridVelocityName     = GridVelocities

File doc/manual/source/tutorials/samples/gas_plus_dm_amr_adia.enzo

View file
  • Ignore whitespace
+#
+# ENZO PROBLEM DEFINITION FILE: AMR cosmology Simulation including
+#   dark matter and gas, but no further physics (adiabatic gas only)
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+#  Note: This file is used by Enzo with the command line
+#    'enzo.exe -d gas_plus_dm_amr_adia.enzo'.  Enzo also requires
+#    four binary files that have been generated with inits.exe
+#    and the file gas_plus_dm.inits prior to executing Enzo.  
+#    These files are named GridDensity, GridVelocities, 
+#    ParticlePositions, and ParticleVelocities.
+
+#
+#  define problem
+#
+ProblemType                = 30      // cosmology simulation
+TopGridRank                = 3
+TopGridDimensions          = 128 128 128
+SelfGravity                = 1       // gravity on
+TopGridGravityBoundary     = 0       // Periodic BC for gravity
+LeftFaceBoundaryCondition  = 3 3 3   // same for fluid
+RightFaceBoundaryCondition = 3 3 3
+
+#
+#  problem parameters
+#
+CosmologySimulationOmegaBaryonNow       = 0.04
+CosmologySimulationOmegaCDMNow		= 0.23 
+CosmologyOmegaMatterNow			= 0.27 
+CosmologyOmegaLambdaNow			= 0.73  
+CosmologySimulationDensityName          = GridDensity
+CosmologySimulationVelocity1Name        = GridVelocities
+CosmologySimulationVelocity2Name        = GridVelocities
+CosmologySimulationVelocity3Name        = GridVelocities
+CosmologySimulationParticlePositionName = ParticlePositions
+CosmologySimulationParticleVelocityName = ParticleVelocities
+CosmologySimulationNumberOfInitialGrids = 1
+
+#
+#  define cosmology parameters
+#
+ComovingCoordinates        = 1       // Expansion ON
+CosmologyHubbleConstantNow = 0.71    // in km/s/Mpc
+CosmologyComovingBoxSize   = 20.0   // in Mpc/h
+CosmologyMaxExpansionRate  = 0.015   // maximum allowed delta(a)/a
+CosmologyInitialRedshift   = 99.0      // 
+CosmologyFinalRedshift     = 0.0     //
+GravitationalConstant      = 1       // this must be true for cosmology
+
+#
+#  set I/O and stop/start parameters
+#
+CosmologyOutputRedshift[0] = 99.0 
+CosmologyOutputRedshift[1] = 10.0
+CosmologyOutputRedshift[2] = 5.0  
+CosmologyOutputRedshift[3] = 4.0
+CosmologyOutputRedshift[4] = 3.0
+CosmologyOutputRedshift[5] = 2.0
+CosmologyOutputRedshift[6] = 1.5
+CosmologyOutputRedshift[7] = 1.0
+CosmologyOutputRedshift[8] = 0.75
+CosmologyOutputRedshift[9] = 0.5
+CosmologyOutputRedshift[10] = 0.25
+CosmologyOutputRedshift[11] = 0.0
+
+#
+#  set hydro parameters
+#
+Gamma                  = 1.6667
+HydroMethod            = 0
+DualEnergyFormalism    = 1     // use total & internal energy
+InterpolationMethod    = 1     // SecondOrderA
+PPMDiffusionParameter  = 0     // diffusion off
+CourantSafetyNumber    = 0.5
+FluxCorrection         = 1  // necessary for mass conservation in AMR
+ConservativeInterpolation = 0
+ParticleCourantSafetyNumber = 0.8
+
+#
+#  set cooling and feedback parameters
+#
+RadiativeCooling       = 0   // radiative cooling
+MultiSpecies           = 0   // non-equilibrium primordial cooling/chemistry
+RadiationFieldType     = 0   // UV background (only usable if MultiSpecies=1)
+StarParticleCreation   = 0   
+StarParticleFeedback   = 0
+
+#
+#  set grid refinement parameters
+#
+StaticHierarchy           = 0     // AMR turned on
+MaximumRefinementLevel    = 5       // 5 levels of AMR
+MaximumGravityRefinementLevel = 5   // gravity calculated on all levels
+MaximumParticleRefinementLevel = 5  // particle densities not smoothed
+RefineBy                  = 2
+CellFlaggingMethod        = 2 4   // refine on dark matter and baryon mass 
+MinimumEfficiency         = 0.35
+MinimumOverDensityForRefinement = 8.0 8.0   // refine when cell mass = 8 times original cell mass
+MinimumMassForRefinementLevelExponent = 0.0 0.0  // refinement is approximately lagrangian
+
+#
+#  set some global parameters
+#
+GreensFunctionMaxNumber   = 100   // # of greens function at any one time

File doc/manual/source/tutorials/samples/gas_plus_dm_amr_multiphys.enzo

View file
  • Ignore whitespace
+#
+# ENZO PROBLEM DEFINITION FILE: AMR Cosmology Simulation including
+#   dark matter and gas, as well as radiative cooling, primordial
+#   hydrogen+helium chemistry (no molecular hydrogen), a uniform
+#   metagalactic radiation background, and star formation and feedback
+#   using an AMR version of the Cen & Ostriker algorithm.
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+#  Note: This file is used by Enzo with the command line
+#    'enzo.exe -d gas_plus_dm_amr_multiphys.enzo'.  Enzo also requires
+#    four binary files that have been generated with inits.exe
+#    and the file gas_plus_dm.inits prior to executing Enzo.  
+#    These files are named GridDensity, GridVelocities, 
+#    ParticlePositions, and ParticleVelocities.
+
+#
+#  define problem
+#
+ProblemType                = 30      // cosmology simulation
+TopGridRank                = 3
+TopGridDimensions          = 128 128 128
+SelfGravity                = 1       // gravity on
+TopGridGravityBoundary     = 0       // Periodic BC for gravity
+LeftFaceBoundaryCondition  = 3 3 3   // same for fluid
+RightFaceBoundaryCondition = 3 3 3
+
+#
+#  problem parameters
+#
+CosmologySimulationOmegaBaryonNow       = 0.04
+CosmologySimulationOmegaCDMNow		= 0.23 
+CosmologyOmegaMatterNow			= 0.27 
+CosmologyOmegaLambdaNow			= 0.73  
+CosmologySimulationDensityName          = GridDensity
+CosmologySimulationVelocity1Name        = GridVelocities
+CosmologySimulationVelocity2Name        = GridVelocities
+CosmologySimulationVelocity3Name        = GridVelocities
+CosmologySimulationParticlePositionName = ParticlePositions
+CosmologySimulationParticleVelocityName = ParticleVelocities
+CosmologySimulationNumberOfInitialGrids = 1
+
+#
+#  define cosmology parameters
+#
+ComovingCoordinates        = 1       // Expansion ON
+CosmologyHubbleConstantNow = 0.71    // in km/s/Mpc
+CosmologyComovingBoxSize   = 20.0   // in Mpc/h
+CosmologyMaxExpansionRate  = 0.015   // maximum allowed delta(a)/a
+CosmologyInitialRedshift   = 99.0      // 
+CosmologyFinalRedshift     = 0.0     //
+GravitationalConstant      = 1       // this must be true for cosmology
+
+#
+#  set I/O and stop/start parameters
+#
+CosmologyOutputRedshift[0] = 99.0 
+CosmologyOutputRedshift[1] = 10.0
+CosmologyOutputRedshift[2] = 5.0  
+CosmologyOutputRedshift[3] = 4.0
+CosmologyOutputRedshift[4] = 3.0
+CosmologyOutputRedshift[5] = 2.0
+CosmologyOutputRedshift[6] = 1.5
+CosmologyOutputRedshift[7] = 1.0
+CosmologyOutputRedshift[8] = 0.75
+CosmologyOutputRedshift[9] = 0.5
+CosmologyOutputRedshift[10] = 0.25
+CosmologyOutputRedshift[11] = 0.0
+
+#
+#  set hydro parameters
+#
+Gamma                  = 1.6667
+HydroMethod            = 0
+DualEnergyFormalism    = 1     // use total & internal energy
+InterpolationMethod    = 1     // SecondOrderA
+PPMDiffusionParameter  = 0     // diffusion off
+CourantSafetyNumber    = 0.5
+FluxCorrection         = 1  // necessary for mass conservation in AMR
+ConservativeInterpolation = 0
+ParticleCourantSafetyNumber = 0.8
+
+#
+#  set cooling and feedback parameters
+#
+RadiativeCooling       = 1   // radiative cooling turned on
+MultiSpecies           = 1   // 6-species H+He chem/cooling turned on
+RadiationFieldType     = 2   // Haardt & Madau w/q=-1.8
+StarParticleCreation   = 2   // star particle creation turned on, using model #2 
+StarParticleFeedback   = 2   // stellar feedback turned on, using model #2
+
+StarMakerOverDensityThreshold = 1000.0  // can create stars when density is this times mean
+StarMakerMassEfficiency = 0.05          // fraction of gas in cell that can turn into stars
+StarMakerMinimumMass = 1.0e7            // minimum stellar mass in Msun
+StarMakerMinimumDynamicalTime = 1.0e+7  // minimum dynamical time in years
+
+StarMassEjectionFraction = 0.25   // fraction of star particle mass returned to gas
+StarMetalYield = 0.02             // fractional metal yield (in mass)
+StarEnergyToThermalFeedback = 3.0e-6  // portion of star particle rest energy returned as thermal energy
+
+#
+#  set grid refinement parameters
+#
+StaticHierarchy           = 0     // AMR turned on
+MaximumRefinementLevel    = 6       // 6 levels of AMR
+MaximumGravityRefinementLevel = 6   // gravity calculated on all levels
+MaximumParticleRefinementLevel = 6  // particle densities not smoothed
+RefineBy                  = 2
+CellFlaggingMethod        = 2 4   // refine on dark matter and baryon mass 
+MinimumEfficiency         = 0.35
+MinimumOverDensityForRefinement = 8.0 8.0   // refine when cell mass = 8 times original cell mass
+MinimumMassForRefinementLevelExponent = 0.0 0.0  // refinement is approximately lagrangian
+
+#
+#  set some global parameters
+#
+GreensFunctionMaxNumber   = 100   // # of greens function at any one time

File doc/manual/source/tutorials/samples/gas_plus_dm_uni_adia.enzo

View file
  • Ignore whitespace
+#
+# ENZO PROBLEM DEFINITION FILE: Unigrid cosmology Simulation including
+#   dark matter and gas, but no further physics (adiabatic gas only)
+#
+#  Written by Brian O'Shea (oshea@msu.edu)
+#
+#  Note: This file is used by Enzo with the command line
+#    'enzo.exe -d gas_plus_dm_uni_adia.enzo'.  Enzo also requires
+#    four binary files that have been generated with inits.exe
+#    and the file gas_plus_dm.inits prior to executing Enzo.  
+#    These files are named GridDensity, GridVelocities, 
+#    ParticlePositions, and ParticleVelocities.
+
+#
+#  define problem
+#
+ProblemType                = 30      // cosmology simulation
+TopGridRank                = 3
+TopGridDimensions          = 128 128 128
+SelfGravity                = 1       // gravity on
+TopGridGravityBoundary     = 0       // Periodic BC for gravity
+LeftFaceBoundaryCondition  = 3 3 3   // same for fluid
+RightFaceBoundaryCondition = 3 3 3
+
+#
+#  problem parameters
+#
+CosmologySimulationOmegaBaryonNow       = 0.04
+CosmologySimulationOmegaCDMNow		= 0.23 
+CosmologyOmegaMatterNow			= 0.27 
+CosmologyOmegaLambdaNow			= 0.73  
+CosmologySimulationDensityName          = GridDensity
+CosmologySimulationVelocity1Name        = GridVelocities
+CosmologySimulationVelocity2Name        = GridVelocities
+CosmologySimulationVelocity3Name        = GridVelocities
+CosmologySimulationParticlePositionName = ParticlePositions
+CosmologySimulationParticleVelocityName = ParticleVelocities
+CosmologySimulationNumberOfInitialGrids = 1
+
+#
+#  define cosmology parameters
+#
+ComovingCoordinates        = 1       // Expansion ON
+CosmologyHubbleConstantNow = 0.71    // in km/s/Mpc
+CosmologyComovingBoxSize   = 20.0   // in Mpc/h
+CosmologyMaxExpansionRate  = 0.015   // maximum allowed delta(a)/a
+CosmologyInitialRedshift   = 99.0      // 
+CosmologyFinalRedshift     = 0.0     //
+GravitationalConstant      = 1       // this must be true for cosmology
+
+#
+#  set I/O and stop/start parameters
+#
+CosmologyOutputRedshift[0] = 99.0 
+CosmologyOutputRedshift[1] = 10.0
+CosmologyOutputRedshift[2] = 5.0  
+CosmologyOutputRedshift[3] = 4.0
+CosmologyOutputRedshift[4] = 3.0
+CosmologyOutputRedshift[5] = 2.0
+CosmologyOutputRedshift[6] = 1.5
+CosmologyOutputRedshift[7] = 1.0
+CosmologyOutputRedshift[8] = 0.75
+CosmologyOutputRedshift[9] = 0.5
+CosmologyOutputRedshift[10] = 0.25
+CosmologyOutputRedshift[11] = 0.0
+
+#
+#  set hydro parameters
+#
+Gamma                  = 1.6667
+HydroMethod            = 0
+DualEnergyFormalism    = 1     // use total & internal energy
+InterpolationMethod    = 1     // SecondOrderA
+PPMDiffusionParameter  = 0     // diffusion off
+CourantSafetyNumber    = 0.5
+FluxCorrection         = 1  // necessary for mass conservation in AMR
+ConservativeInterpolation = 0
+ParticleCourantSafetyNumber = 0.8
+
+#
+#  set cooling and feedback parameters
+#
+RadiativeCooling       = 0   // radiative cooling
+MultiSpecies           = 0   // non-equilibrium primordial cooling/chemistry
+RadiationFieldType     = 0   // UV background (only usable if MultiSpecies=1)
+StarParticleCreation   = 0   
+StarParticleFeedback   = 0
+
+#
+#  set grid refinement parameters
+#
+StaticHierarchy           = 1    // Not dynamic hierarchy
+
+#
+#  set some global parameters
+#
+GreensFunctionMaxNumber   = 100   // # of greens function at any one time

File doc/manual/source/user_guide/EnzoTestSuite.rst

View file
  • Ignore whitespace
 convenience, three pre-created, overlapping sets of tests are
 provided:
 
-1.  The "quick suite" (``--quicksuite=True``).  This set of tests should
-run in a few minutes on a single core of a laptop.  It is composed of
-one-dimensional calculations that test critical physics packages both
+1.  The "quick suite" (``--quicksuite=True``).  This is composed of
+small calculations that test critical physics packages both
 alone and in combination.  The intent of this package is to be run
 relatively frequently (multiple times a day) to ensure that bugs have
-not been introduced during the code development process. 
+not been introduced during the code development process.  All runs 
+in the quick suite use no more than a single processor.  The total 
+run time should be about 25 minutes.  The gold standard results for 
+the quick suite alone can be downloaded 
+`here <http://enzo-project.org/tests/gold_standard_quick.tar.gz>`_.
 
-2.  The "push suite" (``--pushsuite=True``).  This set of tests should run
-in roughly an hour or two on a single core of a laptop or desktop
-machine.  It is composed of one-, two- and three-dimensional
-calculations that test a wider variety of physics modules, both alone
-and in combination, than the "quick suite" described above.  The
-intent of this package is to provide a thorough validation of the code
-prior to changes being pushed to the Google Code mercurial repository.
+2.  The "push suite" (``--pushsuite=True``).  This is a slightly 
+large set of tests, encompassing all of the quick suite and 
+some additional larger simulations that test a wider variety of physics 
+modules.  The intent of this package is to provide a thorough validation 
+of the code prior to changes being pushed to the main repository.  The 
+total run time is roughly 90 minutes and all simulations use only a single 
+processor.  The gold standard results for the push suite can be downloaded 
+`here <http://enzo-project.org/tests/gold_standard_push.tar.gz>`_.
 
-3.  The "full suite" (``--fullsuite=True``).  This set of tests should run in
-no more than 24 hours on 8-16 cores of a Linux cluster, and includes a
-variety of 3D, multiphysics tests that are not in the "quick" and
-"push" suites.  This suite provides the most rigorous possible
-validation of the code in many different situations, and is intended
-to be run prior to major changes being pushed to the Google Code
-repository and prior to public releases of the code.  
-
+3.  The "full suite" (``--fullsuite=True``).  This encompasses essentially 
+all of test simulations contained within the run directory.  This suite 
+provides the most rigorous possible validation of the code in many different 
+situations, and is intended to be run prior to major changes being pushed 
+to the stable branch of the code.  A small number of simulations in the full 
+suite are designed to be run on 2 processors and will take multiple hours to 
+complete.  The total run time is roughly 36 hours.  The gold standard results
+for the full suite can be downloaded 
+`here <http://enzo-project.org/tests/gold_standard_full.tar.gz>`_.
 
 How to run the test suite
 -------------------------
 run the test suite, follow these instructions:
 
 1.  Before running the test suite, you should download the "gold
-standard" datasets from http://enzo-project.org/tests/gold_standard.tar.gz, and untar that file into a
-convenient directory.
+standard" results for the 
+`quick <http://enzo-project.org/tests/gold_standard_quick.tar.gz>`_, 
+`push <http://enzo-project.org/tests/gold_standard_push.tar.gz>`_, or 
+`full <http://enzo-project.org/tests/gold_standard_full.tar.gz>`_ 
+suites and untar that file into a convenient directory.
 
-2.  Compile Enzo.  The gold standard calculations use opt-debug and
-64-bit precision everywhere (``make opt-debug``, ``make
-precision-64``, ``make particles-64``, and ``make
-integers-64``).  If you use significantly different compilation options
+2.  Compile Enzo.  The gold standard calculations use the default 
+compiler settings that can be restored with ``make default``.  
+If you use significantly different compilation options
 (higher-level optimization in particular) you may see somewhat
 different outputs that will result in failed tests.
 
 
 ::
 
-    ./test_runner.py --quicksuite=True  --compare-dir=/path/to/gold_standard \\
+    ./test_runner.py --quicksuite=True  --compare-dir=/path/to/gold_standard \
             --output-dir=/enzo/test/directory
 
 In this comand, ``--quicksuite=True`` instructs the test runner to
 use the quick suite (other possible keyboards here are
-'--pushsuite=True' and '--fullsuite=True').
+``--pushsuite=True`` and ``--fullsuite=True``).
 ``--output-dir=/enzo/test/directory`` instructs the test runner to
 write output to the user-specified directory, and
 ``--compare-dir=/path/to/gold_standard`` instructs the test runner
 to use the set of data files in the listed directory as a gold
-standard for comparison. It is also possible to choose sets of tests
+standard for comparison.  It is also possible to choose sets of tests
 that are sorted by dimensionality, physics modules, runtime, number of
-processors required, and other criteria.  Type ``./test_runner.py
+processors required, and other criteria.  A single named test can be run 
+by giving ``--name=<name of test>``.  Type ``./test_runner.py
 --help`` for a more complete listing.
 
 
 runtime (both in terms of 'short', 'medium', and 'long' calculations,
 and also in terms of an actual wall clock time), and whether the test
 problem is critical (i.e., tests a fundamental piece of the code) or
-not.  A full listing of options can be found in the ``run/README``
-file.
+not.  A general rule for choosing the runtime value is 'short' for runs 
+taking less than 5 minutes, 'medium' for run taking between 5 and 30 minutes, 
+and 'long' for runs taking more than 30 minutes.  A full listing of options 
+can be found in the ``run/README`` file.
 
 Once you have created a new problem type in Enzo and thoroughly
 documented the parameters in the Enzo parameter list, you should
 described in the ``run/README`` file).
 
 4.  Create a "gold standard" set of data for your test problem, by
-running with opt-debug and 64-bit precision for floats and
-integers. Contact Britton Smith (brittonsmith@gmail.com) and arrange
+running with the default compile options. Contact Britton Smith 
+(brittonsmith@gmail.com) and arrange 
 to send him this data.  Please try to minimize the quantity of data
 generated by your calculation by only writing out data at the end of
 the calculation, not during the interim (unless evolution of a
 
 5.  After these datasets are created, send the new gold standard
 datasets to Britton Smith (brittonsmith@gmail.com), who will update
-the gold standard dataset tarball (http://enzo-project.org/tests/gold_standard.tar.gz).
+the gold standards.
 
 6.  Push your Enzo changes to the repository.
 
 It may be necessary for you to generate a set of reference
 calculations for some reason.  If so, here is how you do this.
 
-1.  First, build Enzo using the recommended set of compile options,
-which includes the debug optimization level (``make opt-debug``),
-and 64-bit precision everywhere (``make precision-64``,
-``make particles-64``, and ``make integers-64``).  You will
+1.  First, build Enzo using the default set of compile options.  
+Type ``make default`` to restore the defaults.  You will 
 now have an enzo binary in the ``src/enzo`` directory.
 
 2.  Go into the ``run/`` directory and call test_runner.py without the ``--compare-dir`` directory.  If you
 
 ::
 
-    ./test_runner.py --repo=/path/to/desired/enzo/repo \\
+    ./test_runner.py --repo=/path/to/desired/enzo/repo \
          --output-dir=/path/to/new/reference/directory
 
 Note that you should only use the top-level directory in the
 
 ::
 
-    ./test_runner.py --repo=/path/to/desired/enzo/repo  \\
-         --compare-dir=/path/to/new/reference/directory  \\
+    ./test_runner.py --repo=/path/to/desired/enzo/repo  \
+         --compare-dir=/path/to/new/reference/directory \
          --output-dir=/path/to/output/directory
 
 

File run/Cooling/CoolingTest_Cloudy/CoolingTest_Cloudy.enzo

View file
  • Ignore whitespace
 # Dim 0 - H number density
 # Dim 1 - metallicity
 # Dim 2 - temperature
-TopGridDimensions = 3 5 71
+TopGridDimensions = 5 5 71
 
-CoolingTestMinimumHNumberDensity = 1
-CoolingTestMaximumHNumberDensity = 1
+CoolingTestMinimumHNumberDensity = 0.1
+CoolingTestMaximumHNumberDensity = 1000
 CoolingTestMinimumMetallicity    = 1e-4
 CoolingTestMaximumMetallicity    = 1
 CoolingTestMinimumTemperature    = 10

File run/Cooling/CoolingTest_Cloudy/CoolingTest_Cloudy.enzotest

View file
  • Ignore whitespace
 author = 'Britton Smith'
 answer_testing_script = 'test_cooling.py'
 nprocs = 1
-runtime = 'short'
+runtime = 'medium'
 hydro = False
 gravity = False
 cooling = True
 chemistry = True
 dimensionality = 3
-max_time_minutes = 5
+max_time_minutes = 10
 fullsuite = True
 pushsuite = True
 quicksuite = False

File run/Cooling/CoolingTest_Cloudy/plot.py

View file
  • Ignore whitespace
 axes = pyplot.axes()
 axes.set_xlabel('T [K]')
 axes.set_ylabel('$\Lambda/n_{H}^{2}$ [erg s$^{-1}$ cm$^{3}$]')
-plot_cooling_rate('DD0001/DD0001', [(0, 4)], axes, 
+plot_cooling_rate('DD0001/DD0001', [(1, 4)], axes, 
                   labels=['Cloudy, Z = Z$_{\odot}$'])
 plot_cooling_solutions(axes)
 axes.set_xlim(10, 1e8)

File run/Cooling/CoolingTest_JHW/CoolingTest_JHW.enzo

View file
  • Ignore whitespace
 # Dim 0 - H number density
 # Dim 1 - metallicity
 # Dim 2 - temperature
-TopGridDimensions = 3 5 71
+TopGridDimensions = 5 5 71
 
-CoolingTestMinimumHNumberDensity = 1
-CoolingTestMaximumHNumberDensity = 1
+CoolingTestMinimumHNumberDensity = 0.1
+CoolingTestMaximumHNumberDensity = 1000
 CoolingTestMinimumMetallicity    = 1e-4
 CoolingTestMaximumMetallicity    = 1
 CoolingTestMinimumTemperature    = 10

File run/Cooling/CoolingTest_JHW/CoolingTest_JHW.enzotest

View file
  • Ignore whitespace
 author = 'Britton Smith'
 answer_testing_script = 'test_cooling.py'
 nprocs = 1
-runtime = 'short'
+runtime = 'medium'
 hydro = False
 gravity = False
 cooling = True
 chemistry = True
 dimensionality = 3
-max_time_minutes = 5
+max_time_minutes = 10
 fullsuite = True
 pushsuite = True
 quicksuite = False

File run/Cooling/CoolingTest_JHW/plot.py

View file
  • Ignore whitespace
 axes = pyplot.axes()
 axes.set_xlabel('T [K]')
 axes.set_ylabel('$\Lambda/n_{H}^{2}$ [erg s$^{-1}$ cm$^{3}$]')
-plot_cooling_rate('DD0001/DD0001', [(0, 4)], axes,
+plot_cooling_rate('DD0001/DD0001', [(1, 4)], axes,
                   labels=['JHW, Z = Z$_{\odot}$'])
 plot_cooling_solutions(axes)
 axes.set_xlim(10, 1e8)

File run/test_runner.py

View file
  • Ignore whitespace
             options.gather_dir = options.gather_dir[:-1]
         top_dir = os.path.dirname(options.gather_dir)
         basename = os.path.basename(options.gather_dir)
-        tar_filename = "%s.tar.bz2" % basename
+        tar_filename = "%s.tar.gz" % basename
         os.chdir(top_dir)
         file_list = []
         missing_file_list = []
             print 'Total: %d files missing.' % len(missing_file_list)
             sys.exit(1)
         print "Gathering test results into %s." % os.path.join(top_dir, tar_filename)
-        my_tar = tarfile.open(name=tar_filename, mode='w:bz2')
+        my_tar = tarfile.open(name=tar_filename, mode='w:gz')
         for my_addition in file_list:
             print "Adding %s." % my_addition
             my_tar.add(my_addition)

File src/enzo/Group_WriteAllData.C

View file
  • Ignore whitespace
   /* Combine the top level grids into a single grid for output
      (TempTopGrid is the top of an entirely new hierarchy). */
  
+  int level;
   HierarchyEntry *TempTopGrid;
   CommunicationCombineGrids(TopGrid, &TempTopGrid, WriteTime, CheckpointDump);
  
   LevelHierarchyEntry *LevelArray[MAX_DEPTH_OF_HIERARCHY];
-  if ((HierarchyFileOutputFormat % 2) == 0  || VelAnyl==1 || BAnyl==1) {
-    /* Create LevelArray */
-    for (int level = 0; level < MAX_DEPTH_OF_HIERARCHY; level++)
-      LevelArray[level] = NULL;
-    AddLevel(LevelArray, TempTopGrid, 0);
+  for (level = 0; level < MAX_DEPTH_OF_HIERARCHY; level++)
+    LevelArray[level] = NULL;
 
 #ifndef FAST_SIB
-    if(VelAnyl==1||BAnyl==1){
-      for (int level = 0; level < MAX_DEPTH_OF_HIERARCHY; level++) {
+    if (VelAnyl==1 || BAnyl==1) {
+      AddLevel(LevelArray, TempTopGrid, 0);
+      for (level = 0; level < MAX_DEPTH_OF_HIERARCHY; level++) {
 	HierarchyEntry **Grids;
 	int NumberOfGrids = GenerateGridArray(LevelArray, level, &Grids);
-	if (LevelArray[level] != NULL) {
-	  
-	  if (SetBoundaryConditions(Grids, NumberOfGrids, level, &MetaData, 
-				    Exterior, LevelArray[level]) == FAIL) {
-	    printf("error setboundary");
-	  }}}}
+	if (LevelArray[level] != NULL)
+	  SetBoundaryConditions(Grids, NumberOfGrids, level, &MetaData, 
+				Exterior, LevelArray[level]);
+      }
+    }
 #endif
-  }
   
   // Output Data Hierarchy
 
   if (MyProcessorNumber == ROOT_PROCESSOR) {
 
-    if( HierarchyFileOutputFormat % 2 == 0 )
+    if( HierarchyFileOutputFormat % 2 == 0 ) {
+      AddLevel(LevelArray, TempTopGrid, 0);
       WriteHDF5HierarchyFile(name, TempTopGrid, MetaData, LevelArray);      
+    }
     
     if (HierarchyFileOutputFormat > 0)
       if ((fptr = fopen(hierarchyname, "w")) == NULL) 
 	ENZO_VFAIL("Error opening hierarchy file %s\n", hierarchyname);
   }
 
+  /* Clean-up LevelArray */
+
+  if (LevelArray[0] != NULL) {
+    LevelHierarchyEntry *Temp;
+    for (level = 0; level < MAX_DEPTH_OF_HIERARCHY; level++)
+      while (LevelArray[level] != NULL) {
+	Temp = LevelArray[level]->NextGridThisLevel;
+	delete LevelArray[level];
+	LevelArray[level] = Temp;
+      } // ENDWHILE
+  } // ENDIF
+
   if (Group_WriteDataHierarchy(fptr, MetaData, TempTopGrid,
             gridbasename, GridID, WriteTime, file_id, CheckpointDump) == FAIL)
     ENZO_FAIL("Error in Group_WriteDataHierarchy");

File src/enzo/InterpretCommandLine.C

View file
  • Ignore whitespace
  
 void PrintUsage(char *myname);
 void my_exit(int status);
+void auto_show_compile_options(void);
 void WriteConfigure(FILE *fp);
 
 Eint32 hide_isdigit(Eint32 c);
     /* */
 
       case 'V':
-    if (MyProcessorNumber == ROOT_PROCESSOR)
-      WriteConfigure(stdout);
-    my_exit(EXIT_SUCCESS);
-    break;
+	if (MyProcessorNumber == ROOT_PROCESSOR) {
+	  WriteConfigure(stdout);
+	  auto_show_compile_options();
+	}
+	my_exit(EXIT_SUCCESS);
+	break;
  
 	/* Information output */
  
 	          "      -C(ooling time write only)\n"
                   "      -h(elp)\n"
 	          "      -i(nformation output)\n"
+	          "      -V (show compiler options and flags)\n"
 	          "      -s(tart  index region) dim0 [dim1] [dim2]\n"
 	          "      -e(nd    index region) dim0 [dim1] [dim2]\n"
 	          "      -b(egin  coordinate region) dim0 [dim1] [dim2]\n"

File src/enzo/Make.config.objects

View file
  • Ignore whitespace
         arccosh.o \
         arcsinh.o \
         AssignGridToTaskMap.o \
+        auto_show_compile_options.o \
         auto_show_config.o \
         auto_show_flags.o \
         auto_show_version.o \
         nr_st1.o \
 	NullProblem.o \
 	OneZoneFreefallTestInitialize.o \
-        Options.o \
         OutputAsParticleData.o \
 	OutputCoolingTimeOnly.o \
         OutputFromEvolveLevel.o\

File src/enzo/Make.config.targets

View file
  • Ignore whitespace
            echo "   CONFIG SETTINGS: $*"; \
 	   $(MAKE) show-config; \
 	   $(MAKE) suggest-clean; \
+	elif [ -e Make.settings.$* ]; then \
+           @tmp=.config.temp; \
+	   cat Make.settings.$* > $(MAKE_CONFIG_OVERRIDE); \
+           echo; \
+           echo "   CONFIG SETTINGS: $*"; \
+	   $(MAKE) show-config; \
+	   $(MAKE) suggest-clean; \
         else \
            echo; \
            echo "   No such settings file "'"'"$(HOME)/.enzo/Make.settings.$*"'"'; \

File src/enzo/Make.mach.trestles

View file
  • Ignore whitespace
 
 MACHINE_NOTES = "MACHINE_NOTES for Trestles at SDSC/UCSD: \
 	Load these modules, \
-	'module add intel/11.1 openmpi/1.4.3'"
+	'module add intel/11.1 mvapich2/1.5.1p1'"
 
 #-----------------------------------------------------------------------
 # Compiler settings
 #-----------------------------------------------------------------------
 
-LOCAL_MPI_INSTALL = /home/diag/opt/openmpi/1.4.3/intel/
+LOCAL_MPI_INSTALL = /home/diag/opt/mvapich2/1.5.1p1/intel/
 LOCAL_PYTHON_INSTALL = /home/mturk/yt-x86_64/
 #LOCAL_COMPILER_DIR = /opt/pgi/linux86-64/10.5
 LOCAL_COMPILER_DIR = /opt/intel/Compiler/11.1/072
 
 #LOCAL_LIBS_MACH   = -L$(LOCAL_COMPILER_DIR)/lib \
 #			-lpgf90 -lpgf90_rpm1 -lpgf902 -lpgf90rtl -lpgftnrtl -lrt
-LOCAL_LIBS_MACH  = -L$(LOCAL_COMPILER_DIR)/lib/intel64 -lifcore -lifport
+LOCAL_LIBS_MACH  = -L$(LOCAL_COMPILER_DIR)/lib/intel64 -lifcore -lifport 
 
 
 MACH_LIBS         = $(LOCAL_LIBS_HDF5) $(LOCAL_LIBS_MACH)

File src/enzo/Makefile

View file
  • Ignore whitespace
 #-----------------------------------------------------------------------
 
 .PHONY: autogen
-autogen: svn_version.def auto_show_config.C auto_show_flags.C auto_show_version.C
+autogen: auto_show_config.C auto_show_flags.C auto_show_version.C auto_show_compile_options.C
 
 # Force update of auto_show_config.C
 
 	-@$(MAKE) -s show-version  >& temp.show-version
 	-@awk 'BEGIN {print "#include <stdio.h>\nvoid auto_show_version(FILE *fp) {"}; {print "   fprintf (fp,\""$$0"\\n\");"}; END {print "}"}' < temp.show-version > auto_show_version.C
 
-#-----------------------------------------------------------------------
-# Generate SVN version source file 'svn_version.def'
-#-----------------------------------------------------------------------
+# Force update of auto_show_compile_options.C
 
-# Force update of svn_version.def
-.PHONY: svn_version.def
-svn_version.def:
-	-@$(SVN) identify -i | \
-           awk '{print "#define ENZO_SVN_REVISION","\""$$1"\""}' > svn_version.def
-	-@$(SVN) identify -b | awk '{print "#define ENZO_SVN_BRANCH","\""$$1"\""};' >> svn_version.def 
-	-@if [ ! -s svn_version.def ]; then \
-	printf "#define ENZO_SVN_REVISION 0\n" > svn_version.def; \
-	printf "#define ENZO_SVN_BRANCH \"\"\n" >> svn_version.def; \
-	fi
+.PHONY: auto_show_compile_options.C
+auto_show_compile_options.C:
+	-@python create_config_info.py
 
 #-----------------------------------------------------------------------
 # Generate dependency file
 
 clean:
 	-@rm -f *.so *.o uuid/*.o *.mod *.f *.f90 DEPEND.bak *~ $(OUTPUT) *.exe \
-          auto_show*.C svn_version.def hydro_rk/*.o *.oo hydro_rk/*.oo \
+          auto_show*.C hydro_rk/*.o *.oo hydro_rk/*.oo \
           uuid/*.oo DEPEND TAGS \
           libconfig/*.o \
           python_bridge/problemtype_handler.C \

File src/enzo/Options.C

  • Ignore whitespace
-/***********************************************************************
-/
-/  ENZO Version and Options in Effect
-/
-/  written by: Robert Harkness
-/  date:       May 2008
-/
-************************************************************************/
- 
-#ifdef USE_MPI
-#include <mpi.h>
-#endif
- 
-#include <stdio.h>
-#include <strings.h>
- 
-#include "ErrorExceptions.h"
-#include "macros_and_parameters.h"
-#include "typedefs.h"
-#include "global_data.h"
-#include "Fluxes.h"
-#include "GridList.h"
-#include "ExternalBoundary.h"
-#include "Grid.h"
-#include "Hierarchy.h"
-#include "TopGridData.h"
-#include "LevelHierarchy.h"
-#include "CosmologyParameters.h"
-#include "svn_version.def"
-#include "fortran.def"
- 
-#ifdef MEM_TRACE
-Eint64 mused(void);
-#endif
- 
- 
-int ENZO_OptionsinEffect(void) 
-{
-
-  FILE *opf;
-
-  if (MyProcessorNumber == 0) {
-
-    opf = fopen("Enzo_Options", "w");
-
-    fprintf(opf, "ENZO Options in Effect\n");
-
-    if (ENZO_SVN_REVISION != 0) {
-      fprintf(opf,"=========================\n");
-      fprintf(opf,"Enzo SVN Branch   %s\n",ENZO_SVN_BRANCH);
-      fprintf(opf,"Enzo SVN Revision %s\n",ENZO_SVN_REVISION);
-      fprintf(opf,"=========================\n");
-    }
-
-#ifdef SMALL_INTS
-    fprintf(opf, " 32 bit Integer version\n");
-#endif
-
-#ifdef LARGE_INTS
-    fprintf(opf, " 64 bit Integer version\n");
-#endif
-
-#ifdef CONFIG_PINT_4
-    fprintf(opf, " 32 bit Integers for particle indices\n");
-#endif
-#ifdef CONFIG_PINT_8
-    fprintf(opf, " 64 bit Integers for particle indices\n");
-#endif
-
-#ifdef INITS32
-    fprintf(opf, " 32 bit Integer initial conditions\n");
-#endif
-
-#ifdef INITS64
-    fprintf(opf, " 64 bit Integer initial conditions\n");
-#endif
-
-#ifdef CONFIG_BFLOAT_4
-    fprintf(opf, " Float precision is 32 bits\n");
-#endif
-
-#ifdef CONFIG_BFLOAT_8
-    fprintf(opf, " Float precision is 64 bits\n");
-#endif
-
-#ifdef CONFIG_PFLOAT_4
-    fprintf(opf, " Position and time precision is 32 bits - NOT SUPPORTED!\n");
-#endif
-
-#ifdef CONFIG_PFLOAT_8
-    fprintf(opf, " Position and time precision is 64 bits\n");
-#endif
-
-#ifdef CONFIG_PFLOAT_16
-    fprintf(opf, " Position and time precision is 128 bits\n");
-#endif
-
-    fprintf(opf, "\n");
-    fprintf(opf, "Optimizations in Effect\n");
-
-#ifdef OOC_BOUNDARY
-    fprintf(opf, "  Out-of-core Top Grid boundary conditions\n");
-#endif
-
-#ifdef FAST_SIB
-    fprintf(opf, "  Fast Sibling Locator 1\n");
-#endif
-
-#ifdef FAST_SIB
-    fprintf(opf, "  Fast Sibling Locator 2\n");
-#endif
-
-#ifdef FAST_SIB
-    fprintf(opf, "  Fast Sibling Locator 3\n");
-#endif
-
-#ifdef FAST_SIB
-    fprintf(opf, "  Fast Sibling Locator 4\n");
-#endif
-
-#ifdef FAST_SIB
-    fprintf(opf, "  Fast Sibling Locator 5\n");
-#endif
-
-#ifdef STATIC_SIBLING_LIST
-    fprintf(opf, "  Static allocation of Level Zero Sibling List\n");
-#endif
-
-#ifdef FLUX_FIX
-    fprintf(opf, "  New Flux Correction scheme by Collins & Wagner\n");
-#endif
-
-#ifdef SAB
-    fprintf(opf, "  AccelerationHack by Collins\n");
-#endif
-
-#ifdef USE_DT_LIMIT
-    fprintf(opf, "  Use dt limit in AMR\n");
-#endif
-
-#ifdef UNIGRID
-    fprintf(opf, "  Minimum memory start-up => non-apative mesh only\n");
-#endif
-
-#ifdef HDF5_USE_HDF5_GROUPS
-    fprintf(opf, "  HDF5 groups for packed AMR\n");
-#endif
-
-#ifdef USE_HDF5_OUTPUT_BUFFERING
-    fprintf(opf, "  HDF5 in-core buffering for packed AMR output\n");
-#endif
-
-#ifdef USE_HDF5_INPUT_BUFFERING
-    fprintf(opf, "  HDF5 in-core buffering for packed AMR input\n");
-#endif
-
-#ifdef SINGLE_HDF5_OPEN_ON_INPUT
-    fprintf(opf, "  HDF5 single open on input - no explicit task map\n");
-#endif
-
-#ifdef USE_NEW_RESTART_FORMAT
-    fprintf(opf, "  New hierarchy format\n")
-#endif
-
-#ifdef FORCE_BUFFER_PURGE
-    fprintf(opf, "  Force purge of communication buffers\n");
-#endif
-
-#ifdef FORCE_MSG_PROGRESS
-    fprintf(opf, "  Force message progress with MPI_Barrier calls\n");
-#endif
-
-#ifdef TRANSFER
-    fprintf(opf, "  Adaptive ray tracing enabled\n");
-#else
-    fprintf(opf, "  Adaptive ray tracing disabled\n");
-#endif
-
-#ifdef USE_PYTHON
-    fprintf(opf, "  Inline python enabled\n");
-#else
-    fprintf(opf, "  Inline python disabled\n");
-#endif
-
-#ifdef FAST_SIB
-    fprintf(opf, "  Fast sibiling search enabled\n");
-#else
-    fprintf(opf, "  Fast sibiling search disabled\n");
-#endif
-
-#ifdef USE_HDF4
-    fprintf(opf, "  HDF4 reading enabled\n");
-#else
-    fprintf(opf, "  HDF4 reading disabled\n");
-#endif
-
-#ifdef FLUX_FIX
-    fprintf(opf, "  Flux fix for subgrid siblings enabled\n");
-#else
-    fprintf(opf, "  Flux fix for subgrid siblings disabled\n");
-#endif
-
-#ifdef NEW_GRID_IO
-    fprintf(opf, "  New Grid I/O enabled\n");
-#else
-    fprintf(opf, "  New Grid I/O disabled\n");
-#endif
-
-#ifdef BITWISE_IDENTICALITY
-    fprintf(opf, "  Bitwise-identicality enabled\n");
-#else
-    fprintf(opf, "  Bitwise-identicality disabled\n");
-#endif
-
-
-    fprintf(opf, "\n");
-    fprintf(opf, "Macro and Parameter Definitions\n");
-
-    fprintf(opf, "  MAX_NUMBER_OF_TASKS                 %8d\n", MAX_NUMBER_OF_TASKS);
-    fprintf(opf, "  MAX_NUMBER_OF_NODES                 %8d\n", MAX_NUMBER_OF_NODES);
-#ifdef ENABLE_TASKMAP
-    fprintf(opf, "  MAX_TASKS_PER_NODE                  %8d\n", MAX_TASKS_PER_NODE);
-#endif
-    fprintf(opf, "  MAX_NUMBER_OF_BARYON_FIELDS (>=6)   %8d\n", MAX_NUMBER_OF_BARYON_FIELDS);
-    fprintf(opf, "  MAX_NUMBER_OF_SUBGRIDS              %8d\n", MAX_NUMBER_OF_SUBGRIDS);
-    fprintf(opf, "  MAX_DEPTH_OF_HIERARCHY              %8d\n", MAX_DEPTH_OF_HIERARCHY);
-    fprintf(opf, "  MAX_LINE_LENGTH                     %8d\n", MAX_LINE_LENGTH);
-
-    fprintf(opf, "  MAX_NAME_LENGTH                     %8d\n", MAX_NAME_LENGTH);
-    fprintf(opf, "  MAX_GRID_TAG_SIZE                   %8d\n", MAX_GRID_TAG_SIZE);
-    fprintf(opf, "  MAX_TASK_TAG_SIZE                   %8d\n", MAX_TASK_TAG_SIZE);
-    fprintf(opf, "  MAX_GROUP_TAG_SIZE                  %8d\n", MAX_GROUP_TAG_SIZE);
-    fprintf(opf, "  MAX_CYCLE_TAG_SIZE                  %8d\n", MAX_CYCLE_TAG_SIZE);