Hermes-3: Multi-component plasma simulations with BOUT++
A new open source tool for fluid simulation of multi-component plasmas is presented, based on a flexible software design that is applicable to scientific simulations in a wide range of fields. Hermes-3 is built on plasma simulation framework BOUT++, consolidating earlier SD1D and Hermes models into a single code that can be configured at run-time to solve plasma models in 1D, 2D or 3D, either for transport (steady-state) or turbulent (time-evolving) problems, with an arbitrary number of ion and neutral species. We describe the improved numerical algorithms and software design that have been implemented in Hermes-3. To demonstrate the capabilities of this tool, applications relevant to the boundary of tokamak plasmas are presented: 1D simulations of diveror plasmas evolving equations for all charge states of neon and deuterium; 2D transport simulations of tokamak equilibria in single-null X-point geometry with plasma ion and neutral atom species; and simulations of the time-dependent propagation of plasma filaments (blobs). Hermes-3 is publicly available on Github under the GPL-3 open source license. The repository includes documentation and a suite of unit, integrated and convergence tests.