From c231becf874d998ab2239c8f37c581f033e4ceb1 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Wed, 11 Aug 2021 17:36:11 -0400 Subject: [PATCH] Fixed typo in index that was preventing the accelration from being zeroed out at the end of an recursive kick --- src/symba/symba_kick.f90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index b247a9a7d..7a98c2f69 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -128,17 +128,20 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) if (tp%nbody > 0) tp%lmask(:) = tp%status(:) /= INACTIVE irm1 = irec - 1 + if (sgn < 0) then irecl = irec - 1 else irecl = irec end if + if (isplpl) then pl%ah(:,ind1(1:self%nenc)) = 0.0_DP pl%ah(:,ind2(1:self%nenc)) = 0.0_DP else tp%ah(:,ind2(1:self%nenc)) = 0.0_DP end if + do k = 1, self%nenc if (isplpl) then lgoodlevel = (pl%levelg(ind1(k)) >= irm1) .and. (pl%levelg(ind2(k)) >= irm1) @@ -182,7 +185,7 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) pl%vb(:,ind1(k)) = pl%vb(:,ind1(k)) + sgn * dt * pl%ah(:,ind1(k)) pl%vb(:,ind2(k)) = pl%vb(:,ind2(k)) + sgn * dt * pl%ah(:,ind2(k)) pl%ah(:,ind1(k)) = 0.0_DP - pl%ah(:,ind1(k)) = 0.0_DP + pl%ah(:,ind2(k)) = 0.0_DP end do else do k = 1, self%nenc