1135 Commits

Author SHA1 Message Date
f7469b1d67 INTEGRALS: Store the current time step, not fractional dt.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-20 18:10:30 -03:00
c1d7c9a52f EVOLUTION: Implement 3rd order 4-stage Runge-Kutta integraiton.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-19 21:12:20 -03:00
d59a5be1fc EVOLUTION: Implement 3rd order Runge-Kutta temporal integraiton.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-19 20:50:49 -03:00
fdf1274b28 EVOLUTION: Fix wrong function name iee_is_nan().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-13 07:43:14 -03:00
39b560065d EVOLUTION: Use ieee_is_nan() instead of isnan() in IBM BG/P.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-13 07:31:05 -03:00
02a67e86b2 DRIVER: Print information about the number of MPI processes used.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-09 09:31:52 -03:00
5927fb6536 INTERPOLATIONS: Correct warning about too few ghost zones.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-08 08:24:54 -03:00
87f74a90ba INTERPOLATIONS: Implement Compact WENO5 with NS stencil weights.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-08 08:16:46 -03:00
92da0e6698 INTERPOLATIONS: Remove general method CRWENO5.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-07 19:32:39 -03:00
48b962cf54 INTERPOLATIONS: Print warning if nghosts too low for a given method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-08-07 19:03:58 -03:00
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