1325 Commits

Author SHA1 Message Date
59f25755a6 INTERPOLATIONS: Implement Compact Reconstruction WENO-YS.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-07 14:07:22 -03:00
21dbbb2bf0 INTERPOLATIONS: Implement Compact Reconstruction WENO-Z.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-07 13:37:21 -03:00
bb0a3dce69 INTERPOLATIONS: Remove general WENO5 method.
This method is replaced by other 5th order WENO method which are already
optimized.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 17:37:27 -03:00
49d5495150 INTERPOLATIONS: Implement 5th order WENO method by Borges et al. (2008).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 17:34:23 -03:00
f8dfd77412 INTERPOLATIONS: Implement 5th order WENO by Yamaleev & Carpenter (2009).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 17:27:09 -03:00
bba6657498 INTERPOLATIONS: Implement 5th order WENO method by He et al. (2013).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 17:03:53 -03:00
aebbbd126a INTERPOLATIONS: Remove description of non-existing arguments.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 13:11:08 -03:00
203d4a943f INTERPOLATIONS: Rewrite weno5_explicit() with new weights.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 13:00:12 -03:00
671ac7c153 INTERPOLATIONS: Rewrite smoothness indicators.
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>
2014-08-06 12:48:37 -03:00
a60052d305 IO: Fix compilation after last commit.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 12:33:03 -03:00
709ea1d961 COORDINATES: Blocks are cubes now. Rename nghost to nghosts.
Now, blocks have the same dimensions along each direction.

Parameter 'nghost' has been renamed to 'nghosts'.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-06 12:25:05 -03:00
9dbefee37a INTERPOLATIONS: Implement explicit 5th order WENO reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-05 18:36:58 -03:00
a20e9e78f7 BOUNDARIES: Implement outflow boundary conditions.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-05 12:15:24 -03:00
dda18f4595 BOUNDARIES: Apply specific boundaries after copying and restriction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-05 12:14:21 -03:00
87b18a2796 PROBLEMS: Fix uniform field component calculation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 16:10:11 -03:00
e9468961aa SCHEMES: Fix degeneracy detection in adiabatic MHD HLLD solver.
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>
2014-08-04 15:53:36 -03:00
9ae7ef065b DRIVER, IO: Make sure thrs is set before using it.
Variable thrs was used before it was calculated for the first time. This
patch fixes it.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 11:08:32 -03:00
70a0b137b6 DRIVER: Make sure we compare the same data types.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:54:49 -03:00
975143fff0 INTEGRALS: IBM compiler does not support newunit in open().
Separate open() calls for different compilers.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:44:36 -03:00
71c57a42f0 BOUNDARIES: Fix compilation with MPI=N in 3D.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:39:29 -03:00
7c1e5c10b5 BOUNDARIES: Fix compilation with MPI=N.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:34:38 -03:00
ffba632740 MAKEFILE: Add preprocessor prefix for -D directives.
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>
2014-08-04 09:26:36 -03:00
69d929e2b0 RANDOM: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:22:11 -03:00
28cc6f3584 EQUATIONS: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:17:56 -03:00
9ac290f980 DRIVER: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:14:53 -03:00
4befafa526 IO: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:13:55 -03:00
b5caafef4c EVOLUTION: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:12:05 -03:00
9ef713ecb8 DOMAINS: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:09:52 -03:00
0e551e998c MPITOOLS: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:08:59 -03:00
cd966f764c MESH: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:03:28 -03:00
40f0909b1d INTERPOLATIONS: Change real variables to double precision.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-04 09:01:21 -03:00
d8c0b0d5f7 PARAMETERS: Change argument type in get_parameter_real().
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>
2014-08-04 08:58:27 -03:00
9c72999d5b BOUNDARIES: Fix edge direction in 2D boundaries_specific().
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>
2014-08-03 12:16:25 -03:00
b4e838d80a INTERPOLATIONS: Add 5th order CRWENO reconstruction.
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>
2014-08-01 12:05:12 -03:00
ffd814d357 BLOCKS: Nullify parent's neighbor pointers in refine_block().
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>
2014-07-28 19:06:14 -03:00
9f8c490ce0 REFINEMENT: Extend the region for refinement criterion.
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>
2014-07-24 12:46:23 -03:00
1395712472 BLOCKS: Remove all remainings after old %neigh pointers.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 12:39:40 -03:00
7a93ac16e0 BLOCKS: Rewrite check_block_neighbors().
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>
2014-07-24 12:20:49 -03:00
c1e5721fd4 DOMAINS: Remove initializarion of %neigh in setup_domain_default().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:09:21 -03:00
943d2d19ed BLOCKS: Rewrite iterate_over_neighbors() and remove iterate_over_face().
We can point all neighbors directly now, so it is enough to loop over
all of them.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:09:21 -03:00
49b3469ede IO: Do not store/restore %neigh pointers anymore.
These pointers won't be used anymore, and have been replaced by %faces,
%edges, and %corners.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:09:21 -03:00
b19352cb5e BOUNDARIES: Remove old boundary subroutines.
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>
2014-07-24 00:09:21 -03:00
8d78e3c099 BOUNDARIES: Rewrite flux update subroutines.
This patch rewrites two subroutines boundary_fluxes() and related
block_update_flux() in order to use new pointers (faces in 3D and edges
in 2D). It also signficantly simplifies block_update_flux() comparing to
previous version correct_flux().

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:08:51 -03:00
2d8ce74616 BOUNDARIES: Correct argument descriptions in block_boundary_specific().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:08:46 -03:00
fa41c2a96e BOUNDARIES: Skip periodic boundaries in boundaries_specific().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:08:40 -03:00
e79a64c5a5 BOUNDARIES: Reimplement specific boundary conditions.
This patch introduces specific boundary conditions for new neighbor
pointers.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-24 00:08:25 -03:00
7d81648cdf IO: Put attribute subroutines in interfaces.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-22 22:13:48 -03:00
478adea863 IO: Restore face, edge, and corner pointers from restart file.
All neighbor pointers, face, edge, and corners are properly
restored from restart files during job restart.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-22 16:42:13 -03:00
8caa16c236 IO: Store face, edge, and corner pointers in restart file.
All neighbor pointers, face, edge, and corners are stored in restart
files in group 'metablocks'.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-22 16:22:29 -03:00
aae27192df IO: Put all read subroutines in interface definition.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-07-22 16:02:50 -03:00