Welcome to pyFlash documentation

The FLASH code is a publicly available, high performance computing, multi-physics application code. FLASH consists of inter-operable modules that can be combined to generate different applications. The FLASH architecture allows arbitrarily many alternative implementations of its components to co-exist and interchange with each other. A simple and elegant mechanism exists for customization of code functionality without the need to modify the core implementation of the source. A built-in unit test framework combined with regression tests that run nightly on multiple platforms verify the code.

pyFlash extends this modularity by allowing users to define certain runtime behavior of their simulations using code written with Python. Currently supported features include:

  • Controlling runtime parameters using a python script flashPar.py as a replacement for flash.par parfiles.

  • Reading setup arguments from lists defined in flashPar.py

  • Drop in replacements for simulation customizations that previously were doine with Fortran source files

    • Initial conditions

    • Adjusting evolution

    • user defined boundary conditions