I am very happy to announce the release of BOUT++ v4.3.0! This is a feature release and is backwards compatible with v4.2. The headline features are:

  • New derivatives machinery allows native vectorisation where possible, as well as OpenMP parallelisation
  • We now handle both staggered and field-aligned Fields more consistently, with more checking that operations make sense and are done in the correct space or at the correct location
  • Multiple parallel slices (the new name for “yup” and “ydown”) re-enables 4th-order central differencing in the y-direction
  • Up to 10% faster over v4.2.2!

We have removed a few deprecated features, which you can read in the change summary below.

You can read a summary of all the changes and download a tarball here: https://github.com/boutproject/BOUT-dev/releases/tag/v4.3.0

You can cite this version using this DOI: https://zenodo.org/record/3518905

Many thanks for all the people who contributed to this version, including those who submitted bug reports!

The plan now for BOUT++ is to start a new major version, with the opportunity to redesign some parts of the library in a potentially backwards incompatible way. We intend to support v4 at least until the release of v5.0, backporting new features where possible, and providing a route for upgrading to the next version. With that in mind, I would like to strongly recommend sticking to v4.3 for production simulations, and only using the “next” branch for development work.