Now, module EQUATIONS provides a complet interface for equation systems,
including the definition of the number of equations/independent
variables, variable indices and names, conversion subroutines between
primitive and conservative variables, flux and characteristic speed
calculation, and maximum speed determination.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
The code by default works only with double precision arithmetics. Quad
precision arithmetics can be added as an option in the future.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
The maximum level was estimated from the list of data blocks. If we
have many processors, sometimes all blocks could lay at level smaller
than maxlev, what can cause wrong dx_min estimation and desyncronization
between processors.
These modifications slightly speed up the criterion calculation and
applies new default values of the parameters crefmin and crefmax, which
have been tuned in the blast problem.
This step is required, since the mesh can be refined/derefined just
before the snapshot dump. Since the refinement is checked before the
mesh update, it means that the freshly refined/derefined blocks have
undetermined array %c in their structure.
This subroutine is called before the boundary update and assures that
the values stored in all cells of block are physical, even if they do
not influence the solution.
There is no need to convert conservative variables to primitive ones,
since they are already up to date, so pass primitive variables directly
to Riemann solvers in subroutine update_flux().
Subroutine advance() is a replacement for the subroutine evolve(). It
performs one step variable update by calling the selected integration
method. So far only 2nd order Runge-Kutta is supported, which is
implemented in subroutine advance_rk2().
Subroutine advance_rk2() advances the conservative variables by one step
using the 2nd order Runge-Kutta method with the boundary update after
each substep. This results in the reduced number of ghost zones, for
example 2 instead of 4, as in the previous version.