2920 Commits

Author SHA1 Message Date
e977548f41 IO: Replace non-standard SYSTEM with Fortran 2008 EXECUTE_COMMAND_LINE.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-17 14:47:25 -03:00
27fd2fb6e1 EVOLUTION: Improve the initial time step estimation.
First of all, the estimation is of the third order, so use the cubic
square in the calculation of h1. Secondly, fix the normalization factor
fnorm. Finally, use only the variables corresponding to the fluxes in
the increment norms sc(..) and df(..).

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-16 09:18:32 -03:00
8843b6f45f EQUATIONS: Rewrite a bit esystem_roe_mhd_adi().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 16:45:33 -03:00
e0f11b9b21 EQUATIONS: Rewrite a bit esystem_roe_mhd_iso().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 16:22:37 -03:00
94b54723b7 EQUATIONS: Rewrite a bit esystem_roe_hd_adi().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 14:06:44 -03:00
ad7fa788f8 EQUATIONS: Rewrite a bit esystem_roe_hd_iso().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 13:02:12 -03:00
5ae63db0b4 EQUATIONS: Remove unused matrix evroe.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 12:47:19 -03:00
37af0380f4 EQUATIONS: Make esystem_roe_hd_iso() to work with OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 12:46:39 -03:00
5094050026 EQUATIONS: Make esystem_roe_hd_adi() to work with OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 12:44:10 -03:00
751c08ea9d EQUATIONS: Make esystem_roe_mhd_iso() to work with OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 12:40:40 -03:00
32ea1f68e6 EQUATIONS: Make esystem_roe_mhd_adi() to work with OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 12:35:02 -03:00
df9b301734 EVOLUTION: Restore the initial state in initialize_time_step().
The estimation of the initial time step requires the advance of the
system by one step. This, however, alters the primitive variables of
data blocks. Restore the primitive variables to the initial state, once
the initial time step has been estimated, in order to solve this
inconsistency.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 09:11:49 -03:00
76695febbd EVOLUTION: Reorganize integration method selection.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-15 08:47:23 -03:00
5d8c6d994d EVOLUTION: Produce the same initial time step for OpenMP on and off.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-10 13:16:26 -03:00
71a0e03114 STATISTICS: Fix mesh statistic header when MPI=off.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-10 10:45:33 -03:00
bb72ee3a5b MESH: Parallelize check_block_refinement() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-10 10:22:09 -03:00
e936ade934 BOUNDARIES: Parallelize update_ghost_cells() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-10 10:03:42 -03:00
c54539a379 EVOLUTION: Parallelize initialize_time_step() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-10 09:44:02 -03:00
59727c0f88 README: Inform about implemented OpenMP parallelization.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 22:11:49 -03:00
535b5274c9 MESH: Remove unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 22:08:31 -03:00
21cbecef26 EVOLUTION: Remove unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 22:07:36 -03:00
46696e4790 EVOLUTION: Rename local variables c to something else.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 22:00:09 -03:00
93068909d9 EVOLUTION: Add 4th order 5-step SSPRK(5,4) method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 21:45:14 -03:00
416c35ed9a EVOLUTION: Parallelize evolve_ssprk410() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 16:23:53 -03:00
aa8f9b6fe9 EVOLUTION: Parallelize evolve_ssprk35() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 16:03:22 -03:00
df5791f0b5 EVOLUTION: Parallelize evolve_ssprk34() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 13:36:03 -03:00
b4622f3c48 EVOLUTION: Parallelize evolve_ssprk3() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 12:58:55 -03:00
7b13e8fdf1 EVOLUTION: Parallelize evolve_ssprk2() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 12:38:40 -03:00
a5202090a4 EVOLUTION: Parallelize evolve_euler() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-09 12:23:53 -03:00
a61c4fa52a EVOLUTION: Parallelize evolve_ssprk21m() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 22:12:22 -03:00
fce5e43b2a EVOLUTION: Parallelize new_time_step() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 21:54:40 -03:00
c680b7772a EVOLUTION: Parallelize evolve_ssprk32m() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 21:40:59 -03:00
ee89bc42e6 EVOLUTION: Parallelize evolve_ssp324() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 18:27:43 -03:00
537f8693bc EVOLUTION: Parallelize update_errors_max() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 17:36:46 -03:00
806d74d4cf EVOLUTION: Parallelize update_errors_l2() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 17:18:55 -03:00
beca028b2f EVOLUTION: Parallelize evolve_3sstarplus() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 16:58:12 -03:00
8568dbb709 EVOLUTION: Parallelize update_variables() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 16:40:10 -03:00
b60ebe52ae WORKSPACE: Only notify that the workspace is too small for OpenMP.
We cannot resize the workspace with OpenMP. It should be allocated
large enough from the beginning. If OpenMP is used, just notify about
the workspace too small and return an error.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 16:20:57 -03:00
9ebb9a5e9d CMAKE: Rename OMP to OPENMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-08 13:05:16 -03:00
2151d483ec EVOLUTION: Make some variable threadprivate in update_increment().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-07 20:53:57 -03:00
ddb9c83608 MESH: Build data block list after each mesh update.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-07 20:51:22 -03:00
e20cd5de6c BLOCKS: Add subroutine to prepare the vector of data blocks.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-07 20:49:03 -03:00
c6fc8d5194 OPENMP: Declare some local variables as threadprivate.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-07 19:55:30 -03:00
ea0b9b83dc WORKSPACE: Make workspace thread safe.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-07 10:46:18 -03:00
2c336a4d74 CMAKE, MAKE: Add support for OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-07 10:37:56 -03:00
e1fa68b54f EVOLUTION: Fix alignment.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-03 19:56:26 -03:00
67835ffdff SOURCES: Remove empty if statement.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-03 19:55:53 -03:00
c5d65de44c IO: XDMF works only with deflate or uncompressed HDF5 files.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-03 11:55:30 -03:00
fcce326245 IO: Fix generation of XDMF files.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-03 11:54:19 -03:00
8d27d95a76 BOUNDARIES: Stop compiler complaining if MPI is off.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-03 10:58:57 -03:00