From cfedcd54e08c04d77606ed87d433ec46f8eca173 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Wed, 4 Aug 2021 18:15:12 -0400 Subject: [PATCH] Fixed up typos and mismatched intents, allowing the discards to alter param%rmin --- src/discard/discard.f90 | 6 +++--- src/modules/rmvs_classes.f90 | 2 +- src/modules/swiftest_classes.f90 | 8 ++++---- src/modules/symba_classes.f90 | 2 +- src/rmvs/rmvs_discard.f90 | 2 +- src/symba/symba_discard.f90 | 24 ++++++++++++------------ 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/discard/discard.f90 b/src/discard/discard.f90 index 7dbbd95c2..be377e49e 100644 --- a/src/discard/discard.f90 +++ b/src/discard/discard.f90 @@ -10,7 +10,7 @@ module subroutine discard_system(self, param) implicit none ! Arguments class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals logical :: lany_discards @@ -36,7 +36,7 @@ module subroutine discard_pl(self, system, param) ! Arguments class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameter + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameter if (self%nbody == 0) return self%ldiscard(:) = .false. @@ -56,7 +56,7 @@ module subroutine discard_tp(self, system, param) ! Arguments class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameter + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameter associate(tp => self, ntp => self%nbody, cb => system%cb, pl => system%pl, npl => system%pl%nbody) if ((ntp == 0) .or. (npl ==0)) return diff --git a/src/modules/rmvs_classes.f90 b/src/modules/rmvs_classes.f90 index fbbfa15fe..4f7255237 100644 --- a/src/modules/rmvs_classes.f90 +++ b/src/modules/rmvs_classes.f90 @@ -114,7 +114,7 @@ module subroutine rmvs_discard_tp(self, system, param) implicit none class(rmvs_tp), intent(inout) :: self !! RMVS test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine rmvs_discard_tp module function rmvs_encounter_check_tp(self, system, dt) result(lencounter) diff --git a/src/modules/swiftest_classes.f90 b/src/modules/swiftest_classes.f90 index 0fe43e391..74add9081 100644 --- a/src/modules/swiftest_classes.f90 +++ b/src/modules/swiftest_classes.f90 @@ -308,7 +308,7 @@ subroutine abstract_discard_body(self, system, param) import swiftest_body, swiftest_nbody_system, swiftest_parameters class(swiftest_body), intent(inout) :: self !! Swiftest body object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine abstract_discard_body subroutine abstract_accel(self, system, param, t, lbeg) @@ -384,20 +384,20 @@ module subroutine discard_pl(self, system, param) implicit none class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameter + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameter end subroutine discard_pl module subroutine discard_system(self, param) implicit none class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine discard_system module subroutine discard_tp(self, system, param) implicit none class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine discard_tp module pure subroutine drift_all(mu, x, v, n, param, dt, mask, iflag) diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 71df4b92e..c5aba1a7f 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -219,7 +219,7 @@ module subroutine symba_discard_pl(self, system, param) implicit none class(symba_pl), intent(inout) :: self !! SyMBA test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine symba_discard_pl module subroutine symba_drift_pl(self, system, param, dt) diff --git a/src/rmvs/rmvs_discard.f90 b/src/rmvs/rmvs_discard.f90 index 551cdab92..bcdb9f902 100644 --- a/src/rmvs/rmvs_discard.f90 +++ b/src/rmvs/rmvs_discard.f90 @@ -13,7 +13,7 @@ module subroutine rmvs_discard_tp(self, system, param) ! Arguments class(rmvs_tp), intent(inout) :: self !! RMVS test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals integer(I4B) :: i diff --git a/src/symba/symba_discard.f90 b/src/symba/symba_discard.f90 index 63a38fc42..33fe47354 100644 --- a/src/symba/symba_discard.f90 +++ b/src/symba/symba_discard.f90 @@ -90,25 +90,25 @@ subroutine symba_discard_conserve_mtm(pl, system, param, ipl, lescape_body) ! Add planet mass to central body accumulator if (lescape_body) then system%Mescape = system%Mescape + pl%mass(ipl) - do i = 1, npl + do i = 1, pl%nbody if (i == ipl) cycle - pe = pe - pl%mass(i) * pl%mass(ipl) / norm2(xb(:, ipl) - xb(:, i)) + pe = pe - pl%mass(i) * pl%mass(ipl) / norm2(pl%xb(:, ipl) - pl%xb(:, i)) end do Ltot(:) = 0.0_DP - do i = 1, npl - Lpl(:) = mass(i) * pl%xb(:,i) .cross. pl%vb(:, i) + do i = 1, pl%nbody + Lpl(:) = pL%mass(i) * pl%xb(:,i) .cross. pl%vb(:, i) Ltot(:) = Ltot(:) + Lpl(:) end do Ltot(:) = Ltot(:) + cb%mass * cb%xb(:) .cross. cb%vb(:) call pl%b2h(cb) - oldstat = status(ipl) + oldstat = pl%status(ipl) pl%status(ipl) = INACTIVE call pl%h2b(cb) pl%status(ipl) = oldstat - do i = 1, npl + do i = 1, pl%nbody if (i == ipl) cycle - Lpl(:) = mass(i) * pl%xb(:,i) .cross. pl%vb(:, i) + Lpl(:) = pl%mass(i) * pl%xb(:,i) .cross. pl%vb(:, i) Ltot(:) = Ltot(:) - Lpl(:) end do Ltot(:) = Ltot(:) - cb%mass * cb%xb(:) .cross. cb%vb(:) @@ -198,9 +198,9 @@ subroutine symba_discard_nonplpl_conservation(pl, system, param) !! we need to track the conserved quantities with the system bookkeeping terms. implicit none ! Arguments - class(symba_pl), intent(inout) :: pl !! SyMBA test particle object - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(symba_pl), intent(inout) :: pl !! SyMBA test particle object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals integer(I4B) :: i, ndiscard, dstat logical :: lescape @@ -284,7 +284,7 @@ module subroutine symba_discard_pl(self, system, param) ! Arguments class(symba_pl), intent(inout) :: self !! SyMBA test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters select type(system) class is (symba_nbody_system) @@ -310,7 +310,7 @@ module subroutine symba_discard_pl(self, system, param) if (any(pl%ldiscard(:))) then call symba_discard_nonplpl_conservation(self, system, param) - call pl%rearray(self, system, param) + !call pl%rearray(self, system, param) end if end associate