Enzo Documentation
Brian and Dave have written an outline for proposed Enzo documentation, that aims to describe what is inside of Enzo, how to use it, and how to add to it. It will likely turn into at least two documents, and will be fleshed out sometime soon.
This document has 4 sections:
1.) Method Paper notes
2.) Developer Guide notes
3.) Supplimentary Goodies notes
4.) Outstanding Issues.
---------------
1.) Method Paper
---------------
Notes on the enzo method paper. 12/15/05. dcc, bwo
I. Intro.
II. Primary Physicics Algorithms
A.) Dark Matter, Unigrid
B.) Hydro, Unigrid
i.) PPM (Genearl algorithm, Dual Energy, Cosmology)
ii.) Zeus
C.) AMR, General Data structure
i.) Grid object <details?)
ii.) Hierarchy (how to traverse?)
iii.) Chaining Mesh
iv.) time stepping
v.) refinement criteria
D.) Dark Matter, AMR
i.) how it works (multilevel poisson solver)
ii.) Convergent to soln
E.) Hydro AMR
i.) Flux Correction
ii.) Projection/Interpolation
iii.) Zeus/PPM differences
III) Secondary Physics Algorithms
A.) Cooling
i.) Equilibrium
ii.) Non Equilibrium
B.) Chemistry
C.) Star Formation and Feeback
D.) Turbulent Driving
E.) Cosmological ICs (how it works, reference other papers)
F.) Non-Cosmo IC's
IV.) Non Physics Algorithms
A.) Tracer Particles
B.) IO
C.) Parallelism
V.) Test Problems (merge into relevant sections?)
A.) DM
B.) Hydro
i.) PPM
ii.) Zeus
C.) Chemistry
D.) Tracer Particles
VI.) Discussion, Conclusions
--------------
2.) Developer Guide
---------------
In this world, User and Developer are pretty similar. We've discussed 3
levels of articulation for this developer guide. 12/16/05, dcc, bwo
I) How To Get Enzo To Do What It Already Does
(this is mostly taken care of on the website.)
A.) How to download
B.) How to compile
C.) Basic parameter file (necessary parameters)
D.) Basic vis tools (?)
II) How to setup new IC/BC not already implimented. (New Problem, old physics)
A.) Non PRGIO
B.) PRGIO
C.) Dirichlet (inflow) BC
III.) How to add physics
A.) "Simple", things that only intercect the flow at one point
i.) new cooling
ii.) SF, Feedback
iii.) Stuff like that.
B.) "Complicated." Things that intersect at multiple points
i.) Turbulence
ii.) Thermal Conduction
iii.) etc.
C.) "Sweet Jesus."
i.) MHD
ii.) Rad Hydro
iii.) etc.
IV.) Enzo Coding (sub) Standard
A.) How to install things without making enemies.
V.) Analysis Library
---------------
3.) Supplimentary Goodies
---------------
Addtional things that should be released with the code, all housed in
or liked to from Plone.
I.) Wiki
for the user mailing list
User contributions ('hey, this breaks')
II.) Repository for user code, analysis tools.
III.) Code Browser
IV. ) Vis Tools
---------------
4.) Outstanding Issues.
---------------
Issues that still need discussion
I.) What vis to provide. Some basic tools should be given.
In no particular order, some options are
a.) Jacques
b.) Visit
c.) C++ vis tools
d.) Basic IDL scripts
II.) CODING STANDARD.
How are we going to start using the same damned version?
I propose LOTS OF IFDEFS
III.) What is actually in the code: includes
a.) What gravity
b.) HDF4?
c.) Anscillary code issues. (include 'level' in grid,