93 Commits

Author SHA1 Message Date
79b137a355 WORKSPACE: Add module to handle workspace explicitely.
Perform its initialization and finalization in the driver.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-12 22:26:50 -03:00
9f1c072704 DRIVER: Use only few last steps to estimate the remaining time.
This improved the remaining time estimation in case the number of leafs
changes significantly.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-08 22:35:38 -03:00
f567a9ddf8 USER_PROBLEM: Pass the simulation time to user_time_statistics().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-26 12:01:01 -03:00
b0401e96c6 PROBLEMS: Pass the run count to user problem initialization.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-26 11:59:11 -03:00
22455676f4 USER_PROBLEM: Add user_time_statistics() to module USER_PROBLEM.
This file can we use to calculate and store the user defined time
statistics.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-26 09:00:03 -03:00
27041d0feb DRIVER, EVOLUTION, IO: Rewrite handling precise snapshots.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-19 14:03:57 -03:00
55b0d24b77 EVOLUTION: Rework slightly the way new time step is calculated.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-19 13:28:25 -03:00
c604467a5c DRIVER: Use the initialize_time_step() instead of new_time_step().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-19 13:15:04 -03:00
6ca36c93e3 DRIVER, EVOLUTION: Move dtnext to evolution module.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-18 11:33:14 -03:00
418a580888 EVOLUTION: Print 'err/tol' not the error during the integration.
This is more meaninful, since it shows the ratio of the maximum error to
the tolerance atol + rtol * max(U).

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-15 15:29:42 -03:00
7ba3d7ae37 DRIVER: Print message on received signal to error unit.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-16 11:33:49 -03:00
3b954802a5 BLOCKS, DRIVER: Pass the number of registers to BLOCKS.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 12:47:01 -03:00
a5d7bc6aff DRIVER: Initialize EVOLUTION before BLOCKS.
This is required for the number of memory registers to be ready for
using in module BLOCKS.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-07-10 12:41:42 -03:00
3d16d5c13d Update copyrights.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-02-04 17:35:04 -03:00
277b82ab67 PROBLEMS: Move initialization/finalization of user problem.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-11-09 21:41:40 -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
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
73e2743e07 DRIVER: Print maximum error.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 23:07:32 -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
5faf08f731 SHAPES: Remove unused argument from initialize_shapes().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 14:48:47 -03:00
812338f427 OPERATORS: Remove unused argument from initialize_operators().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 14:31:12 -03:00
6d518c8327 PROBLEMS: Clean up unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 14:28:13 -03:00
4b63c17b07 MESH: Remove unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 13:23:40 -03:00
7c47fb1637 DOMAINS: Clean up unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 13:12:23 -03:00
07ee9942e5 BOUNDARIES: Clean up unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-06 13:04:59 -03:00
e057f240bd DRIVER: Fix compiler warnings.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-31 10:51:37 -03:00
7fe1711454 BLOCKS: Remove unused subroutines, variables, and arguments.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-31 10:48:14 -03:00
9c690c5a4d DRIVER: Make signal handling work with GNU, PGI and Intel compilers.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-30 16:15:46 -03:00
91a1ce442e DRIVER: PGI compiler requires signal definition.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-30 11:49:43 -03:00
7c55b65bd7 DRIVER, MESH, INTEGRALS: Use predefined preprocessor macros.
GNU Fortran and Intel Fortran define preprocessor macros such
__GFORTRAN__ and __INTEL_COMPILER. Just use them.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-30 11:06:59 -03:00
31a34c4380 PARAMETERS: Add verbose flag to read_parameters().
Slightly clean up other subroutines.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-30 10:13:48 -03:00
62e989e0b7 DRIVER: Read parameters' file by all processes.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-07-30 10:00:12 -03:00
a533978dff DRIVER: read_snapshot_parameter() is supported independently of HDF5.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-29 17:39:19 -03:00
408f42151d IO, DRIVER: Store x/y/zblocks separately.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-28 14:40:04 -03:00
63013b25be DRIVER: Fix compilation with empty OUTPUT flag.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-28 14:31:53 -03:00
6217358c99 RANDOM: Add status argument to initialize_random().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-28 14:04:22 -03:00
24d33316ae RANDOM: Change Marsaglia's xorshift to Vigna's xoshiro256+ generator.
Completely rewrite the random generator module. The new method is
true 64-bit floating point generator in contrast to 32-bit Marsaglia's
methods. Add recommended seeds' initialization and jump for parallel
computations. Make function names more meaningful and add new functions
in IO module to store the seeds properly.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-25 18:37:58 -03:00
b76eec7022 DRIVER: Print forcing parameters.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-04-20 13:13:20 -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
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
76d7cf8826 IO, DRIVER, PYTHON: Fix domain block dimensions with job restart.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-21 15:58:38 -03:00
e1ee6f39bb DRIVER: There is no need to limit tm_exec.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-18 17:07:52 -03:00
a66cd2e27f DRIVER: Fix ETA and EXECUTION time calculation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-18 16:57:35 -03:00
5086bf6bd4 DRIVER: Print problem name before initializations.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-18 12:07:02 -03:00
035db8370a Merge branch 'master' into forcing
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-15 18:26:13 -02:00
da9e895406 DRIVER: Use check_status() to verify subroutine status flag.
In addition, print error in case of any initialization or finalization
subroutine indicates problems.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-12 13:59:17 -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
5368b60f18 MESH: Add status argument to generate_mesh().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-12 10:22:53 -02:00
e6faf7dea9 BLOCKS: Remove set_block_dimensions().
Instead, initialize block dimensions through initialize_blocks().

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2019-02-11 13:30:02 -02:00