Next:
1. Introduction
Up:
flash4_ug
Previous:
0.2 Full License Agreement
Index
Contents
0. License
0.1 Acknowledgments in Publication
0.2 Full License Agreement
1. Introduction
1.1 What's New in FLASH4
1.2 External Contributions
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 Alternative Configuration With a Docker Image
2.4 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 Creating a Simulation_freeUserArrays.F90
3.7 The runtime parameter file (flash.par)
3.8 Running your simulation
II. The FLASH Software System
4. Overview of FLASH architecture
4.1 FLASH Inheritance
4.2 Unit Architecture
4.3 Unit Test Framework
5. The FLASH configuration script (setup)
5.1 Setup Arguments
5.2 Comprehensive List of Setup Arguments
5.3 Using Shortcuts
5.4 Setup Variables and Preprocessing Config Files
5.5 Config Files
5.6 Creating a Site-specific Makefile
5.7 Files Created During the setup Process
5.8 Setup a hybrid MPI+OpenMP FLASH application
5.9 Setup a FLASH+Chombo application
5.10 Setup a FLASH application with cmake
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 Vars
6.5 Fluid Variables Example
6.6 Particles
6.7 Non-Replicated Variable Arrays
6.8 Other Preprocessor Symbols
III. Driver Unit
7. Driver Unit
7.1 Driver Routines
IV. Infrastructure Units
8. Grid Unit
8.1 Overview
8.2 GridMain Data Structures
8.3 Computational Domain
8.4 Boundary Conditions
8.5 Uniform Grid
8.6 Adaptive Mesh Refinement (AMR) Grid with Paramesh
8.7 Chombo
8.8 GridMain Usage
8.9 GridParticles
8.10 GridSolvers
8.11 Grid Geometry
8.12 Unit Test
9. IO Unit
9.1 IO Implementations
9.2 Output Files
9.3 Restarts and Runtime Parameters
9.4 Output Scalars
9.5 Output User-defined Arrays
9.6 Output Scratch Variables
9.7 Face-Centered Data
9.8 Output Filenames
9.9 Output Formats
9.10 Working with Output Files
9.11 Unit Test
9.12 Chombo
9.13 Derived data type I/O
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 Specifying Constituent Elements of a Species
11.4 Alternative Method for Defining Species
11.5 Routine Descriptions
11.6 Example Usage
11.7 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
13. Cpp & Python units
13.1 Cpp
13.2 Python
V. Physics Units
14. 3T Capabilities for Simulation of HEDP Experiments
15. Hydrodynamics Units
15.1 Gas hydrodynamics
15.2 Relativistic hydrodynamics (RHD)
15.3 Magnetohydrodynamics (MHD)
15.4 Radiation-Flux-Limiter Aware Hydrodynamics
16. Incompressible Navier-Stokes Unit
17. Equation of State Unit
17.1 Introduction
17.2 Gamma Law and Multigamma
17.3 Helmholtz
17.4 Multitemperature extension for Eos
17.5 MultiFluid
17.6 Usage
17.7 Unit Test
18. Local Source Terms
18.1 Burn Unit
18.2 Ionization Unit
18.3 Stir Unit
18.4 Energy Deposition Unit
18.5 Heatexchange
18.6 Flame
18.7 Turbulence Measurement
18.8 Circuit
19. Diffusive Terms
19.1 Diffuse Unit
20. Gravity Unit
20.1 Introduction
20.2 Externally Applied Fields
20.3 Self-gravity
20.4 Usage
20.5 Unit Tests
21. Particles Unit
21.1 Time Integration
21.2 Mesh/Particle Mapping
21.3 Using the Particles Unit
21.4 Sink Particles
22. Cosmology Unit
22.1 Algorithms and Equations
22.2 Using the Cosmology unit
22.3 Unit Test
23. Material Properties Units
23.1 Thermal Conductivity
23.2 Magnetic Resistivity
23.3 Viscosity
23.4 Thermoelectric Coefficients
23.5 Opacity
23.6 Mass Diffusivity
24. Physics Utilities
24.1 PlasmaState
25. Radiative Transfer Unit
25.1 Multigroup Diffusion
VI. Monitor Units
26. Logfile Unit
26.1 Meta Data
26.2 Runtime Parameters, Physical Constants, and Multispecies Data
26.3 Accessor Functions and Timestep Data
26.4 Performance Data
26.5 Example Usage
27. Timer and Profiler Units
27.1 Timers
27.2 Profiler
VII. Diagnostic Units
28. Proton Imaging Unit
29. Proton Emission Unit
30. Thomson Scattering Unit
30.1 Thomson Scattering including Ray Tracing and Deflection
30.2 Simple Thomson Scattering without Ray Tracing
31. X-ray Imaging Unit
VIII. Numerical Tools Units
32. Interpolate Unit
32.1 Introduction
32.2 Piecewise Cubic Interpolation
32.3 Usage
33. Roots Unit
33.1 Introduction
33.2 Roots of Quadratic Polynomials
33.3 Roots of Cubic Polynomials
33.4 Roots of Quartic Polynomials
33.5 Usage
33.6 Unit Tests
34. RungeKutta Unit
34.1 Introduction
34.2 Runge Kutta Integration
34.3 Usage
34.4 Unit Tests
IX. Simulation Units
35. The Supplied Test Problems
35.1 Hydrodynamics Test Problems
35.2 Magnetohydrodynamics Test Problems
35.3 Gravity Test Problems
35.4 Particles Test Problems
35.5 Burn Test Problem
35.6 RadTrans Test Problems
35.7 Other Test Problems
35.8 3T Shock Simulations
35.9 Matter+Radiation Simulations
X. Tools
36. VisIt
37. Serial FLASH Output Comparison Utility (sfocu)
37.1 Building sfocu
37.2 Using sfocu
38. Drift
38.1 Introduction
38.2 Enabling drift
38.3 Typical workflow
38.4 Caveats and Annoyances
39. FLASH IDL Routines (fidlr3.0)
39.1 Installing and Running fidlr3.0
39.2 xflash3: A Widget Interface to Plotting FLASH Datasets
39.3 Comparing two datasets
40. convertspec3d
40.1 Installation
40.2 Usage
XI. Going Further with FLASH
41. Adding new solvers
42. Porting FLASH to other machines
42.1 Writing a Makefile.h
43. Multithreaded FLASH
43.1 Overview
43.2 Threading strategies
43.3 Running multithreaded FLASH
43.4 Verifying correctness
43.5 Performance results
43.6 Conclusion
Index
Subsections
1
. Introduction
1
.
1
What's New in FLASH4
1
.
2
External Contributions
1
.
3
Known Issues in This Release
1
.
4
About the User's Guide