1555 Commits

Author SHA1 Message Date
198e6db77c IO: Store an attribute indicating the domain periodicity.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-12-30 14:25:49 -02:00
88434201bf IO: Store 'gamma' for adiabatic, and 'csnd' for isothermal EoS.
Depending on the equation of state, adiabatic or isothermal, we
store the adiabatic index 'gamma' or the isothermal sound speed
'csnd' in the attributes of HDF5 files.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-12-30 13:17:25 -02:00
745faa3742 IO: Store attribute 'code' in the root of HDF5 file.
This attribute should help to determine the format of HDF5 files more
easy.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-12-30 13:11:34 -02:00
2feb69e6b4 PROBLEMS: Implement Sedov-Taylor blast problem.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-12-30 13:01:44 -02:00
1a04260167 IO: Adjust default compression levels.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 12:13:39 -03:00
8696f15696 IO: Clean up old compression code.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 12:09:03 -03:00
bb2e4c9baa IO: Initialize ZSTD compression.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 12:02:07 -03:00
5208df0c60 IO: Set deflate compression and its level only once.
Also, remove SZIP compression.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 11:49:22 -03:00
9ccd050794 IO: Introduce flags for supported compression types.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 11:33:56 -03:00
f3649f10c1 IO: Move compression property creation to initialize_io().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 11:25:31 -03:00
bb09798398 IO: One local pid definition skipped.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 11:14:39 -03:00
1d070a9132 IO: Move the property ID to module variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 11:13:36 -03:00
060e9b397c IO: Initialize/close HDF5 Fortran interface only once.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 11:08:54 -03:00
a3ce8c409e IO: Add finalize_io() subroutine.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 09:53:47 -03:00
32129f4948 IO: Print information about the used HDF5 compression.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 08:58:13 -03:00
44aec4a280 IO: Add compression type detection.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-09-05 08:52:33 -03:00
9d75c49059 SCHEMES: Cosmetic changes in the adiabatic HLLD solver.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-16 17:03:01 -03:00
4fd495bf80 USER_PROBLEM: Remove unnecessary printed line.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-11 10:02:37 -03:00
9ed6f2ad1c USER_PROBLEM: Remove printing of empty line.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-11 09:57:25 -03:00
5a10b9384d DRIVER: Print problem header.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-11 09:54:12 -03:00
f6bb80b32d INTERPOLATIONS: Apply MLP to all ghost cells.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-10 08:45:50 -03:00
ba82978b5b INTERPOLATIONS: Rewrite high order 1D GP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-05 08:41:26 -03:00
97b10008f0 INTERPOLATIONS: Implement 7th order MP reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-05 07:40:35 -03:00
b43dbe50ee INTERPOLATIONS: Rewrite 5th order MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-05 07:31:57 -03:00
c507f5b2ad INTERPOLATIONS: Rewrite 5th order Compact MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-03 11:57:36 -03:00
39981f5667 INTERPOLATIONS: Fix di coefficients in CRMP5LD method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-03 11:53:38 -03:00
b862c8f1af INTERPOLATIONS: Rewrite 5th order Compact Low Dissipation MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-03 11:50:27 -03:00
4321e40657 INTERPOLATIONS: Implement 7th order Compact MP reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-03 11:35:31 -03:00
17000df285 INTERPOLATIONS: Implement subroutine for MP limiting.
The monotonicity preserving (MP) limiter can be applied to various
reconstruction methods, therefore it is good to put it in a separate
subroutine.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-03 11:32:28 -03:00
8210267074 SCHEMES: Fix SRHD HLLC solver after modifying the quadratic() function.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-02 13:36:09 -03:00
3d4beabc36 ALGEBRA: Make the roots of function quadratic() consistent.
If there are two roots, make sure that x(1) corresponds to the formula
with '-' sign, and x(2) corresponds to the formula with '+' sign, i.e.

 Δ  = a₁² - 4 a₂ a₀
 x₁ = - (a₁ - sqrt(Δ)) / (2 a₂)
 x₂ = - (a₁ + sqrt(Δ)) / (2 a₂)

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-05-02 13:30:30 -03:00
0c7034c5e8 INTERPOLATION: Limit all cells in MLP limiting.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-28 13:26:10 -03:00
d4312eff68 PROBLEMS, SHAPES: Remove jet problem from default test problems.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-28 10:58:55 -03:00
e10baf5453 INTERPOLATIONS: Slightly improve MGP reconstruction.
Subtract the cell value from the stencil and add it back after the
interpolated values once the interpolation is done. This significantly
decreases the interpolation errors in uniform areas where the variables
are different from zero.

Check the monotonicity by comparing to eps and not to zero. This does
not force the interpolation to go back to the TVD one if the difference
between the interpolated value and cell centered one is of the order of
numerical error.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-19 07:19:56 -03:00
e84f1c9db0 INTERPOLATIONS: Improve one-dimensional GP reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-18 14:37:21 -03:00
64a08b1ef7 INTERPOLATIONS: Fix compilation when NDIMS == 3.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-13 21:58:50 -03:00
da2f2a1bf0 SCHEMES: Fix adiabatic HLLD solver for weak Bx.
If the parallel component of magnetic field is too small, the
intermediate states might produce numerical instabilities, since they
are obtained by the division by a small factor.

In order to remove this situation, we apply full HLLD solver for strong
enough Alfvén wave. If it is weak, the HLLC solver is applied.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-10 08:03:50 -03:00
8dc157620c SCHEMES: Fix isothermal HLLD-M solver for weak Bx.
If the parallel component of magnetic field is too small, the
intermediate states might produce numerical instabilities, since they
are obtained by the division by a small factor.

In order to remove this situation, we apply full HLLD solver for strong
enough Alfvén wave. If it is weak, the HLL solver is applied.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-10 08:02:05 -03:00
a6490f31bb SCHEMES: Fix isothermal HLLD solver for weak Bx.
If the parallel component of magnetic field is too small, the
intermediate states might produce numerical instabilities, since they
are obtained by the division by a small factor.

In order to remove this situation, we apply full HLLD solver for strong
enough Alfvén wave. If it is weak, the HLL solver is applied.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-10 07:56:49 -03:00
3a6090499a SCHEMES: Fix adiabatic HLLD solver for MHD.
For one of the degenerate situations the state vector was not
calculated. This introduced numerical instabilities. This change fixes
it.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-07 08:34:44 -03:00
b41b5a000b INTERPOLATIONS: Fix MLP limiting.
We should take half of the TVD limited derivatives in order to compare
properly with the high order interpolated derivative. Fix it.

Also, TVD limit both states if the high order interpolation of any of
them overshoot.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-05 10:23:15 -03:00
b4b72a783d SCHEMES: A small fix for isothermal HLLD when Bx = 0.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-04-05 07:23:38 -03:00
3cd24e3b0f SOURCES: Fix calculation of η J² term.
In the sum of the J² we used Fortran subroutine sum() and the sum was
done along the 2nd index. However, the interpretation of this index is
uncertain when the first array rank is 1.

Therefore, instead of using subroutine sum(), the calculation is done
directly.

After this change there are no strange effects appearing on the
boundaries of the blocks.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-29 10:40:31 -03:00
aad62c9c51 INTERPOLATIONS: Implement Multi-dimensional Limiting Process.
This additional multi-dimensional limiting can be applied to any
reconstruction method. It is controlled by the parameter 'mlp_limiting'
by setting 'on' or 'off'.

The implementation is based on Gerlinger (2012).

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-16 09:50:10 -03:00
b092c80aae INTERPOLATIONS: Fix misspelling.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-15 10:18:39 -03:00
a1875b1af2 Merge branch 'master' of ssh://bitbucket.org/amunteam/amun-code
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-10 12:07:31 -03:00
5213004734 IO: Account time for disk operations (for snapshots).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-10 12:04:42 -03:00
fe0e43b095 IO: Reset iret in read_restart_snapshot() and write_restart_snapshot().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-09 16:31:16 -03:00
31bf3006b7 GRAVITY: Reset acc in gacc_none().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-09 16:28:30 -03:00
322b8a141b USER_PROBLEM: Reset acc in gravitational_acceleration_user().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-09 16:28:10 -03:00