103 Commits

Author SHA1 Message Date
b5540ed58d EVOLUTION: Add variable for required number of registers.
The number of registers indicates how many memory copies of the
conserved variables are required to perform the integration using a
selected method.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 12:24:20 -03:00
3cbb8da21e EVOLUTION: Add missing update_variables() in SSPRK(m,2).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-02-05 16:16:26 -03:00
18a25d3775 EVOLUTION: Make sure the system is always consistent for SSPRK(m,3).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-02-05 16:15:43 -03:00
3d16d5c13d Update copyrights.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-02-04 17:35:04 -03:00
37fdafd28d EVOLUTION: Fix unphysical cells after applying shapes.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-11-26 10:50:49 -03:00
deede9452d EVOLUTION: Determine the relative maximum error.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-16 06:40:50 -03:00
36b10a40d7 EVOLUTION: Add limiting factors and correct exponents in error control.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-15 22:59:20 -03:00
415d081e42 EVOLUTION: Get umax from the block interiors only.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-15 20:05:05 -03:00
d82eb99a8a EVOLUTION: Fix variables which may not be initialized.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 18:12:37 -03:00
d72c6019b8 EVOLUTION: Implement step repetition in evolve_ssprk2_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 16:57:36 -03:00
d969608541 EVOLUTION: Implement step repetition in evolve_ssprk3_m().
If the desired tolerance was not achieved, the integration step is
repeated. The tolerance is controlled by two parameters:
"absolute_tolerance" and "relative_tolerance". The number of allowed
repetitions is controlled by parameter "maximum_repetitions".

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 16:48:28 -03:00
f199e231e6 EVOLUTION, IO: Add tolerances, interations and rejections counters.
Store these variables in restart snapshots.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 16:38:11 -03:00
c1fa4d1cff EVOLUTION: Estimate timestep due to error limitation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 22:38:46 -03:00
0c04d4986b EVOLUTION: Add parameters for absolute and relative tolerances.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 22:29:40 -03:00
1d0cf0758c EVOLUTION: Rewrite evolve_ssprk3_m() to use %u2(:,:,:,:).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 22:27:38 -03:00
931c984dca EVOLUTION: Rewrite evolve_ssprk2_m() to use %u2(:,:,:,:).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 20:10:48 -03:00
d86fea463c EVOLUTION: Remove stat atribute from allocation of lerr(..).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 11:52:19 -03:00
a754fd6a56 EVOLUTION: Remove one variable from evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 23:38:12 -03:00
60255efe9f EVOLUTION: Add error estimation in evolve_ssprk2_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 23:36:52 -03:00
8a23da2802 EVOLUTION: Remove few comments from evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 22:44:51 -03:00
100fcf12f2 EVOLUTION: Add error estimation in evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 22:42:26 -03:00
0d47d35104 EVOLUTION: Add time step resulting from the error limit.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 21:41:04 -03:00
f8dae064b9 EVOLUTION: Change 'glm_alpha' value.
It seems more numerically stable in the case of tearing mode problem
with HLLD or ROE solver for adiabatic EoS.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-19 21:34:40 -03:00
0a5a502079 IO: Store parameters 'cfl' and 'glm_alpha' in snapshots.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-19 18:45:23 -03:00
1f4b9e35f7 EVOLUTION: Rename parameter 'alpha' to 'glm_alpha'.
This parameter is used for GLM cleaning of magnetic divergence, so it
shouldn't be confused with anything else.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-19 18:38:25 -03:00
c15378bddd MPITOOLS: Rewrite MPI support using Fortran 2008 interface.
Use procedure interfaces, remove unused variables, etc.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-14 19:40:10 -03:00
f9ab0b2015 EVOLUTIONS: Clean up ununsed variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 10:44:36 -03:00
a0acaa9f40 FORCING: Clean up compiler warnings.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 10:40:17 -03:00
f1c30dffec EVOLUTION, FORCING: Call update_forcing() only when enabled.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-05-01 21:16:46 -03:00
29d0acf2ec EVOLUTION: Correct spelling.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-20 13:09:50 -03:00
c0df378235 Merge branch 'master' into forcing 2020-04-07 16:24:15 -03:00
ad0303d3ba Update copyright.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-03-02 13:18:53 -03:00
8e9e8f196c EVOLUTION: Update the increment for passive scalars.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-10-02 21:16:29 -03:00
a80b8cf41f BOUNDARIES, DRIVER, EVOLUTION: Use nf for the number of block fluxes.
Now, since the number of variables and fluxes may be different, it is
important to keep the size of the block flux array using nf instead of
nv.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-10-02 15:39:25 -03:00
035db8370a Merge branch 'master' into forcing
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-15 18:26:13 -02:00
00967c153e EVOLUTION: Small changes to evolve_rk43().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-13 15:11:47 -02:00
230b8eb9bf EVOLUTION: Fix SSPRK(10,4) method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-12 17:36:27 -02:00
721cf8efae EVOLUTION: Add status argument to advance().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-12 10:34:38 -02:00
83f25af24a MESH: Add status argument to update_mesh().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-12 10:31:30 -02:00
603622886b EVOLUTION: Fix intermediate times in evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 13:33:11 -02:00
3c649ec71f EVOLUTION: Fix intermediate time calculation in evolve_ssprk4_10().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 12:52:30 -02:00
d5c351e0ac EVOLUTION: dh has to be update each time in evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 12:30:22 -02:00
7d50915b42 EVOLUTION: Add optimal m-stage 3rd order SSPRK method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 12:03:10 -02:00
a7fae8eb2d EVOLUTION: Move du(:,:,:,:) initialization to initialize_evolution().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 09:39:17 -02:00
d8dee86237 EVOLUTION: Make du(:,:,:,:) module allocatable array.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 09:28:44 -02:00
752a3600c6 EVOLUTION: Add optimal 10-stage 4th order SSPRK method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-08 08:48:32 -02:00
05bbead94c EVOLUTION: Use nb, ne instead of ib, ie, jb, je, kb, ke.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-05 13:06:24 -02:00
bf6d6228d3 EVOLUTION: Use bcells instead of im, jm, km.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-05 10:01:37 -02:00
6b78361cfe EVOLUTION: Use helper subroutines in print_evolution().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-01-30 22:30:30 -02:00
63bde5a72b EVOLUTION, DRIVER: Add print_evolution().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-01-30 14:45:07 -02:00