Skip to content

Commit

Permalink
Merge pull request #403 from matt-frey/2d-nearest-fix
Browse files Browse the repository at this point in the history
Apply nearest fix in 2d
  • Loading branch information
matt-frey committed Sep 27, 2022
2 parents 50f914b + fedb141 commit fbf15fd
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/2d/parcels/parcel_container.f90
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
! =============================================================================
module parcel_container
use options, only : verbose
use parameters, only : extent, hli, center, lower, upper
use parameters, only : extent, extenti, center, lower, upper
implicit none

integer :: n_parcels
Expand Down Expand Up @@ -51,7 +51,7 @@ elemental function get_delx(x1, x2) result (delx)
endif
#endif
! works across periodic edge
delx = delx - extent(1) * dble(int(delx * hli(1)))
delx = delx - extent(1) * dble(nint(delx * extenti(1)))
end function get_delx


Expand Down
4 changes: 2 additions & 2 deletions src/2d/parcels/parcel_nearest.f90
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ subroutine find_nearest(isma, iclo, nmerge)
! Bin parcels in cells:
! Form list of small parcels:
do n = 1, n_parcels
ix = int(dxi(1) * (parcels%position(1, n) - lower(1)))
iz = int(dxi(2) * (parcels%position(2, n) - lower(2)))
ix = mod(int(dxi(1) * (parcels%position(1, n) - lower(1))), nx)
iz = min(int(dxi(2) * (parcels%position(2, n) - lower(2))), nz-1)

! Cell index of parcel:
ij = 1 + ix + nx * iz !This runs from 1 to ncell
Expand Down
5 changes: 5 additions & 0 deletions src/2d/utils/parameters.f90
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ module parameters
! domain size
double precision :: extent(2)

! inverse of domain size
double precision :: extenti(2)

! domain centre
double precision :: center(2)

Expand Down Expand Up @@ -68,6 +71,8 @@ subroutine update_parameters

upper = lower + extent

extenti = one / extent

dx = extent / dble((/nx, nz/))
dxi = one / dx;

Expand Down

0 comments on commit fbf15fd

Please sign in to comment.