52ca353fe4
MESH: Allocate the prolongation array in prolong_block().
...
The prolongation is not expected to be done very frequently, comparing
to the number of leafs. Therefore, allocate the prolongation array only
when it is required.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-11 16:39:43 -03:00
c0c549453d
MESH: Rewrite prolong_block() in order to reduce its memory usage.
...
Instead of using a temporary array for all variables, we now reuse the
same array for the prolongation of each variable.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-11 16:11:10 -03:00
28d2dd061b
CI/CD: Use specific image in .drone.yml.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-11 15:51:51 -03:00
7684c04941
CI/CD: Use the customized image in .drone.xml.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-11 15:39:44 -03:00
56407675e0
CI/CD: Remove pipelines for Bitbucket.
...
We already have self-hosted Drone CI/CD, and free GitLab CI/CD. Besides
bitbucket offers only 52 minutes monthly.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-11 10:12:46 -03:00
731d4e1c32
INTEGRALS: Do not store errors if the integration is not embedded.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 22:45:57 -03:00
0ae9ce1e8a
Add build status to README.md
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 16:56:52 -03:00
714a66ba14
Add reconnection to Drone CI/CD tested branches.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 16:46:06 -03:00
93ad9bab23
Use concurrent compilation in Dron CI/CD script.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 16:31:22 -03:00
88ad0691cd
Rename Drone CI/CD steps.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 16:26:56 -03:00
4da36d9bb3
Add NVIDIA HPC to supported compilers.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 16:19:56 -03:00
6a6bbdcf79
Add script for Drone CI/CD.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 16:12:28 -03:00
7578206f83
EVOLUTION: Treat any unphysical state properly in RK4.10 method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 10:01:34 -03:00
1d22adb2fa
EVOLUTION: Treat any unphysical state properly in RK3.5 method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 09:51:06 -03:00
c42310b3cb
EVOLUTION: Treat any unphysical state properly in RK3.4 method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 09:37:21 -03:00
9d3123eeed
EVOLUTION: Treat any unphysical state properly in RK3 method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 09:31:30 -03:00
3ffbf1a3c2
EVOLUTION: Treat any unphysical state properly in RK2 method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 09:25:31 -03:00
d6b4b70aab
EVOLUTION: Treat any unphysical state properly in EULER method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 09:18:19 -03:00
3117c19a75
EVOLUTION: Improve initial time step estimation.
...
In case the estimation returns an unphysical state, its time step is
reduced and the estimation is repeated. If it fails for 10 consecutive
times, the estimation is abandoned and the CFL time step is used.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-10 09:04:05 -03:00
a9cf789833
EVOLUTION: Rewrite SSPRK2(1)m method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 22:16:40 -03:00
a87bcce907
EVOLUTION: Reorganize methods.
...
Put first non-embedded and then embedded methods.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 16:16:26 -03:00
6dcd400219
EVOLUTION: Treat any unphysical state properly in SSPRK3(2)4 method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 16:09:32 -03:00
a52da2830d
EVOLUTION: Treat any unphysical state properly in SSPRK3(2)n² method.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 16:05:22 -03:00
380e4c8d7e
EVOLUTION: Synchronize status among processes in update_variables().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 15:59:34 -03:00
89bc706673
EVOLUTION: Treat any unphysical state properly in 3S*+ method.
...
If any unphysical cell is detected, the integration is immediately
reverted and resumed with a time step reduced by a factor or four.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 15:37:47 -03:00
ea49382c49
EQUATIONS: Add status flag to all cons2prim_*() subroutines.
...
We also check if the positive variables are indeed positive.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 13:21:32 -03:00
17f867cb08
EQUATIONS: Add status flag to update_primitive_variables().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 12:51:23 -03:00
86cf55e836
EVOLUTION: Add status flag to update_variables().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-09 12:32:49 -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
4f73c95616
BOUNDARIES: Use the same buffer for boundary copy.
...
The copy of boundaries between blocks at the same level always uses the
same size of buffer, so instead of using two of them, one for sending
and another for receiving, use just one for sending and receiving. This
will use the appropriate subroutine from MPITOOLS
exchange_arrays_same().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-04 10:22:13 -03:00
787e07d572
BLOCKS: Rename %block to %meta in block_info structure.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-04 09:31:44 -03:00
f3ad7924ea
MPITOOLS: Use interface for exchange_arrays().
...
Implement two subroutines, one for exchange of arrays of different
sizes, and the second for exchange of arrays of the same sizes.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 22:44:30 -03:00
95617866b1
MPITOOLS: Use MPI_IN_PLACE in all MPI_Allreduce().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 22:39:33 -03:00
3a056d4ddc
HOSTS: By default use IMPI with Intel compiler.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 13:01:33 -03:00
5bbd6b1242
MAKE: Add option -fcheck=all for DEBUG.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 12:41:19 -03:00
9ecbf83d5f
MESH: Make sure again the index nc is not out of the range.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 12:32:48 -03:00
192d417431
HOSTS: Add a few check flags to NVIDIA compiler options.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 11:33:57 -03:00
01d0549bf5
MESH: Make sure the index nc is no out of the range.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-03 10:32:23 -03:00
20cb799fba
MPITOOLS: Fix argument intent in exchange_arrays().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-01 13:11:35 -03:00
e352c2cb0e
HOSTS: Add support for NVIDIA HPC compilers.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-01 11:33:50 -03:00
2098661d3c
EQUATIONS: Remove cruft.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-30 16:59:32 -03:00
8d5f356d8d
MPITOOLS: A real value and array are the same for NVIDIA compiler.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-30 16:53:35 -03:00
0ff346597d
HELPERS: fnum() is GNU Fortran specific.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-29 11:55:43 -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
6187c6d76d
USER_PROBLEM: Rename user gravitational acceleration subroutine.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-26 09:09:13 -03:00
8c808fd70c
USER_PROBLEM: Rename subroutines boundary_user_() to user_boundary().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-26 09:02:43 -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
94a621a3c5
USER_PROBLEM: Rename use problem subroutines.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-26 08:52:03 -03:00
6362fe13ad
EVOLUTION: Fix partial times and timesteps in 3S*+ methods.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-10-23 20:52:03 -03:00