Castro 20.05
20.05
-
The parameter use_custom_knapsack_weights and its associated
functionality have been removed. (#877) -
We've changed how the runtime parameters are stored. Previously
they were static members of their respective class, but this
prevented their use in lambda-capture functions on GPUs. Now the
runtime parameters are grouped into namespaces as extern managed
data. (#873) -
We currently have a scheme for storing reactions weightings, which
are a measure of the number of RHS evaluations during the burn and
therefore a proxy for the difficulty of the burn. These weights were
added as separate StateData depending on the runtime option
use_custom_knapsack_weights. Now, instead we place the weights
directly in the Reactions_Type StateData as a new component.The number of ghost zones in Reactions_Type is increased to 4.
The checkpoint version has now been incremented; this version of the
code will not be able to restart from a checkpoint generated by earlier
versions of the code. (#863) -
The meaning of dt_cutoff has changed: it is now the fraction of the
current simulation time which dt may be no smaller than, instead of
being an absolute measure. We now have set a non-zero default
(1.e-12) as well. (#865) -
Backwards compatibility in restarting from a checkpoint is no longer
supported. Checkpoints from older versions of the code (as determined
by the checkpoint version in the CastroHeader file in the checkpoint
directory) cannot be restarted from. (#860) -
Added an option to do CTU reactions in C++. A compile flag
USE_CXX_REACTIONS is added which switches to the C++ integrator
in Microphysics. Since we will be doing a phased implementation
of the networks in Microphysics, this is opt-in for now. (#836) -
More of the core routines have been ported to C++, including the
hydro and diffusion timestep estimators (#853) and the sponge
(#857) -
AMReX provides CpuBndryFuncFab and GpuBndryFuncFab which are very
similar to what generic_fill and hypfill did. The AMReX
implementations are now used. We still have a hypfill and denfill
function, so that existing problems are not broken, but the main
one in Source/ no longer calls amrex_filcc (it only has the
ambient code now). The problems that do override bc_fill_nd.F90
are thus no longer required to call amrex_filcc. (#837) -
We now always issue a timestep retry if the density after an
advance is negative (or less than small_dens). The parameter
castro.retry_neg_dens_factor is removed. The parameter
castro.retry_tolerance is also removed as it no longer has
any effect. (#796) -
The timestep control parameter castro.change_max now also will
prevent the timestep by shrinking too much in one timestep
(previously it would only prevent it from growing too much).
If change_max is violated in a timestep we will do a retry
to take more graceful steps. (#844) -
We now check if the problem setup initialized the density or
temperature to a value near small_dens or small_temp and abort.
If this happens, the recourse is to adjust small_dens and
small_temp to a meaningful value for your problem. (#822) -
The src_q multifab was removed and instead we convert the
conserved state sources to primitive state sources FAB by FAB.
This saves a lot of memory at the expense of an EOS call. (#829) -
The plm_well_balanced option was removed. It was essentially the
same as use_pslope except it was lower order and only worked with
constant gravity. use_pslope now works with both CTU+PLM and
SDC2+PLM. A new test problem, hse_convergence, was added to look
at the behavior of the different reconstruction methods with HSE.