Merge branch 'master' into reconnection
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
commit
fa54865442
@ -1,8 +1,7 @@
|
||||
image: debian
|
||||
|
||||
stages:
|
||||
- build amun 1/2
|
||||
- build amun 2/2
|
||||
- build
|
||||
|
||||
build amun 1/2:
|
||||
stage: build
|
||||
|
@ -565,7 +565,7 @@ module boundaries
|
||||
use equations , only : nf
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -595,7 +595,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -962,8 +962,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -1363,7 +1362,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -1392,7 +1391,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -1617,8 +1616,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -1726,7 +1724,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -1753,7 +1751,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -1966,8 +1964,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -2078,7 +2075,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -2107,7 +2104,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -2359,8 +2356,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -2502,7 +2498,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -2532,7 +2528,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -2818,8 +2814,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -2949,7 +2944,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -2979,7 +2974,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -3243,8 +3238,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -3379,7 +3373,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -3409,7 +3403,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -3722,8 +3716,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -3888,7 +3881,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -3914,7 +3907,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -4167,8 +4160,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -4281,7 +4273,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -4307,7 +4299,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -4537,8 +4529,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
@ -4651,7 +4642,7 @@ module boundaries
|
||||
use equations , only : nv
|
||||
#ifdef MPI
|
||||
use mpitools , only : nproc, npairs, pairs
|
||||
use mpitools , only : exchange_real_arrays
|
||||
use mpitools , only : exchange_arrays
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -4677,7 +4668,7 @@ module boundaries
|
||||
#ifdef MPI
|
||||
integer :: sproc = 0, rproc = 0
|
||||
integer :: scount, rcount
|
||||
integer :: l, p, iret
|
||||
integer :: l, p
|
||||
|
||||
! local arrays
|
||||
!
|
||||
@ -4907,8 +4898,7 @@ module boundaries
|
||||
!!
|
||||
! exchange data
|
||||
!
|
||||
call exchange_real_arrays(rproc, p, size(sbuf), sbuf &
|
||||
, size(rbuf), rbuf, iret)
|
||||
call exchange_arrays(rproc, p, sbuf, rbuf)
|
||||
|
||||
!! PROCESS RECEIVED BLOCKS
|
||||
!!
|
||||
|
@ -67,7 +67,7 @@ program amun
|
||||
use mesh , only : generate_mesh, store_mesh_stats
|
||||
use mpitools , only : initialize_mpitools, finalize_mpitools
|
||||
#ifdef MPI
|
||||
use mpitools , only : bcast_integer_variable, reduce_sum_real_array
|
||||
use mpitools , only : reduce_sum
|
||||
#endif /* MPI */
|
||||
use mpitools , only : master, nprocs, nproc, check_status
|
||||
use operators , only : initialize_operators, finalize_operators
|
||||
@ -898,7 +898,7 @@ program amun
|
||||
#ifdef MPI
|
||||
! sum up timers from all processes
|
||||
!
|
||||
call reduce_sum_real_array(ntimers, tm(:), status)
|
||||
call reduce_sum(tm(1:ntimers))
|
||||
#endif /* MPI */
|
||||
|
||||
! print timings only on master processor
|
||||
|
@ -509,7 +509,7 @@ module evolution
|
||||
!
|
||||
use equations , only : maxspeed, cmax, cmax2
|
||||
#ifdef MPI
|
||||
use mpitools , only : reduce_maximum_real, reduce_maximum_integer
|
||||
use mpitools , only : reduce_maximum
|
||||
#endif /* MPI */
|
||||
|
||||
! include external variables
|
||||
@ -535,7 +535,7 @@ module evolution
|
||||
|
||||
! local variables
|
||||
!
|
||||
integer :: iret, mlev
|
||||
integer :: mlev
|
||||
real(kind=8) :: cm, dx_min
|
||||
|
||||
! local parameters
|
||||
@ -585,8 +585,8 @@ module evolution
|
||||
#ifdef MPI
|
||||
! reduce maximum speed and level over all processors
|
||||
!
|
||||
call reduce_maximum_real (cmax, iret)
|
||||
call reduce_maximum_integer(mlev, iret)
|
||||
call reduce_maximum(cmax)
|
||||
call reduce_maximum(mlev)
|
||||
#endif /* MPI */
|
||||
|
||||
! calculate the squared cmax
|
||||
|
@ -1654,17 +1654,13 @@ module forcing
|
||||
!
|
||||
use blocks , only : block_data, list_data
|
||||
#ifdef MPI
|
||||
use mpitools, only : reduce_sum_complex_array
|
||||
use mpitools, only : reduce_sum
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
!
|
||||
implicit none
|
||||
|
||||
! local variables
|
||||
!
|
||||
integer :: status
|
||||
|
||||
! local pointers
|
||||
!
|
||||
type(block_data), pointer :: pdata
|
||||
@ -1696,7 +1692,7 @@ module forcing
|
||||
#ifdef MPI
|
||||
! reduce velocity coefficients over all processes
|
||||
!
|
||||
call reduce_sum_complex_array(size(vcoefs), vcoefs, status)
|
||||
call reduce_sum(vcoefs)
|
||||
#endif /* MPI */
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
|
@ -375,9 +375,7 @@ module integrals
|
||||
use evolution , only : step, time, dtn
|
||||
use forcing , only : einj, rinj, arms
|
||||
#ifdef MPI
|
||||
use mpitools , only : reduce_sum_real_array
|
||||
use mpitools , only : reduce_minimum_real_array
|
||||
use mpitools , only : reduce_maximum_real_array
|
||||
use mpitools , only : reduce_minimum, reduce_maximum, reduce_sum
|
||||
#endif /* MPI */
|
||||
use operators , only : gradient, derivative_1st, derivative_2nd
|
||||
use sources , only : resistivity
|
||||
@ -388,7 +386,6 @@ module integrals
|
||||
|
||||
! local variables
|
||||
!
|
||||
integer :: iret
|
||||
real(kind=8) :: dvol, dvolh, dxy, dxz
|
||||
real(kind=8), dimension(3) :: dh
|
||||
|
||||
@ -868,13 +865,13 @@ module integrals
|
||||
#ifdef MPI
|
||||
! sum the integral array from all processes
|
||||
!
|
||||
call reduce_sum_real_array(narr, inarr(:), iret)
|
||||
call reduce_sum(inarr(1:narr))
|
||||
|
||||
! reduce average, minimum and maximum values
|
||||
!
|
||||
call reduce_sum_real_array(narr, avarr(:), iret)
|
||||
call reduce_minimum_real_array(narr, mnarr(:), iret)
|
||||
call reduce_maximum_real_array(narr, mxarr(:), iret)
|
||||
call reduce_sum(avarr(1:narr))
|
||||
call reduce_minimum(mnarr(1:narr))
|
||||
call reduce_maximum(mxarr(1:narr))
|
||||
#endif /* MPI */
|
||||
|
||||
! calculate the internal energy
|
||||
|
@ -903,7 +903,7 @@ module mesh
|
||||
use coordinates , only : nn => bcells
|
||||
use equations , only : nv
|
||||
use mpitools , only : nprocs, npmax, nproc
|
||||
use mpitools , only : send_real_array, receive_real_array
|
||||
use mpitools , only : send_array, receive_array
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -914,7 +914,6 @@ module mesh
|
||||
! local variables
|
||||
!
|
||||
integer :: status
|
||||
integer :: iret
|
||||
integer(kind=4) :: np, nl
|
||||
|
||||
! local pointers
|
||||
@ -995,7 +994,7 @@ module mesh
|
||||
|
||||
! send data
|
||||
!
|
||||
call send_real_array(size(rbuf), np, itag, rbuf, iret)
|
||||
call send_array(np, itag, rbuf)
|
||||
|
||||
! remove data block from the current process
|
||||
!
|
||||
@ -1016,7 +1015,7 @@ module mesh
|
||||
|
||||
! receive the data
|
||||
!
|
||||
call receive_real_array(size(rbuf), pmeta%process, itag, rbuf, iret)
|
||||
call receive_array(pmeta%process, itag, rbuf)
|
||||
|
||||
! coppy the buffer to data block
|
||||
!
|
||||
@ -1535,7 +1534,7 @@ module mesh
|
||||
#ifdef DEBUG
|
||||
use mpitools , only : nproc
|
||||
#endif /* DEBUG */
|
||||
use mpitools , only : reduce_sum_integer_array
|
||||
use mpitools , only : reduce_sum
|
||||
#endif /* MPI */
|
||||
use refinement , only : check_refinement_criterion
|
||||
|
||||
@ -1556,7 +1555,6 @@ module mesh
|
||||
! local variables
|
||||
!
|
||||
integer(kind=4) :: nl, l
|
||||
integer :: iret
|
||||
|
||||
! array for storing the refinement flags
|
||||
!
|
||||
@ -1677,7 +1675,7 @@ module mesh
|
||||
|
||||
! update refinement flags across all processes
|
||||
!
|
||||
call reduce_sum_integer_array(nl, ibuf(1:nl), iret)
|
||||
call reduce_sum(ibuf(1:nl))
|
||||
|
||||
! reset the leaf block counter
|
||||
!
|
||||
@ -1844,7 +1842,7 @@ module mesh
|
||||
use iso_fortran_env, only : error_unit
|
||||
#ifdef MPI
|
||||
use mpitools , only : nprocs, nproc
|
||||
use mpitools , only : send_real_array, receive_real_array
|
||||
use mpitools , only : send_array, receive_array
|
||||
#endif /* MPI */
|
||||
|
||||
! local variables are not implicit by default
|
||||
@ -1871,7 +1869,6 @@ module mesh
|
||||
! tag for the MPI data exchange
|
||||
!
|
||||
integer(kind=4) :: itag
|
||||
integer :: iret
|
||||
|
||||
! local buffer for data block exchange
|
||||
!
|
||||
@ -2070,8 +2067,7 @@ module mesh
|
||||
|
||||
! send data
|
||||
!
|
||||
call send_real_array(size(rbuf), pmeta%process &
|
||||
, itag, rbuf(:,:,:,:), iret)
|
||||
call send_array(pmeta%process, itag, rbuf)
|
||||
|
||||
! deallocate the associated data block (it has to be pchild%data, and not pdata,
|
||||
! otherwise, pchild%data won't be nullified)
|
||||
@ -2093,8 +2089,7 @@ module mesh
|
||||
|
||||
! receive the data
|
||||
!
|
||||
call receive_real_array(size(rbuf) &
|
||||
, pchild%process, itag, rbuf(:,:,:,:), iret)
|
||||
call receive_array(pchild%process, itag, rbuf(:,:,:,:))
|
||||
|
||||
! allocate data block for the current child
|
||||
!
|
||||
|
1280
sources/mpitools.F90
1280
sources/mpitools.F90
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user