1.1 What's New in FLASH4

This Guide describes the release version 4.8 of FLASH4. FLASH4 includes all the well tested capabilities of FLASH3. There were a few modules in the official releases of FLASH2 which were added and tested by local users, but did not have standardized setups that could be used to test them after the migration to FLASH3. Those modules are not included in the official releases of FLASH3 or FLASH4, however, they are being made available to download ”as is” from the Flash Center's website. We have ensured that they have been imported into FLASH4 to the extent that they conform to the architecture and compile. We cannot guarantee that they work correctly; they are meant to be useful starting points for users who need their functionality. We also welcome setups contributed by the users that can meaningfully test these units. If such setups become available to us, the units will be released in future.

In terms of the code architecture, FLASH4 closely follows FLASH3. The major changes from FLASH3 are several new capabilities in both physics solvers and infrastructure. Major effort went into the design of the FLASH3 architecture to ensure that the code can be easily modified and extended by internal as well as external developers. Each code unit in FLASH4, like in FLASH3 has a well defined interface and follows the rules for inheritance and encapsulation defined in FLASH3. One of the largest achievements of FLASH3 was the separation of the discretized `grid' architecture from the actual physics. This untangling required changes in the deepest levels of the code, but has demonstrated its worth by allowing us to import a new AMR package Chombo into the code.

Because of the increasing importance of software verification and validation, the Flash code group has developed a test-suite application for FLASH3. The application is called FlashTest and can be used to setup, compile, execute, and test a series of FLASH code simulations on a regular basis. FlashTest is available without a license and can be downloaded from the Code Support Web Page. There is also a more general open-source version of FlashTest which can be used to test any software in which an application is configured and then executed under a variety of different conditions. The results of the tests can then be visualized in a browser with FlashTestView, a companion to FlashTest that is also open-source.

Many but not all parts of FLASH4 are backwards compatible with FLASH2, and they are all compatible with FLASH3. The Flash code group has written extensive documentation detailing how to make the transition from FLASH2 to FLASH3 as smooth as possible. The user should follow the "Name changes from FLASH2 to FLASH3” link on the Code Support Web Page for help on transitioning to FLASH4 from FLASH2. The transition from FLASH3 to FLASH4 does not require much effort from the users except in any custom implementation they may have.


The new capabilities in FLASH4 that were not included in FLASH3 include

The enhancements and bug fixes to the existing capabilities since FLASH4-beta release are :

The new capabilities in FLASH4.2 ... FLASH4.2.2 since FLASH4.0.1 include:

The new capabilities in FLASH4.3 since FLASH4.2.2 include:

Important changes in FLASH4.4 since FLASH4.3 include:

New additions in FLASH4.5 since FLASH4.4 include:

New additions in FLASH4.6 since FLASH4.5 include:

These are the changes from FLASH4.6 to FLASH4.6.1:

These are the changes from FLASH4.6.1 to FLASH4.6.2:

These are the changes from FLASH4.6.2 to FLASH4.7:

These are the changes from FLASH4.7 to FLASH4.7.1:

These are the changes from FLASH4.7.1 to FLASH4.8

The following features are provided on an EXPERIMENTAL basis. They may only work in limited circumstances and/or have not yet been tested to our satisfaction.