Here you can find a list of known problems and bugs in BHAC. Please have a look at this list before reporting new issues to the developers. We are working to gradually solve all of these inconveniences as quickly as time permits.
Type mismatch when compiling with gfortran10 [solved]
Version 10 of gfortran has implemented additional type checks that conflict with the interfaces of MPI functions, and produce compilation errors of the kind of
type of ‘mpi_allreduce’ does not match original declaration
These additional checks can be avoided by configuring the code with
$BHAC_DIR/setup.pl -arch=gfortran10
before compilation. This option just adds the compiler flag -fallow-argument-mismatch , which treats these errors as warnings. The problem is no longer present in version 11 of gfortran, which also treats them as warnings.
Kracken and gfortran 9.3.0 [Solved]
For versions of BHAC previous to June 5th, 2020, compiled with gfortran 9.3.0 (default in Ubuntu 20.04), the code fails before producing any snapshot output, giving error messages similar to:
#kracken>:*igets* variable cmd_i undefined #kracken>:*igets* variable cmd_if undefined #kracken>:*igets* variable cmd_restart undefined ...etc...
On June 5th, 2020, this issue was solved by replacing the calls to the kracken module to parse command line arguments by GET_COMMAND_ARGUMENT (Fortran 2003 standard and later). If you experience this error, we kindly recommend to check out the most recent version form the BHAC repository.
Coordinates in slices [Solved]
Slice files written in ascii display always Cartesian-like coordinates even though coordinate labels correspond to other coordinate systems. This is convenient for plotting with some visualization programs, but it is inconvenient for other applications. From August 16th, 2020, the switches ‘convert_nocartesian‘ and ‘slice_nocartesian‘ have been added to control independently the coordinates of the slice and the converted snapshot files. The parameter ‘nocartesian‘ is now deprecated.
Blocky patterns with rk4
The Runge-Kutta 4 time integrator (typeadvance = ‘rk4’) is broken. A spurious pattern reflecting the block decomposition of the domain arises when selecting this option.
Synge gas EOS is broken [Solved in v1.1]
The Synge equation of state (-eos=synge) is broken. We recommend not to use it until further notice. Please upgrade to version 1.1 where we fixed the Synge gas.
Failures in DivB=0 [Cartesius was decomissioned, so I guess its solved 🙂 ]
In some systems (especially on the supercomputer Cartesius), large violations to the DivB=0 constraint appear at block boundaries when coarsening or refining. The problem appears to be relatively challenging to debug, however it seems that the following conditions are involved: non-trivial space-times, adaptive mesh refinement, large simulations (≈1000 cores); and that it appears randomly after long simulation times. We recommend to keep monitoring the DivB=0 constraint (see e.g. FMtorus set-up) and, if necessary and possible, restart with a fixed grid from a snapshot before the violations appear.