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
V. Physics Units
13. 3T Capabilities for Simulation of HEDP Experiments
14. Hydrodynamics Units
14.1 Gas hydrodynamics
14.2 Relativistic hydrodynamics (RHD)
14.3 Magnetohydrodynamics (MHD)
14.4 Radiation-Flux-Limiter Aware Hydrodynamics
15. Incompressible Navier-Stokes Unit
16. Equation of State Unit
16.1 Introduction
16.2 Gamma Law and Multigamma
16.3 Helmholtz
16.4 Multitemperature extension for Eos
16.5 MultiFluid
16.6 Usage
16.7 Unit Test
17. Local Source Terms
17.1 Burn Unit
17.2 Ionization Unit
17.3 Stir Unit
17.4 Energy Deposition Unit
17.5 Heatexchange
17.6 Flame
17.7 Turbulence Measurement
17.8 Circuit
18. Diffusive Terms
18.1 Diffuse Unit
19. Gravity Unit
19.1 Introduction
19.2 Externally Applied Fields
19.3 Self-gravity
19.4 Usage
19.5 Unit Tests
20. Particles Unit
20.1 Time Integration
20.2 Mesh/Particle Mapping
20.3 Using the Particles Unit
20.4 Sink Particles
21. Cosmology Unit
21.1 Algorithms and Equations
21.2 Using the Cosmology unit
21.3 Unit Test
22. Material Properties Units
22.1 Thermal Conductivity
22.2 Magnetic Resistivity
22.3 Viscosity
22.4 Thermoelectric Coefficients
22.5 Opacity
22.6 Mass Diffusivity
23. Physics Utilities
23.1 PlasmaState
24. Radiative Transfer Unit
24.1 Multigroup Diffusion
VI. Monitor Units
25. Logfile Unit
25.1 Meta Data
25.2 Runtime Parameters, Physical Constants, and Multispecies Data
25.3 Accessor Functions and Timestep Data
25.4 Performance Data
25.5 Example Usage
26. Timer and Profiler Units
26.1 Timers
26.2 Profiler
VII. Diagnostic Units
27. Proton Imaging Unit
28. Proton Emission Unit
29. Thomson Scattering Unit
29.1 Thomson Scattering including Ray Tracing and Deflection
29.2 Simple Thomson Scattering without Ray Tracing
30. X-ray Imaging Unit
VIII. Numerical Tools Units
31. Interpolate Unit
31.1 Introduction
31.2 Piecewise Cubic Interpolation
31.3 Usage
32. Roots Unit
32.1 Introduction
32.2 Roots of Quadratic Polynomials
32.3 Roots of Cubic Polynomials
32.4 Roots of Quartic Polynomials
32.5 Usage
32.6 Unit Tests
33. RungeKutta Unit
33.1 Introduction
33.2 Runge Kutta Integration
33.3 Usage
33.4 Unit Tests
IX. Simulation Units
34. The Supplied Test Problems
34.1 Hydrodynamics Test Problems
34.2 Magnetohydrodynamics Test Problems
34.3 Gravity Test Problems
34.4 Particles Test Problems
34.5 Burn Test Problem
34.6 RadTrans Test Problems
34.7 Other Test Problems
34.8 3T Shock Simulations
34.9 Matter+Radiation Simulations
X. Tools
35. VisIt
36. Serial FLASH Output Comparison Utility (sfocu)
36.1 Building sfocu
36.2 Using sfocu
37. Drift
37.1 Introduction
37.2 Enabling drift
37.3 Typical workflow
37.4 Caveats and Annoyances
38. FLASH IDL Routines (fidlr3.0)
38.1 Installing and Running fidlr3.0
38.2 xflash3: A Widget Interface to Plotting FLASH Datasets
38.3 Comparing two datasets
39. convertspec3d
39.1 Installation
39.2 Usage
XI. Going Further with FLASH
40. Adding new solvers
41. Porting FLASH to other machines
41.1 Writing a Makefile.h
42. Multithreaded FLASH
42.1 Overview
42.2 Threading strategies
42.3 Running multithreaded FLASH
42.4 Verifying correctness
42.5 Performance results
42.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