Next:
0. License
Contents
Index
FLASH User's Guide
Version 3.2
July 2009 (last updated July 2, 2009)
ASC FLASH Center
University of Chicago
0
. License
0
.
1
Acknowledgments in Publication
0
.
2
Full License Agreement
Contents
1
. Introduction
1
.
1
What's New in FLASH3
1
.
2
What's New in This Release
1
.
3
Known Issues in This Release
1
.
4
About the User's Guide
I
. Getting Started
2
. Quick Start
2
.
1
System requirements
2
.
2
Unpacking and configuring FLASH for quick start
2
.
3
Running FLASH
3
. Setting Up New Problems
3
.
1
Creating a
Config
file
3
.
2
Creating a
Makefile
3
.
3
Creating a
Simulation_data.F90
3
.
4
Creating a
Simulation_init.F90
3
.
5
Creating a
Simulation_initBlock.F90
3
.
6
The runtime parameter file (
flash.par
)
II
. FLASH Software System
4
. Overview of FLASH architecture
4
.
1
FLASH Inheritance
4
.
2
Unit Architecture
4
.
2
.
1
Stub Implementations
4
.
2
.
2
Subunits
4
.
2
.
3
Unit Data Modules,
_init
, and
_finalize
routines
4
.
2
.
4
Private Routines: kernels and helpers
4
.
3
Unit Test Framework
5
. The FLASH configuration script (
setup
)
5
.
1
Basic Setup Options
5
.
2
Advanced Setup Options
5
.
3
Using Shortcuts
5
.
4
Setup Variables and Preprocessing
Config
Files
5
.
5
Config
Files
5
.
5
.
1
Configuration file syntax
5
.
6
Creating a Site-specific
Makefile
5
.
7
Files Created During the
setup
Process
5
.
7
.
1
Informational files
5
.
7
.
2
Code generated by the
setup
call
5
.
7
.
3
Makefiles generated by
setup
6
. The
Flash.h
file
6
.
1
UNK
,
FACE(XYZ)
Dimensions
6
.
2
Property Variables, Species and Mass Scalars
6
.
3
Fluxes
6
.
4
Scratch Grid Vars
6
.
5
Fluid Variables Example
6
.
6
Particles
6
.
6
.
1
Particles Types
6
.
6
.
2
Particles Properties
6
.
7
Other Preprocessor Symbols
III
. Driver Unit
7
. Driver Unit
7
.
1
Driver Routines
7
.
1
.
1
Driver_initFlash
7
.
1
.
2
Driver_evolveFlash
7
.
1
.
3
Driver_finalizeFlash
7
.
1
.
4
Driver accessor functions
IV
. Infrastructure Units
8
. Grid Unit
8
.
1
Overview
8
.
2
GridMain
Data Structures
8
.
3
Computational Domain
8
.
4
Boundary Conditions
8
.
4
.
1
Boundary Condition Types
8
.
4
.
2
Boundary Conditions at Obstacles
8
.
4
.
3
Implementing Boundary Conditions
8
.
5
Uniform Grid
8
.
5
.
1
FIXEDBLOCKSIZE Mode
8
.
5
.
2
NONFIXEDBLOCKSIZE mode
8
.
6
Adaptive Mesh Refinement (AMR) Grid
8
.
6
.
1
Additional Data Structures
8
.
6
.
2
Grid Interpolation
8
.
6
.
3
Refinement
8
.
6
.
4
Nonpermanent Guard Cells
8
.
7
GridMain Usage
8
.
8
GridParticles
8
.
8
.
1
GridParticlesMove
8
.
8
.
2
GridParticlesMapToMesh
8
.
9
GridSolvers
8
.
9
.
1
Pfft
8
.
9
.
2
Poisson equation
8
.
9
.
3
Using the Poisson solvers
8
.
10
Grid Geometry
8
.
10
.
1
Understanding Curvilinear
8
.
10
.
2
Choosing a Geometry
8
.
10
.
3
Geometry Information in Code
8
.
10
.
4
Available Geometries
8
.
10
.
5
Conservative Prolongation/Restriction on Non-Cartesian Grids
8
.
11
Unit Test
9
. IO Unit
9
.
1
IO Implementations
9
.
2
Output Files
9
.
2
.
1
Checkpoint files - Restarting a Simulation
9
.
2
.
2
Plotfiles
9
.
2
.
3
Particle files
9
.
2
.
4
Integrated Grid Quantities - flash.dat
9
.
2
.
5
General Runtime Parameters
9
.
3
Restarts and Runtime Parameters
9
.
4
Output Scalars
9
.
5
Output User-defined Arrays
9
.
6
Output Grid Variables
9
.
7
Face-Centered Data
9
.
8
Output Filenames
9
.
9
Output Formats
9
.
9
.
1
HDF5
9
.
9
.
2
Parallel-NetCDF
9
.
9
.
3
Direct IO
9
.
9
.
4
Output Side Effects
9
.
10
Working with Output Files
9
.
11
Unit Test
9
.
11
.
1
Online tips for working with the IO Unit
10
. Runtime Parameters Unit
10
.
1
Defining Runtime Parameters
10
.
2
Identifying Valid Runtime Parameters
10
.
3
Routine Descriptions
10
.
4
Example Usage
11
. Multispecies Unit
11
.
1
Defining Species
11
.
2
Initializing Species Information in
Simulation_initSpecies
11
.
3
Routine Descriptions
11
.
4
Example Usage
11
.
5
Unit Test
12
. Physical Constants Unit
12
.
1
Available Constants and Units
12
.
2
Applicable Runtime Parameters
12
.
3
Routine Descriptions
12
.
4
Unit Test
V
. Physics Units
13
. Hydrodynamics Units
13
.
1
Gas hydrodynamics
13
.
1
.
1
Usage
13
.
1
.
2
The piecewise-parabolic method (PPM)
13
.
1
.
3
The unsplit hydro solver
13
.
2
Relativistic hydrodynamics (RHD)
13
.
2
.
1
Overview
13
.
2
.
2
Equations
13
.
2
.
3
Relativistic Equation of State
13
.
2
.
4
Additional Runtime Parameter
13
.
3
Magnetohydrodynamics (MHD)
13
.
3
.
1
Description
13
.
3
.
2
Usage
13
.
3
.
3
Algorithm: The Eight-wave Solver
13
.
3
.
4
Algorithm: The Unsplit Staggered Mesh Solver
13
.
3
.
5
Non-ideal MHD
14
. Equation of State Unit
14
.
1
Introduction
14
.
2
Gamma Law and Multigamma
14
.
2
.
1
Ideal Gamma Law for Relativistic Hydrodynamics
14
.
3
Helmholtz
14
.
4
Usage
14
.
4
.
1
Initialization
14
.
4
.
2
Runtime Parameters
14
.
4
.
3
Direct and Wrapped Calls
14
.
5
Unit Test
15
. Local Source Terms
15
.
1
Burn Unit
15
.
1
.
1
Algorithms
15
.
1
.
2
Reaction networks
15
.
1
.
3
Detecting shocks
15
.
1
.
4
Energy generation rates and reaction rates
15
.
1
.
5
Temperature-based timestep limiting
15
.
2
Ionization Unit
15
.
2
.
1
Algorithms
15
.
2
.
2
Usage
15
.
3
Stir Unit
15
.
4
Diffuse Unit
16
. Gravity Unit
16
.
1
Introduction
16
.
2
Externally Applied Fields
16
.
2
.
1
Constant Gravitational Field
16
.
2
.
2
Plane-parallel Gravitational field
16
.
2
.
3
Gravitational Field of a Point Mass
16
.
3
Self-gravity
16
.
3
.
1
Coupling Gravity with Hydrodynamics
16
.
4
Usage
16
.
5
Unit Tests
17
. Particles Unit
17
.
1
Time Integration
17
.
1
.
1
Active Particles
17
.
1
.
2
Passive Particles
17
.
2
Mesh/Particle Mapping
17
.
2
.
1
Quadratic Mesh Mapping
17
.
2
.
2
Cloud in Cell Mapping
17
.
3
Using the Particles Unit
17
.
3
.
1
Particles Runtime Parameters
17
.
3
.
2
Particle Attributes
17
.
3
.
3
Particle I/O
17
.
3
.
4
Unit Tests
18
. Cosmology Unit
18
.
1
Algorithms and Equations
18
.
2
Using the Cosmology unit
18
.
3
Unit Test
19
. Material Properties Units
19
.
1
Thermal Conductivity
19
.
2
Magnetic Resistivity
19
.
2
.
1
Constant resistivity
19
.
3
Viscosity
19
.
4
Mass Diffusivity
VI
. Monitor Units
20
. Logfile Unit
20
.
1
Meta Data
20
.
2
Runtime Parameters, Physical Constants, and Multispecies Data
20
.
3
Accessor Functions and Timestep Data
20
.
4
Performance Data
20
.
5
Example Usage
21
. Timer and Profiler Units
21
.
1
Timers
21
.
1
.
1
MPINative
21
.
1
.
2
Tau
21
.
2
Profiler
VII
. Simulation Units
22
. The Supplied Test Problems
22
.
1
Hydrodynamics Test Problems
22
.
1
.
1
Sod Shock-Tube
22
.
1
.
2
Variants of the Sod Problem in Curvilinear Geometries
22
.
1
.
3
Interacting Blast-Wave
Blast2
22
.
1
.
4
Sedov Explosion
22
.
1
.
5
Isentropic Vortex
22
.
1
.
6
Wind Tunnel With a Step
22
.
1
.
7
Driven Turbulence
StirTurb
22
.
1
.
8
Relativistic Sod Shock-Tube
22
.
1
.
9
Relativistic Two-dimensional Riemann
22
.
2
Magnetohydrodynamics Test Problems
22
.
2
.
1
Brio-Wu MHD Shock Tube
22
.
2
.
2
Orszag-Tang MHD Vortex
22
.
2
.
3
MHD Rotor
22
.
2
.
4
MHD Current Sheet
22
.
2
.
5
Field Loop
22
.
2
.
6
3D MHD Blast
22
.
3
Gravity Test Problems
22
.
3
.
1
Jeans Instability
22
.
3
.
2
Homologous Dust Collapse
22
.
3
.
3
Huang-Greengard Poisson Test
22
.
3
.
4
MacLaurin
22
.
4
Particles Test Problems
22
.
4
.
1
Two-particle
Orbit
22
.
4
.
2
Zel'dovich Pancake
22
.
4
.
3
Modified Huang-Greengard Poisson Test
22
.
5
Burn Test Problem
22
.
5
.
1
Cellular Nuclear Burning
22
.
6
Other Test Problems
22
.
6
.
1
The non-equilibrium ionization test problem
22
.
6
.
2
The Delta-Function Heat Conduction Problem
VIII
. Tools
22
.
7
VisIt
23
. Serial FLASH Output Comparison Utility (
sfocu
)
23
.
1
Building
sfocu
23
.
2
Using
sfocu
24
. FLASH IDL Routines (
fidlr3.0
)
24
.
1
Installing and Running
fidlr3.0
24
.
1
.
1
Setting Up
fidlr3.0
Environment Variables
24
.
1
.
2
Running IDL
24
.
2
xflash3
: A Widget Interface to Plotting FLASH Datasets
24
.
2
.
1
File Menu
24
.
2
.
2
Defaults Menu
24
.
2
.
3
Colormap Menu
24
.
2
.
4
X/Y plot count Menu
24
.
2
.
5
Plotting options available from the GUI
24
.
2
.
6
Plotting buttons
24
.
3
Comparing two datasets
References
Index
About this document ...
Paul Rich 2009-07-02