Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Added empty eucl method for pl-tp
  • Loading branch information
daminton committed Apr 5, 2021
1 parent cbcfe2a commit c3293d0
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/eucl/eucl.f90
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,19 @@ module subroutine eucl_dist_index_plpl(self)

end subroutine eucl_dist_index_plpl

module subroutine eucl_dist_index_pltp(self, pl)
!! author: Jacob R. Elliott and David A. Minton
!!
!! Turns i,j indices into k index for use in the Euclidean distance matrix
!!
!! Reference:
!!
!! Mélodie Angeletti, Jean-Marie Bonny, Jonas Koko. Parallel Euclidean distance matrix computation on big datasets *.
!! 2019. hal-0204751 implicit none
class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object
class(swiftest_pl), intent(inout) :: pl !! Swiftest massive body object
end subroutine eucl_dist_index_pltp

module subroutine eucl_irij3_plpl(self)
!! author: Jacob R. Elliott and David A. Minton
!!
Expand Down
7 changes: 7 additions & 0 deletions src/modules/swiftest_classes.f90
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ module swiftest_classes
procedure, public :: discard_sun => discard_sun_tp !! Check to see if test particles should be discarded based on their positions relative to the Sun
procedure, public :: discard_peri => discard_peri_tp !! Check to see if a test particle should be discarded because its perihelion distance becomes too small
procedure, public :: discard_pl => discard_pl_tp !! Check to see if test particles should be discarded based on their positions relative to the massive bodies
procedure, public :: eucl_index => eucl_dist_index_pltp !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix
procedure, public :: setup => setup_tp !! A base constructor that sets the number of bodies and
procedure, public :: set_mu => setup_set_mu_tp !! Method used to construct the vectorized form of the central body mass
procedure, public :: h2b => util_coord_h2b_tp !! Convert test particles from heliocentric to barycentric coordinates (position and velocity)
Expand Down Expand Up @@ -361,6 +362,12 @@ module subroutine eucl_dist_index_plpl(self)
class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object
end subroutine

module subroutine eucl_dist_index_pltp(self, pl)
implicit none
class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object
class(swiftest_pl), intent(inout) :: pl !! Swiftest massive body object
end subroutine

module subroutine eucl_irij3_plpl(self)
implicit none
class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object
Expand Down

0 comments on commit c3293d0

Please sign in to comment.