59 Commits

Author SHA1 Message Date
580e1b832e BOUNDARIES: Rewrite bondary_fluxes() to update dU.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-11 01:26:15 -03:00
2509cf3d5a BLOCKS, EVOLUTION: Add block interface fluxes and update them.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 19:25:44 -03:00
0a03dd6f2f EVOLUTION: Separate dU update from the intermitate state update.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 18:52:55 -03:00
8c46b83626 EVOLUTION: Call update_flux() in update_increment().
Remove update_fluxes().

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 18:26:52 -03:00
c4a0d1df09 BLOCKS, EVOLUTION: Make dU to be blocks field and use it.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 17:51:28 -03:00
3d45fcca34 BLOCKS: Use %uu instead of %u0, %u1, and %u2.
Block field %uu addopts its size according to the used integration
methods. Use it for all operation insteado of fields %u0, %u1, and %u2.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 14:05:00 -03:00
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