Subroutine smoothness_indicators() has been rewritten and renamed to
smoothness_indicators_js() to allow future implementations of other
smoothness indicators.
This subroutine is now called in stencil weight subroutines instead of
reconstruction ones.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
Now, blocks have the same dimensions along each direction.
Parameter 'nghost' has been renamed to 'nghosts'.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
Instead of speed differences, we should use division factors to
determine if we have a degeneracy in the solution, otherwise solver can
be numerically inconsistent, leading to division by zero.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
IBM Fortran does not support preprocessor directives -D directly. They
have to be passed using -WF, compilation flag. Therefore we add a
variable CPPPREFIX to provide this kind of prefix.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
We are working with double precision, so this subroutine should return a
real value with double precision too.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
In 2D we don't have face neighbor pointers, so we have to use edge
neighbor pointers to find those which are not associated, so we can
apply specific boundary conditions. This fixes the calculation of
the edge neighbor direction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This is 5th order compact reconstruction using implicit solver and
characterized by 10 time smaller errors comparing to explicit 5th order
WENO reconstruction.
Several methods to calculate stencil weights have been added too.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
We need to nullify parent's neighbor pointers after finishing its
refinement process, otherwise they can point to unallocated blocks
causing the failure of job restart.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
Now we calculate the refinement criterion over a region which is larger
than the block domain by one cell. It should allow to detect incoming
gradients earlier and result in gradents entering the already
refined block.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This debuggin fuctions checks face, edge, and corner pointers and check
the corresponding pointers of the pointed neighbors, if they are
consistent, i.e. if they point to each other.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
All subroutines which use %neigh field of meta block have been removed,
since the new format using %faces, %edges, and %corners is completed.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>