- add a global variable in the configuration module to determine if the
boundaries are periodic along each direction; this flag is useful if
we can skip some work which is only for non-periodic boundaries, such
as applying specific boundary conditions;
- with all variables cell centered we do not need to perform additional
update between blocks at the same level since now everything can be
done at once; the only restriction is that the boundary update has to
be done along each direction separately;
- subroutine numerical_flux() is not used in the GLM-MHD approach, so
remove it; later, during the implementation of GALERKIN methods, it
may be reintroduced;
- add parameters for the reconnection problem to the config module;
- properly initialize the antiparallel magnetic field component and the
perpendicular component initial perturbation;
- rewrite the function check_ref() using the subroutine to convert the
conserved variables to primitive ones;
- if the MHD is used take the gradients of magnetic field components
into account in determining the refinement indicator;
- remove subroutine advance(); this subroutine is good for GALERKIN
approach; it's gonna be reintroduced during this method
implementation;
- remove subroutine update_flux(); this subroutine is called from
advance() and is not used in the GLM-MHD approach;
- make GNU Fortran happy bu adding () to the subroutine calls;
- in subroutine prolong_block() prolongate the magnetic field
components and scalar potential during the block refinements if the
GLM-MHD equations are used;
- in the GLM-MHD set of equations variables Bx and Psi are couples,
thus find their values and substitute to the left and right states
before entering the approximate Riemann solver;
- make the variable cmax global in the module 'evolution';
- add a new subroutine update_maximum_speed() which updates the maximum
speed cmax in the system iterating over all data blocks;
- use the subroutine update_maximum_speed() in evolve();
- reconstruct the states for the magnetic field components and scalar
potential just like other fluid variables;
- calculate the numerical fluxes for the magnetic field components and
scalar potential;
- add variable indices for the GLM-MHD equations in the module
'variables'; the index 'iph' points to the scalar potential defining
the divergence of magnetic field;
BLOCK STRUCTURE
- add new field pos in the meta block structure determining the
position of the current block in the parent block; this might be very
useful in determining which boundary region should be updated;
- add new subroutine metablock_set_position() which sets the position
of the child in the parent block;
VARIABLES
- create new module 'variables' which stores references to variable
indices; we gonna store dofferent objects related to variables in
this module;
BLOCK STRUCTURE
- the global variable nblocks tells how many metablocks are allocated,
thus its name is changed to mblocks;
- remove unnecessary checking of the list allocation;
BOUNDARY CONDITIONS
- the subroutine bnd_rest() has been rewritten in order to make if more
clear in understanding and remove necessity of using external
interpolating subroutines and allocatable arrays;
BOUNDARY CONDITIONS
- the main subroutine to update the variable boundaries has been
rewritten in order to update the boundaries in a proper order;
- first we update the specific boundaries of blocks which don't have
neighbors;
- then we update boundaries between blocks at the same levels; this
assures that the boundaries of the same levels are not contaminated
by interpolation from other levels;
- the last step is updating boundaries between blocks at different
levels;
- one step more before the last step might be required; in this step we
update the corners of blocks which have two neighbors at the higher
level;