From d18ffb5fda8b22dbb4567876e23bc7f7e89ff99d Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sat, 24 Jul 2021 15:24:14 -0400 Subject: [PATCH 01/19] Fixed encounter check and fleshing out recursive step subroutine --- src/modules/symba_classes.f90 | 8 +++ src/symba/symba_encounter_check.f90 | 93 +++++++++++++---------------- src/symba/symba_step.f90 | 28 ++++++--- src/symba/symba_util.f90 | 1 + 4 files changed, 71 insertions(+), 59 deletions(-) diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 4edad0767..837394571 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -175,6 +175,14 @@ module subroutine symba_discard_tp(self, system, param) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine symba_discard_tp + module pure elemental subroutine symba_encounter_check_one(xr, yr, zr, vxr, vyr, vzr, rhill1, rhill2, dt, irec, lencounter, lvdotr) + implicit none + real(DP), intent(in) :: xr, yr, zr, vxr, vyr, vzr + real(DP), intent(in) :: rhill1, rhill2, dt + integer(I4B), intent(in) :: irec + logical, intent(out) :: lencounter, lvdotr + end subroutine symba_encounter_check_one + module function symba_encounter_check_pl(self, system, dt, irec) result(lany_encounter) implicit none class(symba_pl), intent(inout) :: self !! SyMBA test particle object diff --git a/src/symba/symba_encounter_check.f90 b/src/symba/symba_encounter_check.f90 index e188e57ac..d76a07af5 100644 --- a/src/symba/symba_encounter_check.f90 +++ b/src/symba/symba_encounter_check.f90 @@ -2,6 +2,10 @@ use swiftest contains module function symba_encounter_check_pl(self, system, dt, irec) result(lany_encounter) + !! author: David A. Minton + !! + !! Check for an encounter between massive bodies. + !! implicit none ! Arguments class(symba_pl), intent(inout) :: self !! SyMBA test particle object @@ -11,7 +15,6 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc ! Result logical :: lany_encounter !! Returns true if there is at least one close encounter ! Internals - real(DP) :: r2crit, vdotr, r2, v2, tmin, r2min, term2 integer(I4B) :: nenc_old integer(I8B) :: k real(DP), dimension(NDIM) :: xr, vr @@ -21,34 +24,11 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc allocate(lencounter(nplpl), loc_lvdotr(nplpl)) lencounter(:) = .false. - term2 = RHSCALE * (RSHELL**irec) - do k = 1, nplpl associate(i => pl%k_plpl(1, k), j => pl%k_plpl(2, k)) xr(:) = pl%xh(:, j) - pl%xh(:, i) - r2 = dot_product(xr(:), xr(:)) - r2crit = ((pl%rhill(i) + pl%rhill(i)) * term2)**2 vr(:) = pl%vh(:, j) - pl%vh(:, i) - vdotr = dot_product(vr(:), xr(:)) - if (r2 < r2crit) then - lencounter(k) = .true. - loc_lvdotr(k) = (vdotr < 0.0_DP) - else - if (vdotr < 0.0_DP) then - v2 = dot_product(vr(:), vr(:)) - tmin = -vdotr / v2 - if (tmin < dt) then - r2min = r2 - vdotr * vdotr / v2 - else - r2min = r2 + 2 * vdotr * dt + v2 * dt * dt - end if - r2min = min(r2min, r2) - if (r2min <= r2crit) then - lencounter(k) = .true. - loc_lvdotr(k) = (vdotr < 0.0_DP) - end if - end if - end if + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(i), pl%rhill(j), dt, irec, lencounter(k), loc_lvdotr(k)) end associate end do @@ -71,6 +51,10 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc end function symba_encounter_check_pl module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) + !! author: David A. Minton + !! + !! Check for an encounter between test particles and massive bodies. + !! implicit none ! Arguments class(symba_tp), intent(inout) :: self !! SyMBA test particle object @@ -89,34 +73,11 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc allocate(lencounter(npl, ntp), loc_lvdotr(npl, ntp)) lencounter(:,:) = .false. - term2 = RHSCALE * (RSHELL**irec) - do j = 1, ntp do i = 1, npl xr(:) = tp%xh(:, j) - pl%xh(:, i) - r2 = dot_product(xr(:), xr(:)) - r2crit = (pl%rhill(i) * term2)**2 vr(:) = tp%vh(:, j) - pl%vh(:, i) - vdotr = dot_product(vr(:), xr(:)) - if (r2 < r2crit) then - lencounter(i,j) = .true. - loc_lvdotr(i,j) = (vdotr < 0.0_DP) - else - if (vdotr < 0.0_DP) then - v2 = dot_product(vr(:), vr(:)) - tmin = -vdotr / v2 - if (tmin < dt) then - r2min = r2 - vdotr * vdotr / v2 - else - r2min = r2 + 2 * vdotr * dt + v2 * dt * dt - end if - r2min = min(r2min, r2) - if (r2min <= r2crit) then - lencounter(i,j) = .true. - loc_lvdotr(i,j) = (vdotr < 0.0_DP) - end if - end if - end if + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(i), 0.0_DP, dt, irec, lencounter(i,j), loc_lvdotr(i,j)) end do end do @@ -128,11 +89,8 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc pltpenc_list%status(nenc_old+1:nenc) = ACTIVE pltpenc_list%level(nenc_old+1:nenc) = irec pltpenc_list%lvdotr(nenc_old+1:nenc) = pack(loc_lvdotr(:,:), lencounter(:,:)) - !********************************************************************************************************* - ! This needs to be tested pltpenc_list%index1(nenc_old+1:nenc) = pack(spread([(i, i = 1, npl)], dim=2, ncopies=ntp), lencounter(:,:)) pltpenc_list%index2(nenc_old+1:nenc) = pack(spread([(j, j = 1, ntp)], dim=1, ncopies=npl), lencounter(:,:)) - !********************************************************************************************************* select type(pl) class is (symba_pl) pl%lencounter(pltpenc_list%index1(nenc_old+1:nenc)) = .true. @@ -143,4 +101,35 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc return end function symba_encounter_check_tp + module pure elemental subroutine symba_encounter_check_one(xr, yr, zr, vxr, vyr, vzr, rhill1, rhill2, dt, irec, lencounter, lvdotr) + !! author: David A. Minton + !! + !! Check for an encounter. + !! + !! Adapted from David E. Kaufmann's Swifter routine: symba_chk.f90 + !! Adapted from Hal Levison's Swift routine symba5_chk.f + implicit none + ! Arguments + real(DP), intent(in) :: xr, yr, zr, vxr, vyr, vzr + real(DP), intent(in) :: rhill1, rhill2, dt + integer(I4B), intent(in) :: irec + logical, intent(out) :: lencounter, lvdotr + ! Internals + integer(I4B) :: iflag + real(DP) :: r2, v2, rcrit, r2crit, vdotr + + lencounter = .false. + rcrit = (rhill1 + rhill2)*RHSCALE*(RSHELL**(irec)) + r2crit = rcrit**2 + r2 = xr**2 + yr**2 + zr**2 + v2 = vxr**2 + vyr**2 + vzr**2 + vdotr = xr * vxr + yr * vyr + zr * vzr + iflag = rmvs_chk_ind(r2, v2, vdotr, dt, r2crit) + if (iflag /= 0) lencounter = .true. + lvdotr = (vdotr < 0.0_DP) + + return + end subroutine symba_encounter_check_one + + end submodule s_symba_encounter_check \ No newline at end of file diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index 3f042fbd6..87cdab444 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -52,7 +52,6 @@ module subroutine symba_step_interp_system(self, param, t, dt) real(DP), intent(in) :: dt !! Current stepsize ! Internals real(DP) :: dth !! Half step size - integer(I4B) :: irec !! Recursion level dth = 0.5_DP * dt associate(system => self) @@ -76,8 +75,8 @@ module subroutine symba_step_interp_system(self, param, t, dt) call pl%drift(system, param, dt, pl%status(:) == ACTIVE) call tp%drift(system, param, dt, tp%status(:) == ACTIVE) - irec = 0 - call system%recursive_step(param, t, dt, irec) + + call system%recursive_step(param, t, dt, 0) call pl%set_beg_end(xend = pl%xh) call pl%accel(system, param, t + dt) @@ -113,10 +112,12 @@ module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) real(DP), intent(in) :: dt !! Current stepsize integer(I4B), value, intent(in) :: ireci !! input recursion level ! Internals - integer(I4B) :: i, j, irecp, icflg, index_i, index_j, index_pl, index_tp - real(DP) :: dtl, dth,sgn + integer(I4B) :: i, j, irecp, icflg, nloops + real(DP) :: dtl, dth, sgn + real(DP), dimension(NDIM) :: xr, vr + logical :: lencounter - associate(plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) + associate(pl => self%pl, tp => self%tp, plplenc_list => self%plplenc_list, nplplenc => self%plplenc_list%nenc, pltpenc_list => self%pltpenc_list, npltpenc => self%pltpenc_list%nenc) dtl = param%dt / (NTENC**ireci) dth = 0.5_DP * dtl IF (dtl / param%dt < VSMALL) THEN @@ -127,8 +128,21 @@ module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) END IF irecp = ireci + 1 if (ireci == 0) then - icflg = 0 + nloops = 1 + else + nloops = NTENC end if + do j = 1, nloops + icflg = 0 + do i = 1, nplplenc + associate(index_i => plplenc_list%index1(i), index_j => plplenc_list%index2(i)) + xr(:) = pl%xh(:,index_j) - pl%xh(:,index_i) + vr(:) = pl%vb(:,index_j) - pl%vb(:,index_i) + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), pl%rhill(index_j), dtl, irecp, lencounter, plplenc_list%lvdotr(i)) + end associate + end do + + end do end associate end subroutine symba_step_recur_system diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index 81b351e65..c356d686b 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -59,6 +59,7 @@ module subroutine symba_util_resize_pltpenc(self, nrequested) allocate(enc_temp, source=self) call self%setup(2 * nrequested) call self%copy(enc_temp) + self%nenc = nrequested deallocate(enc_temp) return end subroutine symba_util_resize_pltpenc From 43f6b4cd1e81cc1a45535ed1ce34296095dac61e Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sat, 24 Jul 2021 16:00:00 -0400 Subject: [PATCH 02/19] Added encounter checks for the plpl and pltp encounter lists --- src/modules/symba_classes.f90 | 20 ++++++ src/symba/symba_encounter_check.f90 | 96 +++++++++++++++++++++++++++++ src/symba/symba_step.f90 | 14 +---- 3 files changed, 119 insertions(+), 11 deletions(-) diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 837394571..877f5b585 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -121,6 +121,7 @@ module symba_classes integer(I4B), dimension(:), allocatable :: index1 !! position of the planet in encounter integer(I4B), dimension(:), allocatable :: index2 !! position of the test particle in encounter contains + procedure, public :: encounter_check => symba_encounter_check_pltpenc !! Checks if massive bodies are going through close encounters with each other procedure, public :: setup => symba_setup_pltpenc !! A constructor that sets the number of encounters and allocates and initializes all arrays procedure, public :: copy => symba_util_copy_pltpenc !! Copies all elements of one pltpenc list to another procedure, public :: resize => symba_util_resize_pltpenc !! Checks the current size of the pltpenc_list against the required size and extends it by a factor of 2 more than requested if it is too small @@ -136,6 +137,7 @@ module symba_classes real(DP), dimension(:,:), allocatable :: vb1 !! the barycentric velocity of parent 1 in encounter real(DP), dimension(:,:), allocatable :: vb2 !! the barycentric velocity of parent 2 in encounter contains + procedure, public :: encounter_check => symba_encounter_check_plplenc !! Checks if massive bodies are going through close encounters with each other procedure, public :: setup => symba_setup_plplenc !! A constructor that sets the number of encounters and allocates and initializes all arrays procedure, public :: copy => symba_util_copy_plplenc !! Copies all elements of one plplenc list to another end type symba_plplenc @@ -192,6 +194,24 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_pl + module function symba_encounter_check_plplenc(self, system, dt, irec) result(lany_encounter) + implicit none + class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + logical :: lany_encounter !! Returns true if there is at least one close encounter + end function symba_encounter_check_plplenc + + module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) + implicit none + class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + logical :: lany_encounter !! Returns true if there is at least one close encounter + end function symba_encounter_check_pltpenc + module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) implicit none class(symba_tp), intent(inout) :: self !! SyMBA test particle object diff --git a/src/symba/symba_encounter_check.f90 b/src/symba/symba_encounter_check.f90 index d76a07af5..91feaafd1 100644 --- a/src/symba/symba_encounter_check.f90 +++ b/src/symba/symba_encounter_check.f90 @@ -50,6 +50,102 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc return end function symba_encounter_check_pl + module function symba_encounter_check_plplenc(self, system, dt, irec) result(lany_encounter) + !! author: David A. Minton + !! + !! Check for an encounter between massive bodies in the plplenc list. + !! + !! Adapted from portions of David E. Kaufmann's Swifter routine: symba_step_recur.f90 + implicit none + ! Arguments + class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + logical :: lany_encounter !! Returns true if there is at least one close encounter + ! Internals + integer(I4B) :: i + real(DP), dimension(NDIM) :: xr, vr + logical :: lencounter + real(DP) :: rlim2, rji2 + + lany_encounter = .false. + associate(plplenc_list => self, nplplenc => self%nenc) + select type(pl => system%pl) + class is (symba_pl) + do i = 1, nplplenc + associate(index_i => plplenc_list%index1(i), index_j => plplenc_list%index2(i)) + xr(:) = pl%xh(:,index_j) - pl%xh(:,index_i) + vr(:) = pl%vb(:,index_j) - pl%vb(:,index_i) + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), pl%rhill(index_j), dt, irec, lencounter, plplenc_list%lvdotr(i)) + if (lencounter) then + rlim2 = (pl%radius(index_i) + pl%radius(index_j))**2 + rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore + if (rji2 > rlim2) then + lany_encounter = .true. + pl%levelg(index_i) = irec + pl%levelm(index_i) = MAX(irec, pl%levelm(index_i)) + pl%levelg(index_j) = irec + pl%levelm(index_j) = MAX(irec, pl%levelm(index_j)) + plplenc_list%level(i) = irec + end if + end if + end associate + end do + end select + end associate + return + end function symba_encounter_check_plplenc + + module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) + !! author: David A. Minton + !! + !! Check for an encounter between test particles and massive bodies in the pltpenc list. + !! + !! Adapted from portions of David E. Kaufmann's Swifter routine: symba_step_recur.f90 + implicit none + ! Arguments + class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + logical :: lany_encounter !! Returns true if there is at least one close encounter + ! Internals + integer(I4B) :: i + real(DP), dimension(NDIM) :: xr, vr + logical :: lencounter + real(DP) :: rlim2, rji2 + + lany_encounter = .false. + associate(pltpenc_list => self, npltpenc => self%nenc) + select type(pl => system%pl) + class is (symba_pl) + select type(tp => system%tp) + class is (symba_tp) + do i = 1, npltpenc + associate(index_i => pltpenc_list%index1(i), index_j => pltpenc_list%index2(i)) + xr(:) = tp%xh(:,index_j) - pl%xh(:,index_i) + vr(:) = tp%vb(:,index_j) - pl%vb(:,index_i) + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), 0.0_DP, dt, irec, lencounter, pltpenc_list%lvdotr(i)) + if (lencounter) then + rlim2 = (pl%radius(index_i))**2 + rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore + if (rji2 > rlim2) then + lany_encounter = .true. + pl%levelg(index_i) = irec + pl%levelm(index_i) = MAX(irec, pl%levelm(index_i)) + tp%levelg(index_j) = irec + tp%levelm(index_j) = MAX(irec, tp%levelm(index_j)) + pltpenc_list%level(i) = irec + end if + end if + end associate + end do + end select + end select + end associate + end function symba_encounter_check_pltpenc + module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) !! author: David A. Minton !! diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index 87cdab444..cc7090065 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -112,12 +112,12 @@ module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) real(DP), intent(in) :: dt !! Current stepsize integer(I4B), value, intent(in) :: ireci !! input recursion level ! Internals - integer(I4B) :: i, j, irecp, icflg, nloops + integer(I4B) :: i, j, irecp, nloops real(DP) :: dtl, dth, sgn real(DP), dimension(NDIM) :: xr, vr logical :: lencounter - associate(pl => self%pl, tp => self%tp, plplenc_list => self%plplenc_list, nplplenc => self%plplenc_list%nenc, pltpenc_list => self%pltpenc_list, npltpenc => self%pltpenc_list%nenc) + associate(system => self, pl => self%pl, tp => self%tp, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) dtl = param%dt / (NTENC**ireci) dth = 0.5_DP * dtl IF (dtl / param%dt < VSMALL) THEN @@ -133,15 +133,7 @@ module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) nloops = NTENC end if do j = 1, nloops - icflg = 0 - do i = 1, nplplenc - associate(index_i => plplenc_list%index1(i), index_j => plplenc_list%index2(i)) - xr(:) = pl%xh(:,index_j) - pl%xh(:,index_i) - vr(:) = pl%vb(:,index_j) - pl%vb(:,index_i) - call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), pl%rhill(index_j), dtl, irecp, lencounter, plplenc_list%lvdotr(i)) - end associate - end do - + lencounter = plplenc_list%encounter_check(system, dtl, irecp) .or. pltpenc_list%encounter_check(system, dtl, irecp) end do end associate From cceaf460bcb700188d5a2f47ef33c5fb0bad3cc4 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sat, 24 Jul 2021 17:24:28 -0400 Subject: [PATCH 03/19] Simplified call to recursive step and fleshed out recursive step algorithm --- src/modules/symba_classes.f90 | 50 +++++++++++++++-------- src/symba/symba_kick.f90 | 35 ++++++++++++++++ src/symba/symba_step.f90 | 75 ++++++++++++++++++++++++----------- 3 files changed, 120 insertions(+), 40 deletions(-) create mode 100644 src/symba/symba_kick.f90 diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 877f5b585..345b1b31c 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -122,9 +122,10 @@ module symba_classes integer(I4B), dimension(:), allocatable :: index2 !! position of the test particle in encounter contains procedure, public :: encounter_check => symba_encounter_check_pltpenc !! Checks if massive bodies are going through close encounters with each other - procedure, public :: setup => symba_setup_pltpenc !! A constructor that sets the number of encounters and allocates and initializes all arrays - procedure, public :: copy => symba_util_copy_pltpenc !! Copies all elements of one pltpenc list to another - procedure, public :: resize => symba_util_resize_pltpenc !! Checks the current size of the pltpenc_list against the required size and extends it by a factor of 2 more than requested if it is too small + procedure, public :: kick => symba_kick_pltpenc !! Kick barycentric velocities of active test particles within SyMBA recursion + procedure, public :: setup => symba_setup_pltpenc !! A constructor that sets the number of encounters and allocates and initializes all arrays + procedure, public :: copy => symba_util_copy_pltpenc !! Copies all elements of one pltpenc list to another + procedure, public :: resize => symba_util_resize_pltpenc !! Checks the current size of the pltpenc_list against the required size and extends it by a factor of 2 more than requested if it is too small end type symba_pltpenc !******************************************************************************************************************************** @@ -138,8 +139,9 @@ module symba_classes real(DP), dimension(:,:), allocatable :: vb2 !! the barycentric velocity of parent 2 in encounter contains procedure, public :: encounter_check => symba_encounter_check_plplenc !! Checks if massive bodies are going through close encounters with each other - procedure, public :: setup => symba_setup_plplenc !! A constructor that sets the number of encounters and allocates and initializes all arrays - procedure, public :: copy => symba_util_copy_plplenc !! Copies all elements of one plplenc list to another + procedure, public :: kick => symba_kick_plplenc !! Kick barycentric velocities of massive bodies within SyMBA recursion + procedure, public :: setup => symba_setup_plplenc !! A constructor that sets the number of encounters and allocates and initializes all arrays + procedure, public :: copy => symba_util_copy_plplenc !! Copies all elements of one plplenc list to another end type symba_plplenc !******************************************************************************************************************************** @@ -205,22 +207,40 @@ end function symba_encounter_check_plplenc module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) implicit none - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level + class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_pltpenc module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) implicit none - class(symba_tp), intent(inout) :: self !! SyMBA test particle object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level + class(symba_tp), intent(inout) :: self !! SyMBA test particle object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_tp + module subroutine symba_kick_plplenc(self, system, dt, irec, sgn) + implicit none + class(symba_plplenc), intent(in) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + end subroutine symba_kick_plplenc + + module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) + implicit none + class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + end subroutine symba_kick_pltpenc + module subroutine symba_io_dump_particle_info(self, param, msg) use swiftest_classes, only : swiftest_parameters implicit none @@ -325,12 +345,10 @@ module subroutine symba_step_interp_system(self, param, t, dt) real(DP), intent(in) :: dt !! Current stepsize end subroutine symba_step_interp_system - module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) + module recursive subroutine symba_step_recur_system(self, param, ireci) implicit none class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! Simulation time - real(DP), intent(in) :: dt !! Current stepsize integer(I4B), value, intent(in) :: ireci !! input recursion level end subroutine symba_step_recur_system diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 new file mode 100644 index 000000000..6d438a950 --- /dev/null +++ b/src/symba/symba_kick.f90 @@ -0,0 +1,35 @@ +submodule(symba_classes) s_symba_kick + use swiftest +contains + + module subroutine symba_kick_plplenc(self, system, dt, irec, sgn) + !! author: David A. Minton + !! + !! !! Kick barycentric velocities of massive bodies within SyMBA recursion. + !! + !! Adapted from David E. Kaufmann's Swifter routine: symba_kick.f90 + !! Adapted from Hal Levison's Swift routine symba5_kick.f + implicit none + class(symba_plplenc), intent(in) :: self !! SyMBA pl-pl encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + end subroutine symba_kick_plplenc + + module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) + !! author: David A. Minton + !! + !! !! Kick barycentric velocities of active test particles within SyMBA recursion. + !! + !! Adapted from David E. Kaufmann's Swifter routine: symba_kick.f90 + !! Adapted from Hal Levison's Swift routine symba5_kick.f + implicit none + class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object + class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + end subroutine symba_kick_pltpenc + +end submodule s_symba_kick \ No newline at end of file diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index cc7090065..b56db66d5 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -76,7 +76,7 @@ module subroutine symba_step_interp_system(self, param, t, dt) call pl%drift(system, param, dt, pl%status(:) == ACTIVE) call tp%drift(system, param, dt, tp%status(:) == ACTIVE) - call system%recursive_step(param, t, dt, 0) + call system%recursive_step(param, 0) call pl%set_beg_end(xend = pl%xh) call pl%accel(system, param, t + dt) @@ -96,7 +96,7 @@ module subroutine symba_step_interp_system(self, param, t, dt) return end subroutine symba_step_interp_system - module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) + module recursive subroutine symba_step_recur_system(self, param, ireci) !! author: David A. Minton !! !! Step interacting planets and active test particles ahead in democratic heliocentric coordinates at the current @@ -108,33 +108,60 @@ module recursive subroutine symba_step_recur_system(self, param, t, dt, ireci) ! Arguments class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! Simulation time - real(DP), intent(in) :: dt !! Current stepsize integer(I4B), value, intent(in) :: ireci !! input recursion level ! Internals - integer(I4B) :: i, j, irecp, nloops - real(DP) :: dtl, dth, sgn + integer(I4B) :: i, j, irecp, nloops, sgn + real(DP) :: dtl, dth real(DP), dimension(NDIM) :: xr, vr logical :: lencounter - associate(system => self, pl => self%pl, tp => self%tp, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) - dtl = param%dt / (NTENC**ireci) - dth = 0.5_DP * dtl - IF (dtl / param%dt < VSMALL) THEN - write(*, *) "SWIFTEST Warning:" - write(*, *) " In symba_step_recur_system, local time step is too small" - write(*, *) " Roundoff error will be important!" - call util_exit(FAILURE) - END IF - irecp = ireci + 1 - if (ireci == 0) then - nloops = 1 - else - nloops = NTENC - end if - do j = 1, nloops - lencounter = plplenc_list%encounter_check(system, dtl, irecp) .or. pltpenc_list%encounter_check(system, dtl, irecp) - end do + associate(system => self, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) + select type(pl => self%pl) + class is (symba_pl) + select type(tp => self%tp) + class is (symba_tp) + dtl = param%dt / (NTENC**ireci) + dth = 0.5_DP * dtl + IF (dtl / param%dt < VSMALL) THEN + write(*, *) "SWIFTEST Warning:" + write(*, *) " In symba_step_recur_system, local time step is too small" + write(*, *) " Roundoff error will be important!" + call util_exit(FAILURE) + END IF + irecp = ireci + 1 + if (ireci == 0) then + nloops = 1 + else + nloops = NTENC + end if + do j = 1, nloops + lencounter = plplenc_list%encounter_check(system, dtl, irecp) .or. pltpenc_list%encounter_check(system, dtl, irecp) + sgn = 1 + call plplenc_list%kick(system, dth, irecp, sgn) + call pltpenc_list%kick(system, dth, irecp, sgn) + if (ireci /= 0) then + sgn = -1 + call plplenc_list%kick(system, dth, irecp, sgn) + call pltpenc_list%kick(system, dth, irecp, sgn) + end if + + call pl%drift(system, param, dtl, pl%status(:) == ACTIVE .and. pl%levelg(:) == ireci) + call tp%drift(system, param, dtl, tp%status(:) == ACTIVE .and. tp%levelg(:) == ireci) + + if (lencounter) call system%recursive_step(param, irecp) + + sgn = 1 + call plplenc_list%kick(system, dth, irecp, sgn) + call pltpenc_list%kick(system, dth, irecp, sgn) + if (ireci /= 0) then + sgn = -1 + call plplenc_list%kick(system, dth, irecp, sgn) + call pltpenc_list%kick(system, dth, irecp, sgn) + end if + + end do + end select + end select end associate end subroutine symba_step_recur_system From 9fd453f624018f4755aaf4d9b5d9dfd43cf3432d Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sat, 24 Jul 2021 23:40:56 -0400 Subject: [PATCH 04/19] Consolidated the plplenc and pltpenc encounter checks into one polymorphic subroutine --- src/modules/symba_classes.f90 | 1 - src/symba/symba_encounter_check.f90 | 107 +++++++++++----------------- 2 files changed, 40 insertions(+), 68 deletions(-) diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 345b1b31c..42b8903d9 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -138,7 +138,6 @@ module symba_classes real(DP), dimension(:,:), allocatable :: vb1 !! the barycentric velocity of parent 1 in encounter real(DP), dimension(:,:), allocatable :: vb2 !! the barycentric velocity of parent 2 in encounter contains - procedure, public :: encounter_check => symba_encounter_check_plplenc !! Checks if massive bodies are going through close encounters with each other procedure, public :: kick => symba_kick_plplenc !! Kick barycentric velocities of massive bodies within SyMBA recursion procedure, public :: setup => symba_setup_plplenc !! A constructor that sets the number of encounters and allocates and initializes all arrays procedure, public :: copy => symba_util_copy_plplenc !! Copies all elements of one plplenc list to another diff --git a/src/symba/symba_encounter_check.f90 b/src/symba/symba_encounter_check.f90 index 91feaafd1..87f227058 100644 --- a/src/symba/symba_encounter_check.f90 +++ b/src/symba/symba_encounter_check.f90 @@ -50,57 +50,11 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc return end function symba_encounter_check_pl - module function symba_encounter_check_plplenc(self, system, dt, irec) result(lany_encounter) - !! author: David A. Minton - !! - !! Check for an encounter between massive bodies in the plplenc list. - !! - !! Adapted from portions of David E. Kaufmann's Swifter routine: symba_step_recur.f90 - implicit none - ! Arguments - class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - logical :: lany_encounter !! Returns true if there is at least one close encounter - ! Internals - integer(I4B) :: i - real(DP), dimension(NDIM) :: xr, vr - logical :: lencounter - real(DP) :: rlim2, rji2 - - lany_encounter = .false. - associate(plplenc_list => self, nplplenc => self%nenc) - select type(pl => system%pl) - class is (symba_pl) - do i = 1, nplplenc - associate(index_i => plplenc_list%index1(i), index_j => plplenc_list%index2(i)) - xr(:) = pl%xh(:,index_j) - pl%xh(:,index_i) - vr(:) = pl%vb(:,index_j) - pl%vb(:,index_i) - call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), pl%rhill(index_j), dt, irec, lencounter, plplenc_list%lvdotr(i)) - if (lencounter) then - rlim2 = (pl%radius(index_i) + pl%radius(index_j))**2 - rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore - if (rji2 > rlim2) then - lany_encounter = .true. - pl%levelg(index_i) = irec - pl%levelm(index_i) = MAX(irec, pl%levelm(index_i)) - pl%levelg(index_j) = irec - pl%levelm(index_j) = MAX(irec, pl%levelm(index_j)) - plplenc_list%level(i) = irec - end if - end if - end associate - end do - end select - end associate - return - end function symba_encounter_check_plplenc - module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) !! author: David A. Minton !! !! Check for an encounter between test particles and massive bodies in the pltpenc list. + !! Note: This method works for the polymorphic symba_pltpenc and symba_plplenc types. !! !! Adapted from portions of David E. Kaufmann's Swifter routine: symba_step_recur.f90 implicit none @@ -113,37 +67,56 @@ module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lan ! Internals integer(I4B) :: i real(DP), dimension(NDIM) :: xr, vr - logical :: lencounter + logical :: lencounter, isplpl real(DP) :: rlim2, rji2 lany_encounter = .false. - associate(pltpenc_list => self, npltpenc => self%nenc) - select type(pl => system%pl) - class is (symba_pl) - select type(tp => system%tp) - class is (symba_tp) - do i = 1, npltpenc - associate(index_i => pltpenc_list%index1(i), index_j => pltpenc_list%index2(i)) + select type(self) + class is (symba_plplenc) + isplpl = .true. + class is (symba_pltpenc) + isplpl = .false. + end select + select type(pl => system%pl) + class is (symba_pl) + select type(tp => system%tp) + class is (symba_tp) + do i = 1, self%nenc + associate(index_i => self%index1(i), index_j => self%index2(i)) + if (isplpl) then + xr(:) = pl%xh(:,index_j) - pl%xh(:,index_i) + vr(:) = pl%vb(:,index_j) - pl%vb(:,index_i) + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), pl%rhill(index_j), dt, irec, lencounter, self%lvdotr(i)) + else xr(:) = tp%xh(:,index_j) - pl%xh(:,index_i) vr(:) = tp%vb(:,index_j) - pl%vb(:,index_i) - call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), 0.0_DP, dt, irec, lencounter, pltpenc_list%lvdotr(i)) - if (lencounter) then + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(index_i), 0.0_DP, dt, irec, lencounter, self%lvdotr(i)) + end if + if (lencounter) then + if (isplpl) then + rlim2 = (pl%radius(index_i) + pl%radius(index_j))**2 + else rlim2 = (pl%radius(index_i))**2 - rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore - if (rji2 > rlim2) then - lany_encounter = .true. - pl%levelg(index_i) = irec - pl%levelm(index_i) = MAX(irec, pl%levelm(index_i)) + end if + rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore + if (rji2 > rlim2) then + lany_encounter = .true. + pl%levelg(index_i) = irec + pl%levelm(index_i) = MAX(irec, pl%levelm(index_i)) + if (isplpl) then + pl%levelg(index_j) = irec + pl%levelm(index_j) = MAX(irec, pl%levelm(index_j)) + else tp%levelg(index_j) = irec tp%levelm(index_j) = MAX(irec, tp%levelm(index_j)) - pltpenc_list%level(i) = irec end if - end if - end associate + self%level(i) = irec + end if + end if + end associate end do - end select end select - end associate + end select end function symba_encounter_check_pltpenc module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) From 2dacd1b76e630272449f692130478fb02de2cc87 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sun, 25 Jul 2021 11:23:29 -0400 Subject: [PATCH 05/19] Converted symba_kick to OOF --- src/modules/symba_classes.f90 | 19 ------ src/symba/symba_kick.f90 | 115 ++++++++++++++++++++++++++++------ 2 files changed, 95 insertions(+), 39 deletions(-) diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 42b8903d9..2a9602205 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -138,7 +138,6 @@ module symba_classes real(DP), dimension(:,:), allocatable :: vb1 !! the barycentric velocity of parent 1 in encounter real(DP), dimension(:,:), allocatable :: vb2 !! the barycentric velocity of parent 2 in encounter contains - procedure, public :: kick => symba_kick_plplenc !! Kick barycentric velocities of massive bodies within SyMBA recursion procedure, public :: setup => symba_setup_plplenc !! A constructor that sets the number of encounters and allocates and initializes all arrays procedure, public :: copy => symba_util_copy_plplenc !! Copies all elements of one plplenc list to another end type symba_plplenc @@ -195,15 +194,6 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_pl - module function symba_encounter_check_plplenc(self, system, dt, irec) result(lany_encounter) - implicit none - class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - logical :: lany_encounter !! Returns true if there is at least one close encounter - end function symba_encounter_check_plplenc - module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) implicit none class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object @@ -222,15 +212,6 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_tp - module subroutine symba_kick_plplenc(self, system, dt, irec, sgn) - implicit none - class(symba_plplenc), intent(in) :: self !! SyMBA pl-pl encounter list object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration - end subroutine symba_kick_plplenc - module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) implicit none class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 6d438a950..0586b2a5f 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -2,34 +2,109 @@ use swiftest contains - module subroutine symba_kick_plplenc(self, system, dt, irec, sgn) - !! author: David A. Minton - !! - !! !! Kick barycentric velocities of massive bodies within SyMBA recursion. - !! - !! Adapted from David E. Kaufmann's Swifter routine: symba_kick.f90 - !! Adapted from Hal Levison's Swift routine symba5_kick.f - implicit none - class(symba_plplenc), intent(in) :: self !! SyMBA pl-pl encounter list object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration - end subroutine symba_kick_plplenc - module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) !! author: David A. Minton !! - !! !! Kick barycentric velocities of active test particles within SyMBA recursion. + !! Kick barycentric velocities of massive bodies and ACTIVE test particles within SyMBA recursion. + !! Note: This method works for the polymorphic symba_pltpenc and symba_plplenc types !! !! Adapted from David E. Kaufmann's Swifter routine: symba_kick.f90 !! Adapted from Hal Levison's Swift routine symba5_kick.f implicit none - class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object + ! Arguments + class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + ! Internals + integer(I4B) :: i, irm1, irecl + real(DP) :: r, rr, ri, ris, rim1, r2, ir3, fac, faci, facj + real(DP), dimension(NDIM) :: dx + logical :: isplpl, lgoodlevel + + select type(self) + class is (symba_plplenc) + isplpl = .true. + class is (symba_pltpenc) + isplpl = .false. + end select + select type(pl => system%pl) + class is (symba_pl) + select type(tp => system%tp) + class is (symba_tp) + irm1 = irec - 1 + if (sgn < 0) then + irecl = irec - 1 + else + irecl = irec + end if + do i = 1, self%nenc + associate(index_i => self%index1(i), index_j => self%index2(i)) + if (isplpl) then + pl%ah(:,index_i) = 0.0_DP + pl%ah(:,index_j) = 0.0_DP + else + tp%ah(:,index_j) = 0.0_DP + end if + if (isplpl) then + lgoodlevel = (pl%levelg(index_i) >= irm1) .and. (pl%levelg(index_j) >= irm1) + else + lgoodlevel = (pl%levelg(index_i) >= irm1) .and. (tp%levelg(index_j) >= irm1) + end if + if ((self%status(i) == ACTIVE) .and. lgoodlevel) then + if (isplpl) then + ri = ((pl%rhill(index_i) + pl%rhill(index_j))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + rim1 = ri * (RSHELL**2) + dx(:) = pl%xh(:,index_j) - pl%xh(:,index_i) + else + ri = ((pl%rhill(index_i))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + rim1 = ri * (RSHELL**2) + dx(:) = tp%xh(:,index_j) - pl%xh(:,index_i) + end if + r2 = dot_product(dx(:), dx(:)) + if (r2 < rim1) then + fac = 0.0_DP + else if (r2 < ri) then + ris = sqrt(ri) + r = sqrt(r2) + rr = (ris - r) / (ris * (1.0_DP - RSHELL)) + fac = (r2**(-1.5_DP)) * (1.0_DP - 3 * (rr**2) + 2 * (rr**3)) + else + ir3 = 1.0_DP / (r2 * sqrt(r2)) + fac = ir3 + end if + faci = fac * pl%mass(index_i) + if (isplpl) then + facj = fac * pl%mass(index_j) + pl%ah(:,index_i) = pl%ah(:,index_i) + facj*dx(:) + pl%ah(:,index_j) = pl%ah(:,index_j) - faci*dx(:) + else + tp%ah(:,index_j) = tp%ah(:,index_j) - faci*dx(:) + end if + end if + end associate + end do + if (isplpl) then + do i = 1, self%nenc + associate(index_i => self%index1(i), index_j => self%index2(i)) + pl%vb(:,index_i) = pl%vb(:,index_i) + sgn * dt * pl%ah(:,index_i) + pl%vb(:,index_j) = pl%vb(:,index_j) + sgn * dt * pl%ah(:,index_j) + pl%ah(:,index_i) = 0.0_DP + pl%ah(:,index_j) = 0.0_DP + end associate + end do + else + where(tp%status(self%index2(1:self%nenc)) == ACTIVE) + tp%vb(1,self%index2(:)) = tp%vb(1,self%index2(:)) + sgn * dt * tp%ah(1,self%index2(:)) + tp%vb(2,self%index2(:)) = tp%vb(2,self%index2(:)) + sgn * dt * tp%ah(2,self%index2(:)) + tp%vb(3,self%index2(:)) = tp%vb(3,self%index2(:)) + sgn * dt * tp%ah(3,self%index2(:)) + end where + tp%ah(:,self%index2(1:self%nenc)) = 0.0_DP + end if + end select + end select + return end subroutine symba_kick_pltpenc end submodule s_symba_kick \ No newline at end of file From 6328d86d6e0720c08da6f7be11075af54b87d38c Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sun, 25 Jul 2021 18:26:35 -0400 Subject: [PATCH 06/19] Fixed symba_interp drift mask --- .../1pl_1tp_encounter/swiftest_vs_swifter.ipynb | 6 +++--- src/symba/symba_step.f90 | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb index 2c1c7d294..fbe6d8246 100644 --- a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb +++ b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb @@ -81,8 +81,8 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, "execution_count": 6, @@ -91,7 +91,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index b56db66d5..d34956f4b 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -52,6 +52,7 @@ module subroutine symba_step_interp_system(self, param, t, dt) real(DP), intent(in) :: dt !! Current stepsize ! Internals real(DP) :: dth !! Half step size + integer(I4B) :: irec !! Recursion level dth = 0.5_DP * dt associate(system => self) @@ -72,11 +73,11 @@ module subroutine symba_step_interp_system(self, param, t, dt) call pl%kick(dth) call tp%kick(dth) - - call pl%drift(system, param, dt, pl%status(:) == ACTIVE) - call tp%drift(system, param, dt, tp%status(:) == ACTIVE) - - call system%recursive_step(param, 0) + irec = -1 + call pl%drift(system, param, dt, pl%status(:) == ACTIVE .and. pl%levelg(:) == irec) + call tp%drift(system, param, dt, tp%status(:) == ACTIVE .and. tp%levelg(:) == irec) + irec = 0 + call system%recursive_step(param, irec) call pl%set_beg_end(xend = pl%xh) call pl%accel(system, param, t + dt) From bb3187ea87f068f585367c9fbcb914e72ca01787 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 10:46:29 -0400 Subject: [PATCH 07/19] Fixed bug that prevented the encounter list resize to save the correct number of encounters. Also corrected final barycentric velocity conversion in symba_step_interp_system. --- .../swiftest_vs_swifter.ipynb | 536 +++++++++++++++++- src/symba/symba_encounter_check.f90 | 1 + src/symba/symba_step.f90 | 4 +- src/symba/symba_util.f90 | 11 +- 4 files changed, 542 insertions(+), 10 deletions(-) diff --git a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb index fbe6d8246..6e3effc7c 100644 --- a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb +++ b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb @@ -81,8 +81,8 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, "execution_count": 6, @@ -91,7 +91,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -106,6 +106,536 @@ "swiftdiff['px'].plot.line(x=\"time (y)\")" ] }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'px' (time (y): 199, id: 2)>\n",
+       "array([[ 0.00000000e+00,  0.00000000e+00],\n",
+       "       [ 0.00000000e+00, -7.12220460e-09],\n",
+       "       [ 0.00000000e+00, -2.84900827e-08],\n",
+       "       [ 0.00000000e+00, -6.41074152e-08],\n",
+       "       [ 0.00000000e+00, -1.13980512e-07],\n",
+       "       [ 0.00000000e+00, -1.78118202e-07],\n",
+       "       [ 0.00000000e+00, -2.56531852e-07],\n",
+       "       [ 0.00000000e+00, -3.49235353e-07],\n",
+       "       [ 0.00000000e+00, -4.56245140e-07],\n",
+       "       [ 0.00000000e+00, -5.77580189e-07],\n",
+       "       [ 0.00000000e+00, -7.13262030e-07],\n",
+       "       [ 0.00000000e+00, -8.63314745e-07],\n",
+       "       [ 0.00000000e+00, -1.02776499e-06],\n",
+       "       [ 0.00000000e+00, -1.20664199e-06],\n",
+       "       [ 0.00000000e+00, -1.39997756e-06],\n",
+       "       [ 0.00000000e+00, -1.60780612e-06],\n",
+       "       [ 0.00000000e+00, -1.83016468e-06],\n",
+       "       [ 0.00000000e+00, -2.06709291e-06],\n",
+       "       [ 0.00000000e+00, -2.31863308e-06],\n",
+       "       [ 0.00000000e+00, -2.58483014e-06],\n",
+       "...\n",
+       "       [-4.44089210e-16, -5.00980628e-04],\n",
+       "       [-1.22124533e-15, -5.18253726e-04],\n",
+       "       [-3.33066907e-15, -5.36896942e-04],\n",
+       "       [-4.44089210e-15, -5.57134011e-04],\n",
+       "       [-5.44009282e-15, -5.79246689e-04],\n",
+       "       [-5.44009282e-15, -6.03596238e-04],\n",
+       "       [-5.32907052e-15, -6.30655877e-04],\n",
+       "       [-5.21804822e-15, -6.61061384e-04],\n",
+       "       [-5.10702591e-15, -6.95693612e-04],\n",
+       "       [-4.99600361e-15, -7.35820563e-04],\n",
+       "       [-4.99600361e-15, -7.83359285e-04],\n",
+       "       [ 1.33226763e-15, -8.41403959e-04],\n",
+       "       [ 4.77395901e-15, -9.15431516e-04],\n",
+       "       [-2.22044605e-16, -1.01661465e-03],\n",
+       "       [ 3.77475828e-15, -1.17430457e-03],\n",
+       "       [ 1.29488925e-06, -1.53697214e-03],\n",
+       "       [ 3.16460020e-03,  1.93749443e-03],\n",
+       "       [ 3.17685641e-03,  3.61711129e-02],\n",
+       "       [ 3.18905387e-03,  7.04843014e-02],\n",
+       "       [ 3.20119234e-03,             nan]])\n",
+       "Coordinates:\n",
+       "  * id        (id) int64 2 100\n",
+       "  * time (y)  (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1342 0.1348 0.1355
" + ], + "text/plain": [ + "\n", + "array([[ 0.00000000e+00, 0.00000000e+00],\n", + " [ 0.00000000e+00, -7.12220460e-09],\n", + " [ 0.00000000e+00, -2.84900827e-08],\n", + " [ 0.00000000e+00, -6.41074152e-08],\n", + " [ 0.00000000e+00, -1.13980512e-07],\n", + " [ 0.00000000e+00, -1.78118202e-07],\n", + " [ 0.00000000e+00, -2.56531852e-07],\n", + " [ 0.00000000e+00, -3.49235353e-07],\n", + " [ 0.00000000e+00, -4.56245140e-07],\n", + " [ 0.00000000e+00, -5.77580189e-07],\n", + " [ 0.00000000e+00, -7.13262030e-07],\n", + " [ 0.00000000e+00, -8.63314745e-07],\n", + " [ 0.00000000e+00, -1.02776499e-06],\n", + " [ 0.00000000e+00, -1.20664199e-06],\n", + " [ 0.00000000e+00, -1.39997756e-06],\n", + " [ 0.00000000e+00, -1.60780612e-06],\n", + " [ 0.00000000e+00, -1.83016468e-06],\n", + " [ 0.00000000e+00, -2.06709291e-06],\n", + " [ 0.00000000e+00, -2.31863308e-06],\n", + " [ 0.00000000e+00, -2.58483014e-06],\n", + "...\n", + " [-4.44089210e-16, -5.00980628e-04],\n", + " [-1.22124533e-15, -5.18253726e-04],\n", + " [-3.33066907e-15, -5.36896942e-04],\n", + " [-4.44089210e-15, -5.57134011e-04],\n", + " [-5.44009282e-15, -5.79246689e-04],\n", + " [-5.44009282e-15, -6.03596238e-04],\n", + " [-5.32907052e-15, -6.30655877e-04],\n", + " [-5.21804822e-15, -6.61061384e-04],\n", + " [-5.10702591e-15, -6.95693612e-04],\n", + " [-4.99600361e-15, -7.35820563e-04],\n", + " [-4.99600361e-15, -7.83359285e-04],\n", + " [ 1.33226763e-15, -8.41403959e-04],\n", + " [ 4.77395901e-15, -9.15431516e-04],\n", + " [-2.22044605e-16, -1.01661465e-03],\n", + " [ 3.77475828e-15, -1.17430457e-03],\n", + " [ 1.29488925e-06, -1.53697214e-03],\n", + " [ 3.16460020e-03, 1.93749443e-03],\n", + " [ 3.17685641e-03, 3.61711129e-02],\n", + " [ 3.18905387e-03, 7.04843014e-02],\n", + " [ 3.20119234e-03, nan]])\n", + "Coordinates:\n", + " * id (id) int64 2 100\n", + " * time (y) (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1342 0.1348 0.1355" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "swiftdiff['px']" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/src/symba/symba_encounter_check.f90 b/src/symba/symba_encounter_check.f90 index 87f227058..17383f9c0 100644 --- a/src/symba/symba_encounter_check.f90 +++ b/src/symba/symba_encounter_check.f90 @@ -71,6 +71,7 @@ module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lan real(DP) :: rlim2, rji2 lany_encounter = .false. + if (self%nenc == 0) return select type(self) class is (symba_plplenc) isplpl = .true. diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index d34956f4b..0ef7f8df8 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -86,9 +86,9 @@ module subroutine symba_step_interp_system(self, param, t, dt) call pl%kick(dth) call tp%kick(dth) - call pl%vh2vb(cb) + call pl%vb2vh(cb) call pl%lindrift(cb, dth, lbeg=.false.) - call tp%vh2vb(vbcb = -cb%ptend) + call tp%vb2vh(vbcb = -cb%ptend) call tp%lindrift(cb, dth, lbeg=.false.) end select end select diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index c356d686b..031ae4ae5 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -55,12 +55,13 @@ module subroutine symba_util_resize_pltpenc(self, nrequested) integer(I4B) :: nold nold = size(self%status) - if (nrequested <= nold) return - allocate(enc_temp, source=self) - call self%setup(2 * nrequested) - call self%copy(enc_temp) + if (nrequested > nold) then + allocate(enc_temp, source=self) + call self%setup(2 * nrequested) + call self%copy(enc_temp) + deallocate(enc_temp) + end if self%nenc = nrequested - deallocate(enc_temp) return end subroutine symba_util_resize_pltpenc From b55887d738a8c54dfabc5f95fc373ab48efb94f0 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 10:57:35 -0400 Subject: [PATCH 08/19] Removed commented out old cruft --- src/kick/kick.f90 | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index efad4702a..56e74dfcd 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -56,9 +56,6 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) acc(:) = 0.0_DP do j = 1, npl dx(:) = tp%xh(:,i) - xhp(:, j) - !rji2 = dot_product(dx(:), dx(:)) - !irij3 = 1.0_DP / (rji2 * sqrt(rji2)) - !fac = GMpl(j) * irij3 r2 = dot_product(dx(:), dx(:)) fac = GMpl(j) / (r2 * sqrt(r2)) acc(:) = acc(:) - fac * dx(:) From e7e392a3aa68fea2fd7e34fd28549b40715bd00c Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 11:03:49 -0400 Subject: [PATCH 09/19] Corrected comments --- src/helio/helio_getacch.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helio/helio_getacch.f90 b/src/helio/helio_getacch.f90 index 098549eff..968d2c0c0 100644 --- a/src/helio/helio_getacch.f90 +++ b/src/helio/helio_getacch.f90 @@ -11,7 +11,7 @@ module subroutine helio_getacch_pl(self, system, param, t, lbeg) implicit none ! Arguments class(helio_pl), intent(inout) :: self !! Helio massive body particle data structure - class(swiftest_nbody_system), intent(inout) :: system !! WHM nbody system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step @@ -45,8 +45,8 @@ module subroutine helio_getacch_tp(self, system, param, t, lbeg) !! Adapted from Hal Levison's Swift routine helio_getacch_tp.f implicit none ! Arguments - class(helio_tp), intent(inout) :: self !! WHM test particle data structure - class(swiftest_nbody_system), intent(inout) :: system !! WHM nbody system object + class(helio_tp), intent(inout) :: self !! Helio test particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step From a79de9343e77e290f54db12edc2148bbe2a3fab3 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 11:34:20 -0400 Subject: [PATCH 10/19] Added code to subrtract accelerations of encountering pairs to symba accel --- src/kick/kick.f90 | 6 +-- src/modules/symba_classes.f90 | 18 +++++++ src/symba/symba_getacch.f90 | 90 +++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 src/symba/symba_getacch.f90 diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index 56e74dfcd..58ebfd1aa 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -49,18 +49,16 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) ! Internals integer(I4B) :: i, j real(DP) :: rji2, irij3, fac, r2 - real(DP), dimension(NDIM) :: dx, acc + real(DP), dimension(NDIM) :: dx associate(tp => self, ntp => self%nbody) do concurrent(i = 1:ntp, tp%status(i) == ACTIVE) - acc(:) = 0.0_DP do j = 1, npl dx(:) = tp%xh(:,i) - xhp(:, j) r2 = dot_product(dx(:), dx(:)) fac = GMpl(j) / (r2 * sqrt(r2)) - acc(:) = acc(:) - fac * dx(:) + tp%ah(:, i) = tp%ah(:, i) - fac * dx(:) end do - tp%ah(:, i) = tp%ah(:, i) + acc(:) end do end associate return diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 2a9602205..93e9184e2 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -212,6 +212,24 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_tp + module subroutine symba_getacch_pl(self, system, param, t, lbeg) + implicit none + class(symba_pl), intent(inout) :: self !! SyMBA massive body particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + end subroutine symba_getacch_pl + + module subroutine symba_getacch_tp(self, system, param, t, lbeg) + implicit none + class(symba_tp), intent(inout) :: self !! SyMBA test particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + end subroutine symba_getacch_tp + module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) implicit none class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object diff --git a/src/symba/symba_getacch.f90 b/src/symba/symba_getacch.f90 new file mode 100644 index 000000000..b2410d99a --- /dev/null +++ b/src/symba/symba_getacch.f90 @@ -0,0 +1,90 @@ +submodule (symba_classes) s_symba_getacch + use swiftest +contains + module subroutine symba_getacch_pl(self, system, param, t, lbeg) + !! author: David A. Minton + !! + !! Compute heliocentric accelerations of massive bodies + !! + !! Adapted from David E. Kaufmann's Swifter routine symba_getacch.f90 + !! Adapted from Hal Levison's Swift routine symba5_getacch.f + implicit none + ! Arguments + class(symba_pl), intent(inout) :: self !! SyMBA massive body particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + ! Internals + integer(I4B) :: k + real(DP) :: rji2, rlim2, faci, facj + real(DP), dimension(NDIM) :: dx + + select type(system) + class is (symba_nbody_system) + associate(pl => self, cb => system%cb, plplenc_list => system%plplenc_list, nplplenc => system%plplenc_list%nenc) + call helio_getacch_pl(pl, system, param, t, lbeg) + ! Remove accelerations from encountering pairs + do k = 1, nplplenc + associate(i => plplenc_list%index1(k), j => plplenc_list%index2(k)) + dx(:) = pl%xh(:, j) - pl%xh(:, i) + rji2 = dot_product(dx(:), dx(:)) + rlim2 = (pl%radius(i) + pl%radius(j))**2 + if (rji2 > rlim2) then + irij3 = 1.0_DP / (rji2 * sqrt(rji2)) + faci = pl%Gmass(i) * irij3 + facj = pl%Gmass(j) * irij3 + pl%ah(:, i) = pl%ah(:, i) - facj * dx(:) + pl%ah(:, j) = pl%ah(:, j) + faci * dx(:) + end if + end associate + end do + end associate + end select + + return + end subroutine symba_getacch_pl + + module subroutine symba_getacch_tp(self, system, param, t, lbeg) + !! author: David A. Minton + !! + !! Compute heliocentric accelerations of test particles + !! + !! Adapted from David E. Kaufmann's Swifter routine symba_getacch_tp.f90 + !! Adapted from Hal Levison's Swift routine symba5_getacch.f + implicit none + ! Arguments + class(symba_tp), intent(inout) :: self !! SyMBA test particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + ! Internals + integer(I4B) :: k + real(DP) :: rji2, fac, rlim2 + real(DP), dimension(NDIM) :: dx + + select type(system) + class is (symba_nbody_system) + associate(tp => self, cb => system%cb, pl => system%pl, pltpenc_list => system%pltpenc_list, npltpenc => system%pltpenc_list%nenc) + call helio_getacch_tp(tp, system, param, t, lbeg) + ! Remove accelerations from encountering pairs + do k = 1, npltpenc + associate(i => pltpenc_list%index1(k), j => pltpenc_list%index2(k)) + if (tp%status(j) == ACTIVE) THEN + dx(:) = tp%xh(:,j) - pl%xh(:,i) + rji2 = dot_product(dx(:), dx(:)) + rlim2 = (pl%radius(i))**2 + if (rji2 > rlim2) then + fac = pl%Gmass(i) / (rji2 * sqrt(rji2)) + tp%ah(:,j) = tp%ah(:,j) + fac * dx(:) + end if + end IF + end associate + end DO + end associate + end select + return + end subroutine symba_getacch_tp + +end submodule s_symba_getacch From a6ca94045e15a940e19591be6f5db31a0b37bc62 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 14:23:32 -0400 Subject: [PATCH 11/19] Refactored codebase to place getacc subroutines inside of kick. Next I will include accel method calls inside of kicks to simplify the algorithms and fix an issue specific to SyMBA in which don't want to reset accelerations to 0 before calling the helio getacch methods --- src/gr/gr.f90 | 6 +- src/helio/helio_getacch.f90 | 69 ------------------ src/helio/helio_kick.f90 | 77 ++++++++++++++++++-- src/kick/kick.f90 | 12 +-- src/modules/helio_classes.f90 | 24 +++--- src/modules/rmvs_classes.f90 | 6 +- src/modules/swiftest_classes.f90 | 36 ++++----- src/modules/symba_classes.f90 | 10 ++- src/modules/whm_classes.f90 | 24 +++--- src/rmvs/{rmvs_getacch.f90 => rmvs_kick.f90} | 14 ++-- src/symba/symba_getacch.f90 | 28 +++---- src/tides/tides_getacch_pl.f90 | 8 +- src/user/user_getacch.f90 | 10 +-- src/whm/whm_gr.f90 | 12 +-- src/whm/{whm_getacch.f90 => whm_kick.f90} | 42 +++++------ 15 files changed, 188 insertions(+), 190 deletions(-) delete mode 100644 src/helio/helio_getacch.f90 rename src/rmvs/{rmvs_getacch.f90 => rmvs_kick.f90} (91%) rename src/whm/{whm_getacch.f90 => whm_kick.f90} (82%) diff --git a/src/gr/gr.f90 b/src/gr/gr.f90 index 7d794bf2b..cf13d90d2 100644 --- a/src/gr/gr.f90 +++ b/src/gr/gr.f90 @@ -1,7 +1,7 @@ submodule(swiftest_classes) s_gr use swiftest contains - module pure subroutine gr_getaccb_ns_body(self, system, param) + module pure subroutine gr_kick_getaccb_ns_body(self, system, param) !! author: David A. Minton !! !! Add relativistic correction acceleration for non-symplectic integrators. @@ -11,7 +11,7 @@ module pure subroutine gr_getaccb_ns_body(self, system, param) !! Quinn, T.R., Tremaine, S., Duncan, M., 1991. A three million year integration of the earth’s orbit. !! AJ 101, 2287–2305. https://doi.org/10.1086/115850 !! - !! Adapted from David A. Minton's Swifter routine routine gr_getaccb_ns.f90 + !! Adapted from David A. Minton's Swifter routine routine gr_kick_getaccb_ns.f90 implicit none ! Arguments class(swiftest_body), intent(inout) :: self !! Swiftest generic body object @@ -41,7 +41,7 @@ module pure subroutine gr_getaccb_ns_body(self, system, param) return - end subroutine gr_getaccb_ns_body + end subroutine gr_kick_getaccb_ns_body module pure subroutine gr_p4_pos_kick(param, x, v, dt) !! author: David A. Minton diff --git a/src/helio/helio_getacch.f90 b/src/helio/helio_getacch.f90 deleted file mode 100644 index 968d2c0c0..000000000 --- a/src/helio/helio_getacch.f90 +++ /dev/null @@ -1,69 +0,0 @@ -submodule (helio_classes) s_helio_getacch - use swiftest -contains - module subroutine helio_getacch_pl(self, system, param, t, lbeg) - !! author: David A. Minton - !! - !! Compute heliocentric accelerations of massive bodies - !! - !! Adapted from David E. Kaufmann's Swifter routine helio_getacch.f90 - !! Adapted from Hal Levison's Swift routine helio_getacch.f - implicit none - ! Arguments - class(helio_pl), intent(inout) :: self !! Helio massive body particle data structure - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - - associate(cb => system%cb, pl => self, npl => self%nbody) - pl%ah(:,:) = 0.0_DP - call pl%accel_int() - if (param%loblatecb) then - cb%aoblbeg = cb%aobl - call pl%accel_obl(system) - cb%aoblend = cb%aobl - if (param%ltides) then - cb%atidebeg = cb%atide - call pl%accel_tides(system) - cb%atideend = cb%atide - end if - end if - if (param%lextra_force) call pl%accel_user(system, param, t) - !if (param%lgr) call pl%gr_accel(param) - end associate - - return - end subroutine helio_getacch_pl - - module subroutine helio_getacch_tp(self, system, param, t, lbeg) - !! author: David A. Minton - !! - !! Compute heliocentric accelerations of test particles - !! - !! Adapted from David E. Kaufmann's Swifter routine helio_getacch_tp.f90 - !! Adapted from Hal Levison's Swift routine helio_getacch_tp.f - implicit none - ! Arguments - class(helio_tp), intent(inout) :: self !! Helio test particle data structure - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - - associate(tp => self, cb => system%cb, pl => system%pl, npl => system%pl%nbody) - tp%ah(:,:) = 0.0_DP - if (present(lbeg)) system%lbeg = lbeg - if (system%lbeg) then - call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) - else - call tp%accel_int(pl%Gmass(:), pl%xend(:,:), npl) - end if - if (param%loblatecb) call tp%accel_obl(system) - if (param%lextra_force) call tp%accel_user(system, param, t) - !if (param%lgr) call tp%gr_accel(param) - end associate - return - end subroutine helio_getacch_tp - -end submodule s_helio_getacch diff --git a/src/helio/helio_kick.f90 b/src/helio/helio_kick.f90 index 9d5cea3a6..a4cd86d1d 100644 --- a/src/helio/helio_kick.f90 +++ b/src/helio/helio_kick.f90 @@ -1,13 +1,78 @@ submodule(helio_classes) s_helio_kick use swiftest contains - module subroutine helio_kickvb_pl(self, dt) +module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) + !! author: David A. Minton + !! + !! Compute heliocentric accelerations of massive bodies + !! + !! Adapted from David E. Kaufmann's Swifter routine helio_kick_getacch.f90 + !! Adapted from Hal Levison's Swift routine helio_kick_getacch.f + implicit none + ! Arguments + class(helio_pl), intent(inout) :: self !! Helio massive body particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + + associate(cb => system%cb, pl => self, npl => self%nbody) + pl%ah(:,:) = 0.0_DP + call pl%accel_int() + if (param%loblatecb) then + cb%aoblbeg = cb%aobl + call pl%accel_obl(system) + cb%aoblend = cb%aobl + if (param%ltides) then + cb%atidebeg = cb%atide + call pl%accel_tides(system) + cb%atideend = cb%atide + end if + end if + if (param%lextra_force) call pl%accel_user(system, param, t) + !if (param%lgr) call pl%gr_accel(param) + end associate + + return + end subroutine helio_kick_getacch_pl + + module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) + !! author: David A. Minton + !! + !! Compute heliocentric accelerations of test particles + !! + !! Adapted from David E. Kaufmann's Swifter routine helio_kick_getacch_tp.f90 + !! Adapted from Hal Levison's Swift routine helio_kick_getacch_tp.f + implicit none + ! Arguments + class(helio_tp), intent(inout) :: self !! Helio test particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + + associate(tp => self, cb => system%cb, pl => system%pl, npl => system%pl%nbody) + tp%ah(:,:) = 0.0_DP + if (present(lbeg)) system%lbeg = lbeg + if (system%lbeg) then + call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) + else + call tp%accel_int(pl%Gmass(:), pl%xend(:,:), npl) + end if + if (param%loblatecb) call tp%accel_obl(system) + if (param%lextra_force) call tp%accel_user(system, param, t) + !if (param%lgr) call tp%gr_accel(param) + end associate + return + end subroutine helio_kick_getacch_tp + + module subroutine helio_kick_vb_pl(self, dt) !! author: David A. Minton !! !! Kick barycentric velocities of bodies !! !! Adapted from Martin Duncan and Hal Levison's Swift routine kickvh.f - !! Adapted from David E. Kaufmann's Swifter routine helio_kickvb.f90 + !! Adapted from David E. Kaufmann's Swifter routine helio_kick_vb.f90 implicit none ! Arguments class(helio_pl), intent(inout) :: self !! Swiftest generic body object @@ -24,15 +89,15 @@ module subroutine helio_kickvb_pl(self, dt) return - end subroutine helio_kickvb_pl + end subroutine helio_kick_vb_pl - module subroutine helio_kickvb_tp(self, dt) + module subroutine helio_kick_vb_tp(self, dt) !! author: David A. Minton !! !! Kick barycentric velocities of bodies !! !! Adapted from Martin Duncan and Hal Levison's Swift routine kickvh_tp.f - !! Adapted from David E. Kaufmann's Swifter routine helio_kickvb_tp.f90 + !! Adapted from David E. Kaufmann's Swifter routine helio_kick_vb_tp.f90 implicit none ! Arguments class(helio_tp), intent(inout) :: self !! Swiftest generic body object @@ -49,5 +114,5 @@ module subroutine helio_kickvb_tp(self, dt) return - end subroutine helio_kickvb_tp + end subroutine helio_kick_vb_tp end submodule s_helio_kick \ No newline at end of file diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index 58ebfd1aa..3d57f2d1c 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -1,13 +1,13 @@ submodule(swiftest_classes) s_kick use swiftest contains - module pure subroutine kick_getacch_int_pl(self) + module pure subroutine kick_kick_getacch_int_pl(self) !! author: David A. Minton !! !! Compute direct cross (third) term heliocentric accelerations of massive bodies !! !! Adapted from Hal Levison's Swift routine getacch_ah3.f - !! Adapted from David E. Kaufmann's Swifter routine whm_getacch_ah3.f90 and helio_getacch_int.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah3.f90 and helio_kick_getacch_int.f90 implicit none ! Arguments class(swiftest_pl), intent(inout) :: self @@ -31,15 +31,15 @@ module pure subroutine kick_getacch_int_pl(self) end associate return - end subroutine kick_getacch_int_pl + end subroutine kick_kick_getacch_int_pl - module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) + module pure subroutine kick_kick_getacch_int_tp(self, GMpl, xhp, npl) !! author: David A. Minton !! !! Compute direct cross (third) term heliocentric accelerations of test particles by massive bodies !! !! Adapted from Hal Levison's Swift routine getacch_ah3_tp.f - !! Adapted from David E. Kaufmann's Swifter routine whm_getacch_ah3.f90 and helio_getacch_int_tp.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah3.f90 and helio_kick_getacch_int_tp.f90 implicit none ! Arguments class(swiftest_tp), intent(inout) :: self !! Swiftest test particle @@ -62,7 +62,7 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) end do end associate return - end subroutine kick_getacch_int_tp + end subroutine kick_kick_getacch_int_tp module subroutine kick_vh_body(self, dt) !! author: David A. Minton diff --git a/src/modules/helio_classes.f90 b/src/modules/helio_classes.f90 index 17366e88f..39d1e30e4 100644 --- a/src/modules/helio_classes.f90 +++ b/src/modules/helio_classes.f90 @@ -38,8 +38,8 @@ module helio_classes procedure, public :: vb2vh => helio_coord_vb2vh_pl !! Convert massive bodies from barycentric to heliocentric coordinates (velocity only) procedure, public :: drift => helio_drift_pl !! Method for Danby drift in Democratic Heliocentric coordinates procedure, public :: lindrift => helio_drift_linear_pl !! Method for linear drift of massive bodies due to barycentric momentum of Sun - procedure, public :: accel => helio_getacch_pl !! Compute heliocentric accelerations of massive bodies - procedure, public :: kick => helio_kickvb_pl !! Kicks the barycentric velocities + procedure, public :: accel => helio_kick_getacch_pl !! Compute heliocentric accelerations of massive bodies + procedure, public :: kick => helio_kick_vb_pl !! Kicks the barycentric velocities procedure, public :: step => helio_step_pl !! Steps the body forward one stepsize end type helio_pl @@ -54,8 +54,8 @@ module helio_classes procedure, public :: vb2vh => helio_coord_vb2vh_tp !! Convert test particles from barycentric to heliocentric coordinates (velocity only) procedure, public :: lindrift => helio_drift_linear_tp !! Method for linear drift of massive bodies due to barycentric momentum of Sun procedure, public :: drift => helio_drift_tp !! Method for Danby drift in Democratic Heliocentric coordinates - procedure, public :: accel => helio_getacch_tp !! Compute heliocentric accelerations of massive bodies - procedure, public :: kick => helio_kickvb_tp !! Kicks the barycentric velocities + procedure, public :: accel => helio_kick_getacch_tp !! Compute heliocentric accelerations of massive bodies + procedure, public :: kick => helio_kick_vb_tp !! Kicks the barycentric velocities procedure, public :: step => helio_step_tp !! Steps the body forward one stepsize end type helio_tp @@ -132,7 +132,7 @@ module subroutine helio_drift_linear_tp(self, cb, dt, lbeg) logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step end subroutine helio_drift_linear_tp - module subroutine helio_getacch_pl(self, system, param, t, lbeg) + module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_parameters, swiftest_nbody_system implicit none class(helio_pl), intent(inout) :: self !! Helio massive body object @@ -140,9 +140,9 @@ module subroutine helio_getacch_pl(self, system, param, t, lbeg) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine helio_getacch_pl + end subroutine helio_kick_getacch_pl - module subroutine helio_getacch_tp(self, system, param, t, lbeg) + module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_parameters, swiftest_nbody_system implicit none class(helio_tp), intent(inout) :: self !! Helio test particle object @@ -150,19 +150,19 @@ module subroutine helio_getacch_tp(self, system, param, t, lbeg) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine helio_getacch_tp + end subroutine helio_kick_getacch_tp - module subroutine helio_kickvb_pl(self, dt) + module subroutine helio_kick_vb_pl(self, dt) implicit none class(helio_pl), intent(inout) :: self !! Helio massive body object real(DP), intent(in) :: dt !! Stepsize - end subroutine helio_kickvb_pl + end subroutine helio_kick_vb_pl - module subroutine helio_kickvb_tp(self, dt) + module subroutine helio_kick_vb_tp(self, dt) implicit none class(helio_tp), intent(inout) :: self !! Helio test particle object real(DP), intent(in) :: dt !! Stepsize - end subroutine helio_kickvb_tp + end subroutine helio_kick_vb_tp module subroutine helio_step_pl(self, system, param, t, dt) use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters diff --git a/src/modules/rmvs_classes.f90 b/src/modules/rmvs_classes.f90 index 8d0fb1f18..a459e7246 100644 --- a/src/modules/rmvs_classes.f90 +++ b/src/modules/rmvs_classes.f90 @@ -71,7 +71,7 @@ module rmvs_classes procedure, public :: discard => rmvs_discard_tp !! Check to see if test particles should be discarded based on pericenter passage distances with respect to planets encountered procedure, public :: encounter_check => rmvs_encounter_check_tp !! Checks if any test particles are undergoing a close encounter with a massive body procedure, public :: fill => rmvs_util_fill_tp !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) - procedure, public :: accel => rmvs_getacch_tp !! Calculates either the standard or modified version of the acceleration depending if the + procedure, public :: accel => rmvs_kick_getacch_tp !! Calculates either the standard or modified version of the acceleration depending if the !! if the test particle is undergoing a close encounter or not procedure, public :: setup => rmvs_setup_tp !! Constructor method - Allocates space for number of particles procedure, public :: spill => rmvs_util_spill_tp !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) @@ -136,7 +136,7 @@ module subroutine rmvs_util_fill_tp(self, inserts, lfill_list) logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps end subroutine rmvs_util_fill_tp - module subroutine rmvs_getacch_tp(self, system, param, t, lbeg) + module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none class(rmvs_tp), intent(inout) :: self !! RMVS test particle data structure @@ -144,7 +144,7 @@ module subroutine rmvs_getacch_tp(self, system, param, t, lbeg) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine rmvs_getacch_tp + end subroutine rmvs_kick_getacch_tp module subroutine rmvs_setup_pl(self,n) implicit none diff --git a/src/modules/swiftest_classes.f90 b/src/modules/swiftest_classes.f90 index 5c6b83bdc..d09bd15bd 100644 --- a/src/modules/swiftest_classes.f90 +++ b/src/modules/swiftest_classes.f90 @@ -9,16 +9,16 @@ module swiftest_classes public :: discard_pl, discard_system, discard_tp public :: drift_all, drift_body, drift_one public :: eucl_dist_index_plpl - public :: gr_getaccb_ns_body, gr_p4_pos_kick, gr_pseudovel2vel, gr_vel2pseudovel + public :: gr_kick_getaccb_ns_body, gr_p4_pos_kick, gr_pseudovel2vel, gr_vel2pseudovel public :: io_dump_param, io_dump_swiftest, io_dump_system, io_get_args, io_get_token, io_param_reader, io_param_writer, io_read_body_in, & io_read_cb_in, io_read_param_in, io_read_frame_body, io_read_frame_cb, io_read_frame_system, & io_toupper, io_write_discard, io_write_encounter, io_write_frame_body, io_write_frame_cb, io_write_frame_system - public :: kick_getacch_int_pl, kick_vh_body + public :: kick_kick_getacch_int_pl, kick_vh_body public :: obl_acc_body, obl_acc_pl, obl_acc_tp public :: orbel_el2xv_vec, orbel_xv2el_vec, orbel_scget, orbel_xv2aeq, orbel_xv2aqt public :: setup_body, setup_construct_system, setup_initialize_system, setup_pl, setup_tp - public :: tides_getacch_pl, tides_step_spin_system - public :: user_getacch_body + public :: tides_kick_getacch_pl, tides_step_spin_system + public :: user_kick_getacch_body public :: util_coord_b2h_pl, util_coord_b2h_tp, util_coord_h2b_pl, util_coord_h2b_tp, util_exit, util_fill_body, util_fill_pl, util_fill_tp, & util_index, util_peri_tp, util_reverse_status, util_set_beg_end_pl, util_set_ir3h, util_set_msys, util_set_mu_pl, & util_set_mu_tp, util_set_rhill, util_set_rhill_approximate, util_sort, util_spill_body, util_spill_pl, util_spill_tp, util_valid, util_version @@ -183,7 +183,7 @@ module swiftest_classes procedure, public :: xv2el => orbel_xv2el_vec !! Convert position and velocity vectors to orbital elements procedure, public :: set_ir3 => util_set_ir3h !! Sets the inverse heliocentric radius term (1/rh**3) procedure, public :: setup => setup_body !! A constructor that sets the number of bodies and allocates all allocatable arrays - procedure, public :: accel_user => user_getacch_body !! Add user-supplied heliocentric accelerations to planets + procedure, public :: accel_user => user_kick_getacch_body !! Add user-supplied heliocentric accelerations to planets procedure, public :: fill => util_fill_body !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) procedure, public :: spill => util_spill_body !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) procedure, public :: reverse_status => util_reverse_status !! Reverses the active/inactive status of all particles in a structure @@ -218,10 +218,10 @@ module swiftest_classes ! These are concrete because they are the same implemenation for all integrators procedure, public :: discard => discard_pl !! Placeholder method for discarding massive bodies procedure, public :: eucl_index => eucl_dist_index_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix - procedure, public :: accel_int => kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies + procedure, public :: accel_int => kick_kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies procedure, public :: accel_obl => obl_acc_pl !! Compute the barycentric accelerations of bodies due to the oblateness of the central body procedure, public :: setup => setup_pl !! A base constructor that sets the number of bodies and allocates and initializes all arrays - procedure, public :: accel_tides => tides_getacch_pl !! Compute the accelerations of bodies due to tidal interactions with the central body + procedure, public :: accel_tides => tides_kick_getacch_pl !! Compute the accelerations of bodies due to tidal interactions with the central body procedure, public :: set_mu => util_set_mu_pl !! Method used to construct the vectorized form of the central body mass procedure, public :: set_rhill => util_set_rhill !! Calculates the Hill's radii for each body procedure, public :: h2b => util_coord_h2b_pl !! Convert massive bodies from heliocentric to barycentric coordinates (position and velocity) @@ -247,7 +247,7 @@ module swiftest_classes ! Test particle-specific concrete methods ! These are concrete because they are the same implemenation for all integrators procedure, public :: discard => discard_tp !! Check to see if test particles should be discarded based on their positions relative to the massive bodies - procedure, public :: accel_int => kick_getacch_int_tp !! Compute direct cross (third) term heliocentric accelerations of test particles by massive bodies + procedure, public :: accel_int => kick_kick_getacch_int_tp !! Compute direct cross (third) term heliocentric accelerations of test particles by massive bodies procedure, public :: accel_obl => obl_acc_tp !! Compute the barycentric accelerations of bodies due to the oblateness of the central body procedure, public :: setup => setup_tp !! A base constructor that sets the number of bodies and procedure, public :: set_mu => util_set_mu_tp !! Method used to construct the vectorized form of the central body mass @@ -415,12 +415,12 @@ module subroutine eucl_dist_index_plpl(self) class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object end subroutine - module pure subroutine gr_getaccb_ns_body(self, system, param) + module pure subroutine gr_kick_getaccb_ns_body(self, system, param) implicit none class(swiftest_body), intent(inout) :: self !! Swiftest generic body object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - end subroutine gr_getaccb_ns_body + end subroutine gr_kick_getaccb_ns_body module pure subroutine gr_p4_pos_kick(param, x, v, dt) implicit none @@ -604,18 +604,18 @@ module subroutine io_write_frame_system(self, iu, param) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine io_write_frame_system - module pure subroutine kick_getacch_int_pl(self) + module pure subroutine kick_kick_getacch_int_pl(self) implicit none class(swiftest_pl), intent(inout) :: self - end subroutine kick_getacch_int_pl + end subroutine kick_kick_getacch_int_pl - module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) + module pure subroutine kick_kick_getacch_int_tp(self, GMpl, xhp, npl) implicit none class(swiftest_tp), intent(inout) :: self !! Swiftest test particle real(DP), dimension(:), intent(in) :: GMpl !! Massive body masses real(DP), dimension(:,:), intent(in) :: xhp !! Massive body position vectors integer(I4B), intent(in) :: npl !! Number of active massive bodies - end subroutine kick_getacch_int_tp + end subroutine kick_kick_getacch_int_tp module subroutine kick_vh_body(self, dt) implicit none @@ -703,11 +703,11 @@ module subroutine setup_tp(self, n) integer, intent(in) :: n !! Number of bodies to allocate space for end subroutine setup_tp - module subroutine tides_getacch_pl(self, system) + module subroutine tides_kick_getacch_pl(self, system) implicit none class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - end subroutine tides_getacch_pl + end subroutine tides_kick_getacch_pl module subroutine tides_step_spin_system(self, param, t, dt) implicit none @@ -717,14 +717,14 @@ module subroutine tides_step_spin_system(self, param, t, dt) real(DP), intent(in) :: dt !! Current stepsize end subroutine tides_step_spin_system - module subroutine user_getacch_body(self, system, param, t, lbeg) + module subroutine user_kick_getacch_body(self, system, param, t, lbeg) implicit none class(swiftest_body), intent(inout) :: self !! Swiftest massive body particle data structure class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody_system_object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine user_getacch_body + end subroutine user_kick_getacch_body module subroutine util_coord_b2h_pl(self, cb) implicit none diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 93e9184e2..85c65de34 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -91,6 +91,7 @@ module symba_classes private procedure, public :: discard => symba_discard_pl !! Process massive body discards procedure, public :: encounter_check => symba_encounter_check_pl !! Checks if massive bodies are going through close encounters with each other + procedure, public :: accel => symba_kick_getacch_pl !! Compute heliocentric accelerations of massive bodies procedure, public :: setup => symba_setup_pl !! Constructor method - Allocates space for number of particle end type symba_pl @@ -106,6 +107,7 @@ module symba_classes private procedure, public :: discard => symba_discard_tp !! process test particle discards procedure, public :: encounter_check => symba_encounter_check_tp !! Checks if any test particles are undergoing a close encounter with a massive body + procedure, public :: accel => symba_kick_getacch_tp !! Compute heliocentric accelerations of test particles procedure, public :: setup => symba_setup_tp !! Constructor method - Allocates space for number of particle end type symba_tp @@ -212,23 +214,23 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_tp - module subroutine symba_getacch_pl(self, system, param, t, lbeg) + module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) implicit none class(symba_pl), intent(inout) :: self !! SyMBA massive body particle data structure class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine symba_getacch_pl + end subroutine symba_kick_getacch_pl - module subroutine symba_getacch_tp(self, system, param, t, lbeg) + module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) implicit none class(symba_tp), intent(inout) :: self !! SyMBA test particle data structure class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine symba_getacch_tp + end subroutine symba_kick_getacch_tp module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) implicit none diff --git a/src/modules/whm_classes.f90 b/src/modules/whm_classes.f90 index ef2487aa6..f4f98dbf3 100644 --- a/src/modules/whm_classes.f90 +++ b/src/modules/whm_classes.f90 @@ -35,8 +35,8 @@ module whm_classes procedure, public :: vh2vj => whm_coord_vh2vj_pl !! Convert velocity vectors from heliocentric to Jacobi coordinates procedure, public :: drift => whm_drift_pl !! Loop through massive bodies and call Danby drift routine to jacobi coordinates procedure, public :: fill => whm_util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) - procedure, public :: accel => whm_getacch_pl !! Compute heliocentric accelerations of massive bodies - procedure, public :: accel_gr => whm_gr_getacch_pl !! Acceleration term arising from the post-Newtonian correction + procedure, public :: accel => whm_kick_getacch_pl !! Compute heliocentric accelerations of massive bodies + procedure, public :: accel_gr => whm_gr_kick_getacch_pl !! Acceleration term arising from the post-Newtonian correction procedure, public :: gr_pos_kick => whm_gr_p4_pl !! Position kick due to p**4 term in the post-Newtonian correction procedure, public :: setup => whm_setup_pl !! Constructor method - Allocates space for number of particles procedure, public :: set_mu => whm_util_set_mu_eta_pl !! Sets the Jacobi mass value for all massive bodies. @@ -55,8 +55,8 @@ module whm_classes !! component list, such as whm_setup_tp and whm_util_spill_tp contains private - procedure, public :: accel => whm_getacch_tp !! Compute heliocentric accelerations of test particles - procedure, public :: accel_gr => whm_gr_getacch_tp !! Acceleration term arising from the post-Newtonian correction + procedure, public :: accel => whm_kick_getacch_tp !! Compute heliocentric accelerations of test particles + procedure, public :: accel_gr => whm_gr_kick_getacch_tp !! Acceleration term arising from the post-Newtonian correction procedure, public :: gr_pos_kick => whm_gr_p4_tp !! Position kick due to p**4 term in the post-Newtonian correction procedure, public :: setup => whm_setup_tp !! Allocates new components of the whm class and recursively calls parent allocations procedure, public :: step => whm_step_tp !! Steps the particle forward one stepsize @@ -115,7 +115,7 @@ module subroutine whm_util_fill_pl(self, inserts, lfill_list) end subroutine whm_util_fill_pl !> Get heliocentric accelration of massive bodies - module subroutine whm_getacch_pl(self, system, param, t, lbeg) + module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_cb, swiftest_parameters implicit none class(whm_pl), intent(inout) :: self !! WHM massive body particle data structure @@ -123,10 +123,10 @@ module subroutine whm_getacch_pl(self, system, param, t, lbeg) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine whm_getacch_pl + end subroutine whm_kick_getacch_pl !> Get heliocentric accelration of the test particle - module subroutine whm_getacch_tp(self, system, param, t, lbeg) + module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_cb, swiftest_parameters implicit none class(whm_tp), intent(inout) :: self !! WHM test particle data structure @@ -134,21 +134,21 @@ module subroutine whm_getacch_tp(self, system, param, t, lbeg) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - end subroutine whm_getacch_tp + end subroutine whm_kick_getacch_tp - module subroutine whm_gr_getacch_pl(self, param) + module subroutine whm_gr_kick_getacch_pl(self, param) use swiftest_classes, only : swiftest_cb, swiftest_parameters implicit none class(whm_pl), intent(inout) :: self !! WHM massive body particle data structure class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - end subroutine whm_gr_getacch_pl + end subroutine whm_gr_kick_getacch_pl - module subroutine whm_gr_getacch_tp(self, param) + module subroutine whm_gr_kick_getacch_tp(self, param) use swiftest_classes, only : swiftest_cb, swiftest_parameters implicit none class(whm_tp), intent(inout) :: self !! WHM test particle data structure class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - end subroutine whm_gr_getacch_tp + end subroutine whm_gr_kick_getacch_tp module pure subroutine whm_gr_p4_pl(self, param, dt) use swiftest_classes, only : swiftest_parameters diff --git a/src/rmvs/rmvs_getacch.f90 b/src/rmvs/rmvs_kick.f90 similarity index 91% rename from src/rmvs/rmvs_getacch.f90 rename to src/rmvs/rmvs_kick.f90 index 0ede99ab5..c68453d3d 100644 --- a/src/rmvs/rmvs_getacch.f90 +++ b/src/rmvs/rmvs_kick.f90 @@ -1,13 +1,13 @@ -submodule(rmvs_classes) s_rmvs_getacch +submodule(rmvs_classes) s_rmvs_kick use swiftest contains - module subroutine rmvs_getacch_tp(self, system, param, t, lbeg) + module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) !! author: David A. Minton !! !! Compute the oblateness acceleration in the inner encounter region with planets !! - !! Performs a similar task as David E. Kaufmann's Swifter routine rmvs_getacch_tp.f90, but + !! Performs a similar task as David E. Kaufmann's Swifter routine rmvs_kick_getacch_tp.f90, but !! uses object polymorphism, and so is not directly adapted. implicit none ! Arguments @@ -49,7 +49,7 @@ module subroutine rmvs_getacch_tp(self, system, param, t, lbeg) param_planetocen%lextra_force = .false. param_planetocen%lgr = .false. ! Now compute the planetocentric values of acceleration - call whm_getacch_tp(tp, system_planetocen, param_planetocen, t) + call whm_kick_getacch_tp(tp, system_planetocen, param_planetocen, t) ! Now compute any heliocentric values of acceleration if (tp%lfirst) then @@ -74,7 +74,7 @@ module subroutine rmvs_getacch_tp(self, system, param, t, lbeg) end select end select else ! Not a close encounter, so just proceded with the standard WHM method - call whm_getacch_tp(tp, system, param, t, lbeg) + call whm_kick_getacch_tp(tp, system, param, t, lbeg) end if end select @@ -82,6 +82,6 @@ module subroutine rmvs_getacch_tp(self, system, param, t, lbeg) return - end subroutine rmvs_getacch_tp + end subroutine rmvs_kick_getacch_tp -end submodule s_rmvs_getacch \ No newline at end of file +end submodule s_rmvs_kick \ No newline at end of file diff --git a/src/symba/symba_getacch.f90 b/src/symba/symba_getacch.f90 index b2410d99a..d10e2267c 100644 --- a/src/symba/symba_getacch.f90 +++ b/src/symba/symba_getacch.f90 @@ -1,13 +1,13 @@ -submodule (symba_classes) s_symba_getacch +submodule (symba_classes) s_symba_kick_getacch use swiftest contains - module subroutine symba_getacch_pl(self, system, param, t, lbeg) + module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) !! author: David A. Minton !! !! Compute heliocentric accelerations of massive bodies !! - !! Adapted from David E. Kaufmann's Swifter routine symba_getacch.f90 - !! Adapted from Hal Levison's Swift routine symba5_getacch.f + !! Adapted from David E. Kaufmann's Swifter routine symba_kick_getacch.f90 + !! Adapted from Hal Levison's Swift routine symba5_kick_getacch.f implicit none ! Arguments class(symba_pl), intent(inout) :: self !! SyMBA massive body particle data structure @@ -17,13 +17,12 @@ module subroutine symba_getacch_pl(self, system, param, t, lbeg) logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step ! Internals integer(I4B) :: k - real(DP) :: rji2, rlim2, faci, facj + real(DP) :: irij3, rji2, rlim2, faci, facj real(DP), dimension(NDIM) :: dx select type(system) class is (symba_nbody_system) associate(pl => self, cb => system%cb, plplenc_list => system%plplenc_list, nplplenc => system%plplenc_list%nenc) - call helio_getacch_pl(pl, system, param, t, lbeg) ! Remove accelerations from encountering pairs do k = 1, nplplenc associate(i => plplenc_list%index1(k), j => plplenc_list%index2(k)) @@ -39,19 +38,20 @@ module subroutine symba_getacch_pl(self, system, param, t, lbeg) end if end associate end do + call helio_kick_getacch_pl(pl, system, param, t, lbeg) end associate end select return - end subroutine symba_getacch_pl + end subroutine symba_kick_getacch_pl - module subroutine symba_getacch_tp(self, system, param, t, lbeg) + module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) !! author: David A. Minton !! !! Compute heliocentric accelerations of test particles !! - !! Adapted from David E. Kaufmann's Swifter routine symba_getacch_tp.f90 - !! Adapted from Hal Levison's Swift routine symba5_getacch.f + !! Adapted from David E. Kaufmann's Swifter routine symba_kick_getacch_tp.f90 + !! Adapted from Hal Levison's Swift routine symba5_kick_getacch.f implicit none ! Arguments class(symba_tp), intent(inout) :: self !! SyMBA test particle data structure @@ -67,7 +67,6 @@ module subroutine symba_getacch_tp(self, system, param, t, lbeg) select type(system) class is (symba_nbody_system) associate(tp => self, cb => system%cb, pl => system%pl, pltpenc_list => system%pltpenc_list, npltpenc => system%pltpenc_list%nenc) - call helio_getacch_tp(tp, system, param, t, lbeg) ! Remove accelerations from encountering pairs do k = 1, npltpenc associate(i => pltpenc_list%index1(k), j => pltpenc_list%index2(k)) @@ -81,10 +80,11 @@ module subroutine symba_getacch_tp(self, system, param, t, lbeg) end if end IF end associate - end DO + end do + call helio_kick_getacch_tp(tp, system, param, t, lbeg) end associate end select return - end subroutine symba_getacch_tp + end subroutine symba_kick_getacch_tp -end submodule s_symba_getacch +end submodule s_symba_kick_getacch diff --git a/src/tides/tides_getacch_pl.f90 b/src/tides/tides_getacch_pl.f90 index ff9d554ef..ae503e082 100644 --- a/src/tides/tides_getacch_pl.f90 +++ b/src/tides/tides_getacch_pl.f90 @@ -1,7 +1,7 @@ -submodule(swiftest_classes) s_tides_getacch +submodule(swiftest_classes) s_tides_kick_getacch use swiftest contains - module subroutine tides_getacch_pl(self, system) + module subroutine tides_kick_getacch_pl(self, system) !! author: Jennifer L.L. Pouplin, Carlisle A. wishard, and David A. Minton !! !! Calculated tidal torques from central body to any planet and from any planet to central body @@ -60,5 +60,5 @@ module subroutine tides_getacch_pl(self, system) return - end subroutine tides_getacch_pl -end submodule s_tides_getacch \ No newline at end of file + end subroutine tides_kick_getacch_pl +end submodule s_tides_kick_getacch \ No newline at end of file diff --git a/src/user/user_getacch.f90 b/src/user/user_getacch.f90 index 16a2f0916..ccad7ea7d 100644 --- a/src/user/user_getacch.f90 +++ b/src/user/user_getacch.f90 @@ -1,12 +1,12 @@ -submodule(swiftest_classes) s_user_getacch +submodule(swiftest_classes) s_user_kick_getacch use swiftest contains - module subroutine user_getacch_body(self, system, param, t, lbeg) + module subroutine user_kick_getacch_body(self, system, param, t, lbeg) !! author: David A. Minton !! !! Add user-supplied heliocentric accelerations to planets. !! - !! Adapted from David E. Kaufmann's Swifter routine whm_user_getacch.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_user_kick_getacch.f90 implicit none ! Arguments class(swiftest_body), intent(inout) :: self !! Swiftest massive body particle data structure @@ -16,6 +16,6 @@ module subroutine user_getacch_body(self, system, param, t, lbeg) logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the ste return - end subroutine user_getacch_body + end subroutine user_kick_getacch_body -end submodule s_user_getacch +end submodule s_user_kick_getacch diff --git a/src/whm/whm_gr.f90 b/src/whm/whm_gr.f90 index 62c7fb2b5..c6d0b1723 100644 --- a/src/whm/whm_gr.f90 +++ b/src/whm/whm_gr.f90 @@ -1,12 +1,12 @@ submodule(whm_classes) s_whm_gr use swiftest contains - module subroutine whm_gr_getacch_pl(self, param) !! author: David A. Minton + module subroutine whm_gr_kick_getacch_pl(self, param) !! author: David A. Minton !! !! Compute relativisitic accelerations of massive bodies !! Based on Saha & Tremaine (1994) Eq. 28 !! - !! Adapted from David A. Minton's Swifter routine routine gr_whm_getacch.f90 + !! Adapted from David A. Minton's Swifter routine routine gr_whm_kick_getacch.f90 implicit none ! Arguments class(whm_pl), intent(inout) :: self !! WHM massive body particle data structure @@ -33,15 +33,15 @@ module subroutine whm_gr_getacch_pl(self, param) !! author: David A. Minton end do end associate return - end subroutine whm_gr_getacch_pl + end subroutine whm_gr_kick_getacch_pl - module subroutine whm_gr_getacch_tp(self, param) + module subroutine whm_gr_kick_getacch_tp(self, param) !! author: David A. Minton !! !! Compute relativisitic accelerations of test particles !! Based on Saha & Tremaine (1994) Eq. 28 !! - !! Adapted from David A. Minton's Swifter routine routine gr_whm_getacch.f90 + !! Adapted from David A. Minton's Swifter routine routine gr_whm_kick_getacch.f90 implicit none ! Arguments class(whm_tp), intent(inout) :: self !! WHM massive body particle data structure @@ -59,7 +59,7 @@ module subroutine whm_gr_getacch_tp(self, param) end do end associate return - end subroutine whm_gr_getacch_tp + end subroutine whm_gr_kick_getacch_tp module pure subroutine whm_gr_p4_pl(self, param, dt) !! author: David A. Minton diff --git a/src/whm/whm_getacch.f90 b/src/whm/whm_kick.f90 similarity index 82% rename from src/whm/whm_getacch.f90 rename to src/whm/whm_kick.f90 index e950d855c..af8805d47 100644 --- a/src/whm/whm_getacch.f90 +++ b/src/whm/whm_kick.f90 @@ -1,13 +1,13 @@ -submodule(whm_classes) s_whm_getacch +submodule(whm_classes) s_whm_kick use swiftest contains - module subroutine whm_getacch_pl(self, system, param, t, lbeg) + module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) !! author: David A. Minton !! !! Compute heliocentric accelerations of planets !! !! Adapted from Hal Levison's Swift routine getacch.f - !! Adapted from David E. Kaufmann's Swifter routine whm_getacch.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch.f90 implicit none ! Arguments class(whm_pl), intent(inout) :: self !! WHM massive body particle data structure @@ -23,13 +23,13 @@ module subroutine whm_getacch_pl(self, system, param, t, lbeg) if (npl == 0) return call pl%set_ir3() - ah0 = whm_getacch_ah0(pl%Gmass(2:npl), pl%xh(:,2:npl), npl-1) + ah0 = whm_kick_getacch_ah0(pl%Gmass(2:npl), pl%xh(:,2:npl), npl-1) do i = 1, npl pl%ah(:, i) = ah0(:) end do - call whm_getacch_ah1(cb, pl) - call whm_getacch_ah2(cb, pl) + call whm_kick_getacch_ah1(cb, pl) + call whm_kick_getacch_ah2(cb, pl) call pl%accel_int() if (param%loblatecb) then @@ -48,15 +48,15 @@ module subroutine whm_getacch_pl(self, system, param, t, lbeg) if (param%lextra_force) call pl%accel_user(system, param, t) end associate return - end subroutine whm_getacch_pl + end subroutine whm_kick_getacch_pl - module subroutine whm_getacch_tp(self, system, param, t, lbeg) + module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) !! author: David A. Minton !! !! Compute heliocentric accelerations of test particles !! !! Adapted from Hal Levison's Swift routine getacch_tp.f - !! Adapted from David E. Kaufmann's Swifter routine whm_getacch_tp.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_tp.f90 implicit none ! Arguments class(whm_tp), intent(inout) :: self !! WHM test particle data structure @@ -73,13 +73,13 @@ module subroutine whm_getacch_tp(self, system, param, t, lbeg) if (present(lbeg)) system%lbeg = lbeg if (system%lbeg) then - ah0(:) = whm_getacch_ah0(pl%Gmass(:), pl%xbeg(:,:), npl) + ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xbeg(:,:), npl) do i = 1, ntp tp%ah(:, i) = ah0(:) end do call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) else - ah0(:) = whm_getacch_ah0(pl%Gmass(:), pl%xend(:,:), npl) + ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xend(:,:), npl) do i = 1, ntp tp%ah(:, i) = ah0(:) end do @@ -91,9 +91,9 @@ module subroutine whm_getacch_tp(self, system, param, t, lbeg) if (param%lgr) call tp%accel_gr(param) end associate return - end subroutine whm_getacch_tp + end subroutine whm_kick_getacch_tp - function whm_getacch_ah0(mu, xhp, n) result(ah0) + function whm_kick_getacch_ah0(mu, xhp, n) result(ah0) !! author: David A. Minton !! !! Compute zeroth term heliocentric accelerations of planets @@ -118,15 +118,15 @@ function whm_getacch_ah0(mu, xhp, n) result(ah0) end do return - end function whm_getacch_ah0 + end function whm_kick_getacch_ah0 - pure subroutine whm_getacch_ah1(cb, pl) + pure subroutine whm_kick_getacch_ah1(cb, pl) !! author: David A. Minton !! !! Compute first term heliocentric accelerations of planets !! !! Adapted from Hal Levison's Swift routine getacch_ah1.f - !! Adapted from David E. Kaufmann's Swifter routine whm_getacch_ah1.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah1.f90 implicit none ! Arguments class(swiftest_cb), intent(in) :: cb !! WHM central body object @@ -145,15 +145,15 @@ pure subroutine whm_getacch_ah1(cb, pl) return - end subroutine whm_getacch_ah1 + end subroutine whm_kick_getacch_ah1 - pure subroutine whm_getacch_ah2(cb, pl) + pure subroutine whm_kick_getacch_ah2(cb, pl) !! author: David A. Minton !! !! Compute second term heliocentric accelerations of planets !! !! Adapted from Hal Levison's Swift routine getacch_ah2.f - !! Adapted from David E. Kaufmann's Swifter routine whm_getacch_ah2.f90 + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah2.f90 implicit none ! Arguments class(swiftest_cb), intent(in) :: cb !! Swiftest central body object @@ -177,6 +177,6 @@ pure subroutine whm_getacch_ah2(cb, pl) end associate return - end subroutine whm_getacch_ah2 + end subroutine whm_kick_getacch_ah2 -end submodule s_whm_getacch +end submodule s_whm_kick From 178c1cc897547443d65101cc417b8cd8d08a017f Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 14:26:06 -0400 Subject: [PATCH 12/19] Replaced kick_kick with just kick after refactoring --- src/kick/kick.f90 | 8 ++++---- src/modules/swiftest_classes.f90 | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index 3d57f2d1c..f9cd81b35 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -1,7 +1,7 @@ submodule(swiftest_classes) s_kick use swiftest contains - module pure subroutine kick_kick_getacch_int_pl(self) + module pure subroutine kick_getacch_int_pl(self) !! author: David A. Minton !! !! Compute direct cross (third) term heliocentric accelerations of massive bodies @@ -31,9 +31,9 @@ module pure subroutine kick_kick_getacch_int_pl(self) end associate return - end subroutine kick_kick_getacch_int_pl + end subroutine kick_getacch_int_pl - module pure subroutine kick_kick_getacch_int_tp(self, GMpl, xhp, npl) + module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) !! author: David A. Minton !! !! Compute direct cross (third) term heliocentric accelerations of test particles by massive bodies @@ -62,7 +62,7 @@ module pure subroutine kick_kick_getacch_int_tp(self, GMpl, xhp, npl) end do end associate return - end subroutine kick_kick_getacch_int_tp + end subroutine kick_getacch_int_tp module subroutine kick_vh_body(self, dt) !! author: David A. Minton diff --git a/src/modules/swiftest_classes.f90 b/src/modules/swiftest_classes.f90 index d09bd15bd..4092a0a52 100644 --- a/src/modules/swiftest_classes.f90 +++ b/src/modules/swiftest_classes.f90 @@ -13,7 +13,7 @@ module swiftest_classes public :: io_dump_param, io_dump_swiftest, io_dump_system, io_get_args, io_get_token, io_param_reader, io_param_writer, io_read_body_in, & io_read_cb_in, io_read_param_in, io_read_frame_body, io_read_frame_cb, io_read_frame_system, & io_toupper, io_write_discard, io_write_encounter, io_write_frame_body, io_write_frame_cb, io_write_frame_system - public :: kick_kick_getacch_int_pl, kick_vh_body + public :: kick_getacch_int_pl, kick_vh_body public :: obl_acc_body, obl_acc_pl, obl_acc_tp public :: orbel_el2xv_vec, orbel_xv2el_vec, orbel_scget, orbel_xv2aeq, orbel_xv2aqt public :: setup_body, setup_construct_system, setup_initialize_system, setup_pl, setup_tp @@ -218,7 +218,7 @@ module swiftest_classes ! These are concrete because they are the same implemenation for all integrators procedure, public :: discard => discard_pl !! Placeholder method for discarding massive bodies procedure, public :: eucl_index => eucl_dist_index_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix - procedure, public :: accel_int => kick_kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies + procedure, public :: accel_int => kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies procedure, public :: accel_obl => obl_acc_pl !! Compute the barycentric accelerations of bodies due to the oblateness of the central body procedure, public :: setup => setup_pl !! A base constructor that sets the number of bodies and allocates and initializes all arrays procedure, public :: accel_tides => tides_kick_getacch_pl !! Compute the accelerations of bodies due to tidal interactions with the central body @@ -247,7 +247,7 @@ module swiftest_classes ! Test particle-specific concrete methods ! These are concrete because they are the same implemenation for all integrators procedure, public :: discard => discard_tp !! Check to see if test particles should be discarded based on their positions relative to the massive bodies - procedure, public :: accel_int => kick_kick_getacch_int_tp !! Compute direct cross (third) term heliocentric accelerations of test particles by massive bodies + procedure, public :: accel_int => kick_getacch_int_tp !! Compute direct cross (third) term heliocentric accelerations of test particles by massive bodies procedure, public :: accel_obl => obl_acc_tp !! Compute the barycentric accelerations of bodies due to the oblateness of the central body procedure, public :: setup => setup_tp !! A base constructor that sets the number of bodies and procedure, public :: set_mu => util_set_mu_tp !! Method used to construct the vectorized form of the central body mass @@ -604,18 +604,18 @@ module subroutine io_write_frame_system(self, iu, param) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine io_write_frame_system - module pure subroutine kick_kick_getacch_int_pl(self) + module pure subroutine kick_getacch_int_pl(self) implicit none class(swiftest_pl), intent(inout) :: self - end subroutine kick_kick_getacch_int_pl + end subroutine kick_getacch_int_pl - module pure subroutine kick_kick_getacch_int_tp(self, GMpl, xhp, npl) + module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) implicit none class(swiftest_tp), intent(inout) :: self !! Swiftest test particle real(DP), dimension(:), intent(in) :: GMpl !! Massive body masses real(DP), dimension(:,:), intent(in) :: xhp !! Massive body position vectors integer(I4B), intent(in) :: npl !! Number of active massive bodies - end subroutine kick_kick_getacch_int_tp + end subroutine kick_getacch_int_tp module subroutine kick_vh_body(self, dt) implicit none From d85ee28f96bf09af373396acc55e51986bef55bc Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 16:01:21 -0400 Subject: [PATCH 13/19] Restructured kick methods for entire code with new masked interface. WHM still works, but Helio does not. --- src/helio/helio_drift.f90 | 43 ++++++++++-------- src/helio/helio_kick.f90 | 33 ++++++++++---- src/helio/helio_step.f90 | 31 +++++-------- src/kick/kick.f90 | 26 ----------- src/modules/helio_classes.f90 | 48 +++++++++++++------- src/modules/swiftest_classes.f90 | 48 +++++++++++--------- src/modules/whm_classes.f90 | 58 +++++++++++++++++------- src/symba/symba_step.f90 | 37 ++++++--------- src/whm/whm_kick.f90 | 78 +++++++++++++++++++++++++++++++- src/whm/whm_step.f90 | 22 ++------- 10 files changed, 259 insertions(+), 165 deletions(-) diff --git a/src/helio/helio_drift.f90 b/src/helio/helio_drift.f90 index 0c146eea5..942206945 100644 --- a/src/helio/helio_drift.f90 +++ b/src/helio/helio_drift.f90 @@ -71,7 +71,7 @@ module subroutine helio_drift_tp(self, system, param, dt, mask) return end subroutine helio_drift_tp - module subroutine helio_drift_linear_pl(self, cb, dt, lbeg) + module subroutine helio_drift_linear_pl(self, cb, dt, mask, lbeg) !! author: David A. Minton !! !! Perform linear drift of massive bodies due to barycentric momentum of Sun @@ -80,21 +80,26 @@ module subroutine helio_drift_linear_pl(self, cb, dt, lbeg) !! Adapted from Hal Levison's Swift routine helio_lindrift.f implicit none ! Arguments - class(helio_pl), intent(inout) :: self !! Helio massive body object - class(helio_cb), intent(inout) :: cb !! Helio central bod - real(DP), intent(in) :: dt !! Stepsize - logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step + class(helio_pl), intent(inout) :: self !! Helio massive body object + class(helio_cb), intent(inout) :: cb !! Helio central body + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step ! Internals - real(DP), dimension(NDIM) :: pt !! negative barycentric velocity of the central body + real(DP), dimension(NDIM) :: pt !! negative barycentric velocity of the central body + integer(I4B) :: i associate(pl => self, npl => self%nbody) - pt(1) = sum(pl%Gmass(1:npl) * pl%vb(1,1:npl)) - pt(2) = sum(pl%Gmass(1:npl) * pl%vb(2,1:npl)) - pt(3) = sum(pl%Gmass(1:npl) * pl%vb(3,1:npl)) + if (npl == 0) return + pt(1) = sum(pl%Gmass(1:npl) * pl%vb(1,1:npl), mask) + pt(2) = sum(pl%Gmass(1:npl) * pl%vb(2,1:npl), mask) + pt(3) = sum(pl%Gmass(1:npl) * pl%vb(3,1:npl), mask) pt(:) = pt(:) / cb%Gmass - pl%xh(1,1:npl) = pl%xh(1,1:npl) + pt(1) * dt - pl%xh(2,1:npl) = pl%xh(2,1:npl) + pt(2) * dt - pl%xh(3,1:npl) = pl%xh(3,1:npl) + pt(3) * dt + do concurrent(i = 1:npl, mask(i)) + pl%xh(1,1:npl) = pl%xh(1,1:npl) + pt(1) * dt + pl%xh(2,1:npl) = pl%xh(2,1:npl) + pt(2) * dt + pl%xh(3,1:npl) = pl%xh(3,1:npl) + pt(3) * dt + end do if (lbeg) then cb%ptbeg = pt(:) @@ -106,7 +111,7 @@ module subroutine helio_drift_linear_pl(self, cb, dt, lbeg) return end subroutine helio_drift_linear_pl - module subroutine helio_drift_linear_tp(self, cb, dt, lbeg) + module subroutine helio_drift_linear_tp(self, cb, dt, mask, lbeg) !! author: David A. Minton !! !! Perform linear drift of test particles due to barycentric momentum of Sun @@ -116,20 +121,22 @@ module subroutine helio_drift_linear_tp(self, cb, dt, lbeg) !! Adapted from Hal Levison's Swift routine helio_lindrift_tp.f implicit none ! Arguments - class(helio_tp), intent(inout) :: self !! Helio test particleb object - class(helio_cb), intent(in) :: cb !! Helio central body - real(DP), intent(in) :: dt !! Stepsize - logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step + class(helio_tp), intent(inout) :: self !! Helio test particleb object + class(helio_cb), intent(in) :: cb !! Helio central body + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step ! Internals real(DP), dimension(NDIM) :: pt !! negative barycentric velocity of the central body associate(tp => self, ntp => self%nbody) + if (ntp == 0) return if (lbeg) then pt(:) = cb%ptbeg else pt(:) = cb%ptend end if - where (tp%status(1:ntp) == ACTIVE) + where (mask(1:ntp)) tp%xh(1, 1:ntp) = tp%xh(1, 1:ntp) + pt(1) * dt tp%xh(2, 1:ntp) = tp%xh(2, 1:ntp) + pt(2) * dt tp%xh(3, 1:ntp) = tp%xh(3, 1:ntp) + pt(3) * dt diff --git a/src/helio/helio_kick.f90 b/src/helio/helio_kick.f90 index a4cd86d1d..1c2fff23e 100644 --- a/src/helio/helio_kick.f90 +++ b/src/helio/helio_kick.f90 @@ -66,7 +66,7 @@ module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) return end subroutine helio_kick_getacch_tp - module subroutine helio_kick_vb_pl(self, dt) + module subroutine helio_kick_vb_pl(self, system, param, t, dt, mask, lbeg) !! author: David A. Minton !! !! Kick barycentric velocities of bodies @@ -75,14 +75,25 @@ module subroutine helio_kick_vb_pl(self, dt) !! Adapted from David E. Kaufmann's Swifter routine helio_kick_vb.f90 implicit none ! Arguments - class(helio_pl), intent(inout) :: self !! Swiftest generic body object - real(DP), intent(in) :: dt !! Stepsize + class(helio_pl), intent(inout) :: self !! Swiftest generic body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. ! Internals integer(I4B) :: i associate(pl => self, npl => self%nbody) if (npl ==0) return - do concurrent(i = 1:npl, pl%status(i) == ACTIVE) + call pl%accel(system, param, t) + if (lbeg) then + call pl%set_beg_end(xbeg = pl%xh) + else + call pl%set_beg_end(xend = pl%xh) + end if + do concurrent(i = 1:npl, mask(i)) pl%vb(:, i) = pl%vb(:, i) + pl%ah(:, i) * dt end do end associate @@ -91,7 +102,7 @@ module subroutine helio_kick_vb_pl(self, dt) end subroutine helio_kick_vb_pl - module subroutine helio_kick_vb_tp(self, dt) + module subroutine helio_kick_vb_tp(self, system, param, t, dt, mask, lbeg) !! author: David A. Minton !! !! Kick barycentric velocities of bodies @@ -100,14 +111,20 @@ module subroutine helio_kick_vb_tp(self, dt) !! Adapted from David E. Kaufmann's Swifter routine helio_kick_vb_tp.f90 implicit none ! Arguments - class(helio_tp), intent(inout) :: self !! Swiftest generic body object - real(DP), intent(in) :: dt !! Stepsize + class(helio_tp), intent(inout) :: self !! Swiftest generic body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. ! Internals integer(I4B) :: i associate(tp => self, ntp => self%nbody) if (ntp ==0) return - do concurrent(i = 1:ntp, tp%status(i) == ACTIVE) + call tp%accel(system, param, t, lbeg) + do concurrent(i = 1:ntp, mask(i)) tp%vb(:, i) = tp%vb(:, i) + tp%ah(:, i) * dt end do end associate diff --git a/src/helio/helio_step.f90 b/src/helio/helio_step.f90 index 511ffacb6..d0c4dde83 100644 --- a/src/helio/helio_step.f90 +++ b/src/helio/helio_step.f90 @@ -37,8 +37,7 @@ module subroutine helio_step_pl(self, system, param, t, dt) real(DP), intent(in) :: t !! Current simulation time real(DP), intent(in) :: dt !! Stepsize ! Internals - integer(I4B) :: i - real(DP) :: dth, msys + real(DP) :: dth !! Half step size if (self%nbody == 0) return associate(pl => self) @@ -49,15 +48,11 @@ module subroutine helio_step_pl(self, system, param, t, dt) call pl%vh2vb(cb) pl%lfirst = .false. end if - call pl%lindrift(cb, dth, lbeg=.true.) - call pl%accel(system, param, t) - call pl%kick(dth) - call pl%set_beg_end(xbeg = pl%xh) - call pl%drift(system, param, dt, pl%status(:) == ACTIVE) - call pl%set_beg_end(xend = pl%xh) - call pl%accel(system, param, t + dt) - call pl%kick(dth) - call pl%lindrift(cb, dth, lbeg=.false.) + call pl%lindrift(cb, dth, mask=(pl%status(:) == ACTIVE), lbeg=.true.) + call pl%kick(system, param, t, dth, mask=(pl%status(:) == ACTIVE), lbeg=.true.) + call pl%drift(system, param, dt, mask=(pl%status(:) == ACTIVE)) + call pl%kick(system, param, t + dt, dth, mask=(pl%status(:) == ACTIVE), lbeg=.false.) + call pl%lindrift(cb, dth, mask=(pl%status(:) == ACTIVE), lbeg=.false.) call pl%vb2vh(cb) end select end associate @@ -80,9 +75,9 @@ module subroutine helio_step_tp(self, system, param, t, dt) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nboody system class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - real(DP), intent(in) :: dt !! Stepsiz + real(DP), intent(in) :: dt !! Stepsize ! Internals - real(DP) :: dth !! Half step size + real(DP) :: dth !! Half step size if (self%nbody == 0) return @@ -94,13 +89,11 @@ module subroutine helio_step_tp(self, system, param, t, dt) call tp%vh2vb(vbcb = -cb%ptbeg) tp%lfirst = .false. end if - call tp%lindrift(cb, dth, lbeg=.true.) - call tp%accel(system, param, t, lbeg=.true.) - call tp%kick(dth) + call tp%lindrift(cb, dth, mask=(tp%status(:) == ACTIVE), lbeg=.true.) + call tp%kick(system, param, t, dth, mask=(tp%status(:) == ACTIVE), lbeg=.true.) call tp%drift(system, param, dt, tp%status(:) == ACTIVE) - call tp%accel(system, param, t + dt, lbeg=.false.) - call tp%kick(dth) - call tp%lindrift(cb, dth, lbeg=.false.) + call tp%kick(system, param, t + dt, dth, mask=(tp%status(:) == ACTIVE), lbeg=.false.) + call tp%lindrift(cb, dth, mask=(tp%status(:) == ACTIVE), lbeg=.false.) call tp%vb2vh(vbcb = -cb%ptend) end select end associate diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index f9cd81b35..c10d47dbc 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -64,30 +64,4 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) return end subroutine kick_getacch_int_tp - module subroutine kick_vh_body(self, dt) - !! author: David A. Minton - !! - !! Kick heliocentric velocities of bodies - !! - !! Adapted from Martin Duncan and Hal Levison's Swift routine kickvh.f and kickvh_tp.f - !! Adapted from David E. Kaufmann's Swifter routine whm_kickvh.f90 and whm_kickvh_tp.f90 - implicit none - ! Arguments - class(swiftest_body), intent(inout) :: self !! Swiftest generic body object - real(DP), intent(in) :: dt !! Stepsize - ! Internals - integer(I4B) :: i - - associate(n => self%nbody, vh => self%vh, ah => self%ah, status => self%status) - if (n == 0) return - do i = 1, n - if (status(i) == ACTIVE) vh(:, i) = vh(:, i) + ah(:, i) * dt - end do - end associate - - return - end subroutine kick_vh_body - - - end submodule s_kick diff --git a/src/modules/helio_classes.f90 b/src/modules/helio_classes.f90 index 39d1e30e4..c3dc0be62 100644 --- a/src/modules/helio_classes.f90 +++ b/src/modules/helio_classes.f90 @@ -116,20 +116,22 @@ module subroutine helio_drift_tp(self, system, param, dt, mask) logical, dimension(:), intent(in) :: mask !! Logical mask of size self%nbody that determines which bodies to drift end subroutine helio_drift_tp - module subroutine helio_drift_linear_pl(self, cb, dt, lbeg) + module subroutine helio_drift_linear_pl(self, cb, dt, mask, lbeg) implicit none - class(helio_pl), intent(inout) :: self !! Helio massive body object - class(helio_cb), intent(inout) :: cb !! Helio central body object - real(DP), intent(in) :: dt !! Stepsize - logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step + class(helio_pl), intent(inout) :: self !! Helio massive body object + class(helio_cb), intent(inout) :: cb !! Helio central body + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step end subroutine helio_drift_linear_pl - module subroutine helio_drift_linear_tp(self, cb, dt, lbeg) + module subroutine helio_drift_linear_tp(self, cb, dt, mask, lbeg) implicit none - class(helio_tp), intent(inout) :: self !! Helio test particle object - class(helio_cb), intent(in) :: cb !! Helio nbody system object - real(DP), intent(in) :: dt !! Stepsize - logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step + class(helio_tp), intent(inout) :: self !! Helio test particle object + class(helio_cb), intent(in) :: cb !! Helio central body + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step end subroutine helio_drift_linear_tp module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) @@ -143,7 +145,7 @@ module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) end subroutine helio_kick_getacch_pl module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) - use swiftest_classes, only : swiftest_parameters, swiftest_nbody_system + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none class(helio_tp), intent(inout) :: self !! Helio test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object @@ -152,16 +154,28 @@ module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step end subroutine helio_kick_getacch_tp - module subroutine helio_kick_vb_pl(self, dt) + module subroutine helio_kick_vb_pl(self, system, param, t, dt, mask, lbeg) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none - class(helio_pl), intent(inout) :: self !! Helio massive body object - real(DP), intent(in) :: dt !! Stepsize + class(helio_pl), intent(inout) :: self !! Helio massive body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. end subroutine helio_kick_vb_pl - module subroutine helio_kick_vb_tp(self, dt) + module subroutine helio_kick_vb_tp(self, system, param, t, dt, mask, lbeg) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none - class(helio_tp), intent(inout) :: self !! Helio test particle object - real(DP), intent(in) :: dt !! Stepsize + class(helio_tp), intent(inout) :: self !! Helio test particle object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. end subroutine helio_kick_vb_tp module subroutine helio_step_pl(self, system, param, t, dt) diff --git a/src/modules/swiftest_classes.f90 b/src/modules/swiftest_classes.f90 index 4092a0a52..7c160b780 100644 --- a/src/modules/swiftest_classes.f90 +++ b/src/modules/swiftest_classes.f90 @@ -13,7 +13,7 @@ module swiftest_classes public :: io_dump_param, io_dump_swiftest, io_dump_system, io_get_args, io_get_token, io_param_reader, io_param_writer, io_read_body_in, & io_read_cb_in, io_read_param_in, io_read_frame_body, io_read_frame_cb, io_read_frame_system, & io_toupper, io_write_discard, io_write_encounter, io_write_frame_body, io_write_frame_cb, io_write_frame_system - public :: kick_getacch_int_pl, kick_vh_body + public :: kick_getacch_int_pl public :: obl_acc_body, obl_acc_pl, obl_acc_tp public :: orbel_el2xv_vec, orbel_xv2el_vec, orbel_scget, orbel_xv2aeq, orbel_xv2aqt public :: setup_body, setup_construct_system, setup_initialize_system, setup_pl, setup_tp @@ -167,6 +167,7 @@ module swiftest_classes contains private procedure(abstract_discard_body), public, deferred :: discard + procedure(abstract_kick_body), public, deferred :: kick procedure(abstract_set_mu), public, deferred :: set_mu procedure(abstract_step_body), public, deferred :: step procedure(abstract_accel), public, deferred :: accel @@ -177,7 +178,6 @@ module swiftest_classes procedure, public :: initialize => io_read_body_in !! Read in body initial conditions from a file procedure, public :: read_frame => io_read_frame_body !! I/O routine for writing out a single frame of time-series data for the central body procedure, public :: write_frame => io_write_frame_body !! I/O routine for writing out a single frame of time-series data for the central body - procedure, public :: kick => kick_vh_body !! Kicks the heliocentric velocities procedure, public :: accel_obl => obl_acc_body !! Compute the barycentric accelerations of bodies due to the oblateness of the central body procedure, public :: el2xv => orbel_el2xv_vec !! Convert orbital elements to position and velocity vectors procedure, public :: xv2el => orbel_xv2el_vec !! Convert position and velocity vectors to orbital elements @@ -216,19 +216,19 @@ module swiftest_classes private ! Massive body-specific concrete methods ! These are concrete because they are the same implemenation for all integrators - procedure, public :: discard => discard_pl !! Placeholder method for discarding massive bodies - procedure, public :: eucl_index => eucl_dist_index_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix - procedure, public :: accel_int => kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies - procedure, public :: accel_obl => obl_acc_pl !! Compute the barycentric accelerations of bodies due to the oblateness of the central body - procedure, public :: setup => setup_pl !! A base constructor that sets the number of bodies and allocates and initializes all arrays - procedure, public :: accel_tides => tides_kick_getacch_pl !! Compute the accelerations of bodies due to tidal interactions with the central body - procedure, public :: set_mu => util_set_mu_pl !! Method used to construct the vectorized form of the central body mass - procedure, public :: set_rhill => util_set_rhill !! Calculates the Hill's radii for each body - procedure, public :: h2b => util_coord_h2b_pl !! Convert massive bodies from heliocentric to barycentric coordinates (position and velocity) - procedure, public :: b2h => util_coord_b2h_pl !! Convert massive bodies from barycentric to heliocentric coordinates (position and velocity) - procedure, public :: fill => util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) - procedure, public :: set_beg_end => util_set_beg_end_pl !! Sets the beginning and ending positions and velocities of planets. - procedure, public :: spill => util_spill_pl !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) + procedure, public :: discard => discard_pl !! Placeholder method for discarding massive bodies + procedure, public :: eucl_index => eucl_dist_index_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix + procedure, public :: accel_int => kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies + procedure, public :: accel_obl => obl_acc_pl !! Compute the barycentric accelerations of bodies due to the oblateness of the central body + procedure, public :: setup => setup_pl !! A base constructor that sets the number of bodies and allocates and initializes all arrays + procedure, public :: accel_tides => tides_kick_getacch_pl !! Compute the accelerations of bodies due to tidal interactions with the central body + procedure, public :: set_mu => util_set_mu_pl !! Method used to construct the vectorized form of the central body mass + procedure, public :: set_rhill => util_set_rhill !! Calculates the Hill's radii for each body + procedure, public :: h2b => util_coord_h2b_pl !! Convert massive bodies from heliocentric to barycentric coordinates (position and velocity) + procedure, public :: b2h => util_coord_b2h_pl !! Convert massive bodies from barycentric to heliocentric coordinates (position and velocity) + procedure, public :: fill => util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) + procedure, public :: set_beg_end => util_set_beg_end_pl !! Sets the beginning and ending positions and velocities of planets. + procedure, public :: spill => util_spill_pl !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) end type swiftest_pl !******************************************************************************************************************************** @@ -319,6 +319,18 @@ subroutine abstract_initialize(self, param) class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine abstract_initialize + subroutine abstract_kick_body(self, system, param, t, dt, mask, lbeg) + import swiftest_body, swiftest_nbody_system, swiftest_parameters, DP + implicit none + class(swiftest_body), intent(inout) :: self !! Swiftest generic body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system objec + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + end subroutine abstract_kick_body + subroutine abstract_read_frame(self, iu, param, form, ierr) import DP, I4B, swiftest_base, swiftest_parameters class(swiftest_base), intent(inout) :: self !! Swiftest base object @@ -617,12 +629,6 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) integer(I4B), intent(in) :: npl !! Number of active massive bodies end subroutine kick_getacch_int_tp - module subroutine kick_vh_body(self, dt) - implicit none - class(swiftest_body), intent(inout) :: self !! Swiftest body object - real(DP), intent(in) :: dt !! Stepsize - end subroutine kick_vh_body - module subroutine obl_acc_body(self, system) implicit none class(swiftest_body), intent(inout) :: self !! Swiftest body object diff --git a/src/modules/whm_classes.f90 b/src/modules/whm_classes.f90 index f4f98dbf3..e30bd874f 100644 --- a/src/modules/whm_classes.f90 +++ b/src/modules/whm_classes.f90 @@ -30,19 +30,20 @@ module whm_classes !! Note to developers: If you add componenets to this class, be sure to update methods and subroutines that traverse the !! component list, such as whm_setup_pl and whm_util_spill_pl contains - procedure, public :: h2j => whm_coord_h2j_pl !! Convert position and velcoity vectors from heliocentric to Jacobi coordinates - procedure, public :: j2h => whm_coord_j2h_pl !! Convert position and velcoity vectors from Jacobi to helliocentric coordinates - procedure, public :: vh2vj => whm_coord_vh2vj_pl !! Convert velocity vectors from heliocentric to Jacobi coordinates - procedure, public :: drift => whm_drift_pl !! Loop through massive bodies and call Danby drift routine to jacobi coordinates - procedure, public :: fill => whm_util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) - procedure, public :: accel => whm_kick_getacch_pl !! Compute heliocentric accelerations of massive bodies - procedure, public :: accel_gr => whm_gr_kick_getacch_pl !! Acceleration term arising from the post-Newtonian correction - procedure, public :: gr_pos_kick => whm_gr_p4_pl !! Position kick due to p**4 term in the post-Newtonian correction - procedure, public :: setup => whm_setup_pl !! Constructor method - Allocates space for number of particles + procedure, public :: h2j => whm_coord_h2j_pl !! Convert position and velcoity vectors from heliocentric to Jacobi coordinates + procedure, public :: j2h => whm_coord_j2h_pl !! Convert position and velcoity vectors from Jacobi to helliocentric coordinates + procedure, public :: vh2vj => whm_coord_vh2vj_pl !! Convert velocity vectors from heliocentric to Jacobi coordinates + procedure, public :: drift => whm_drift_pl !! Loop through massive bodies and call Danby drift routine to jacobi coordinates + procedure, public :: fill => whm_util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the MERGE intrinsic) + procedure, public :: accel => whm_kick_getacch_pl !! Compute heliocentric accelerations of massive bodies + procedure, public :: kick => whm_kick_vh_pl !! Kick heliocentric velocities of massive bodies + procedure, public :: accel_gr => whm_gr_kick_getacch_pl !! Acceleration term arising from the post-Newtonian correction + procedure, public :: gr_pos_kick => whm_gr_p4_pl !! Position kick due to p**4 term in the post-Newtonian correction + procedure, public :: setup => whm_setup_pl !! Constructor method - Allocates space for number of particles procedure, public :: set_mu => whm_util_set_mu_eta_pl !! Sets the Jacobi mass value for all massive bodies. procedure, public :: set_ir3 => whm_setup_set_ir3j !! Sets both the heliocentric and jacobi inverse radius terms (1/rj**3 and 1/rh**3) - procedure, public :: step => whm_step_pl !! Steps the body forward one stepsize - procedure, public :: spill => whm_util_spill_pl !!"Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) + procedure, public :: step => whm_step_pl !! Steps the body forward one stepsize + procedure, public :: spill => whm_util_spill_pl !!"Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) end type whm_pl !******************************************************************************************************************************** @@ -55,11 +56,12 @@ module whm_classes !! component list, such as whm_setup_tp and whm_util_spill_tp contains private - procedure, public :: accel => whm_kick_getacch_tp !! Compute heliocentric accelerations of test particles - procedure, public :: accel_gr => whm_gr_kick_getacch_tp !! Acceleration term arising from the post-Newtonian correction - procedure, public :: gr_pos_kick => whm_gr_p4_tp !! Position kick due to p**4 term in the post-Newtonian correction - procedure, public :: setup => whm_setup_tp !! Allocates new components of the whm class and recursively calls parent allocations - procedure, public :: step => whm_step_tp !! Steps the particle forward one stepsize + procedure, public :: accel => whm_kick_getacch_tp !! Compute heliocentric accelerations of test particles + procedure, public :: kick => whm_kick_vh_tp !! Kick heliocentric velocities of test particles + procedure, public :: accel_gr => whm_gr_kick_getacch_tp !! Acceleration term arising from the post-Newtonian correction + procedure, public :: gr_pos_kick => whm_gr_p4_tp !! Position kick due to p**4 term in the post-Newtonian correction + procedure, public :: setup => whm_setup_tp !! Allocates new components of the whm class and recursively calls parent allocations + procedure, public :: step => whm_step_tp !! Steps the particle forward one stepsize end type whm_tp !******************************************************************************************************************************** @@ -136,6 +138,30 @@ module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step end subroutine whm_kick_getacch_tp + module subroutine whm_kick_vh_pl(self, system, param, t, dt, mask, lbeg) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(whm_pl), intent(inout) :: self !! WHM massive body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + end subroutine whm_kick_vh_pl + + module subroutine whm_kick_vh_tp(self, system, param, t, dt, mask, lbeg) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(whm_tp), intent(inout) :: self !! WHM test particle object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + end subroutine whm_kick_vh_tp + module subroutine whm_gr_kick_getacch_pl(self, param) use swiftest_classes, only : swiftest_cb, swiftest_parameters implicit none diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index 0ef7f8df8..896af6ab4 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -62,34 +62,27 @@ module subroutine symba_step_interp_system(self, param, t, dt) class is (symba_tp) select type(cb => system%cb) class is (symba_cb) + irec = -1 call pl%vh2vb(cb) - call pl%lindrift(cb, dth, lbeg=.true.) - call tp%vh2vb(vbcb = -cb%ptbeg) - call tp%lindrift(cb, dth, lbeg=.true.) + call pl%lindrift(cb, dth, mask=(pl%status(:) == ACTIVE), lbeg=.true.) + call pl%kick(system, param, t, dth, mask=(pl%status(:) == ACTIVE), lbeg=.true.) + call pl%drift(system, param, dt, mask=(pl%status(:) == ACTIVE .and. pl%levelg(:) == irec)) - call pl%set_beg_end(xbeg = pl%xh) - call pl%accel(system, param, t) - call tp%accel(system, param, t, lbeg=.true.) + call tp%vh2vb(vbcb = -cb%ptbeg) + call tp%lindrift(cb, dth, mask=(tp%status(:) == ACTIVE), lbeg=.true.) + call tp%kick(system, param, t, dth, mask=(tp%status(:) == ACTIVE), lbeg=.true.) + call tp%drift(system, param, dt, mask=(tp%status(:) == ACTIVE .and. tp%levelg(:) == irec)) - call pl%kick(dth) - call tp%kick(dth) - irec = -1 - call pl%drift(system, param, dt, pl%status(:) == ACTIVE .and. pl%levelg(:) == irec) - call tp%drift(system, param, dt, tp%status(:) == ACTIVE .and. tp%levelg(:) == irec) irec = 0 call system%recursive_step(param, irec) - call pl%set_beg_end(xend = pl%xh) - call pl%accel(system, param, t + dt) - call tp%accel(system, param, t + dt, lbeg=.false.) - - call pl%kick(dth) - call tp%kick(dth) - + call pl%kick(system, param, t, dth, mask=(pl%status(:) == ACTIVE), lbeg=.false.) call pl%vb2vh(cb) - call pl%lindrift(cb, dth, lbeg=.false.) + call pl%lindrift(cb, dth, mask=(pl%status(:) == ACTIVE), lbeg=.false.) + + call tp%kick(system, param, t, dth, mask=(tp%status(:) == ACTIVE), lbeg=.true.) call tp%vb2vh(vbcb = -cb%ptend) - call tp%lindrift(cb, dth, lbeg=.false.) + call tp%lindrift(cb, dth, mask=(tp%status(:) == ACTIVE), lbeg=.false.) end select end select end select @@ -146,8 +139,8 @@ module recursive subroutine symba_step_recur_system(self, param, ireci) call pltpenc_list%kick(system, dth, irecp, sgn) end if - call pl%drift(system, param, dtl, pl%status(:) == ACTIVE .and. pl%levelg(:) == ireci) - call tp%drift(system, param, dtl, tp%status(:) == ACTIVE .and. tp%levelg(:) == ireci) + call pl%drift(system, param, dtl, mask=(pl%status(:) == ACTIVE .and. pl%levelg(:) == ireci)) + call tp%drift(system, param, dtl, mask=(tp%status(:) == ACTIVE .and. tp%levelg(:) == ireci)) if (lencounter) call system%recursive_step(param, irecp) diff --git a/src/whm/whm_kick.f90 b/src/whm/whm_kick.f90 index af8805d47..5a0e19fd5 100644 --- a/src/whm/whm_kick.f90 +++ b/src/whm/whm_kick.f90 @@ -23,7 +23,7 @@ module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) if (npl == 0) return call pl%set_ir3() - ah0 = whm_kick_getacch_ah0(pl%Gmass(2:npl), pl%xh(:,2:npl), npl-1) + ah0(:) = whm_kick_getacch_ah0(pl%Gmass(2:npl), pl%xh(:,2:npl), npl-1) do i = 1, npl pl%ah(:, i) = ah0(:) end do @@ -179,4 +179,80 @@ pure subroutine whm_kick_getacch_ah2(cb, pl) return end subroutine whm_kick_getacch_ah2 + module subroutine whm_kick_vh_pl(self, system, param, t, dt, mask, lbeg) + !! author: David A. Minton + !! + !! Kick heliocentric velocities of massive bodies + !! + !! Adapted from Martin Duncan and Hal Levison's Swift routine kickvh.f + !! Adapted from David E. Kaufmann's Swifter routine whm_kickvh.f90 + implicit none + ! Arguments + class(whm_pl), intent(inout) :: self !! WHM massive body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + ! Internals + integer(I4B) :: i + + associate(pl => self, npl => self%nbody, cb => system%cb) + if (npl == 0) return + if (pl%lfirst) then + call pl%h2j(cb) + call pl%accel(system, param, t) + pl%lfirst = .false. + end if + if (lbeg) then + call pl%set_beg_end(xbeg = pl%xh) + else + call pl%set_beg_end(xend = pl%xh) + call pl%accel(system, param, t) + end if + do concurrent(i = 1:npl, mask(i)) + pl%vh(:, i) = pl%vh(:, i) + pl%ah(:, i) * dt + end do + end associate + + return + end subroutine whm_kick_vh_pl + + module subroutine whm_kick_vh_tp(self, system, param, t, dt, mask, lbeg) + !! author: David A. Minton + !! + !! Kick heliocentric velocities of test particles + !! + !! Adapted from Martin Duncan and Hal Levison's Swift routine kickvh_tp.f + !! Adapted from David E. Kaufmann's Swifter routine whm_kickvh_tp.f90 + implicit none + ! Arguments + class(whm_tp), intent(inout) :: self !! WHM massive body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, dimension(:), intent(in) :: mask !! Mask that determines which bodies to kick + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + ! Internals + integer(I4B) :: i + + associate(tp => self, ntp => self%nbody) + if (ntp == 0) return + if (tp%lfirst) then + call tp%accel(system, param, t, lbeg=.true.) + tp%lfirst = .false. + end if + if (.not.lbeg) call tp%accel(system, param, t, lbeg) + do concurrent(i = 1:ntp, mask(i)) + tp%vh(:, i) = tp%vh(:, i) + tp%ah(:, i) * dt + end do + end associate + + return + end subroutine whm_kick_vh_tp + + + end submodule s_whm_kick diff --git a/src/whm/whm_step.f90 b/src/whm/whm_step.f90 index 64415f15d..ae8722ad9 100644 --- a/src/whm/whm_step.f90 +++ b/src/whm/whm_step.f90 @@ -47,20 +47,13 @@ module subroutine whm_step_pl(self, system, param, t, dt) associate(pl => self, cb => system%cb) dth = 0.5_DP * dt - if (pl%lfirst) then - call pl%h2j(cb) - call pl%accel(system, param, t) - pl%lfirst = .false. - end if - call pl%set_beg_end(xbeg = pl%xh) - call pl%kick(dth) + call pl%kick(system, param, t, dth, mask=(pl%status(:) == ACTIVE), lbeg=.true.) call pl%vh2vj(cb) if (param%lgr) call pl%gr_pos_kick(param, dth) call pl%drift(system, param, dt, pl%status(:) == ACTIVE) if (param%lgr) call pl%gr_pos_kick(param, dth) call pl%j2h(cb) - call pl%accel(system, param, t + dt) - call pl%kick(dth) + call pl%kick(system, param, t + dt, dth, mask=(pl%status(:) == ACTIVE), lbeg=.false.) call pl%set_beg_end(xend = pl%xh) end associate return @@ -89,16 +82,11 @@ module subroutine whm_step_tp(self, system, param, t, dt) class is (whm_nbody_system) associate(tp => self, cb => system%cb, pl => system%pl) dth = 0.5_DP * dt - if (tp%lfirst) then - call tp%accel(system, param, t, lbeg=.true.) - tp%lfirst = .false. - end if - call tp%kick(dth) + call tp%kick(system, param, t, dth, mask=(tp%status(:) == ACTIVE), lbeg=.true.) if (param%lgr) call tp%gr_pos_kick(param, dth) - call tp%drift(system, param, dt, tp%status(:) == ACTIVE) + call tp%drift(system, param, dt, mask=(tp%status(:) == ACTIVE)) if (param%lgr) call tp%gr_pos_kick(param, dth) - call tp%accel(system, param, t + dt, lbeg=.false.) - call tp%kick(dth) + call tp%kick(system, param, t + dt, dth, mask=(tp%status(:) == ACTIVE), lbeg=.false.) end associate end select return From 028bc69994cf4c7601ea9edf2b6e657ff12f6bd4 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 16:13:49 -0400 Subject: [PATCH 14/19] Fixed bug in helio_drift_linear_pl due to bad index in loop --- .../helio_swifter_comparison/swiftest_vs_swifter.ipynb | 8 ++++---- src/helio/helio_drift.f90 | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb b/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb index 7f0b1d4b9..9adcfb4d0 100644 --- a/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb +++ b/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb @@ -100,7 +100,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -127,7 +127,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -153,7 +153,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAElCAYAAAD3KtVsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABZSElEQVR4nO3dd3yV9dn48c+VvScJWYRAWGEGCEMFBK0UV3HXUf05qtVqHzusXc/T9Txt7XbXum1tta3VinuhsmSEGSCMEFbI3js54/r9cZ9gxACHcFaS7/v1Oq8z7nXdEc91vltUFcMwDMM4mSB/B2AYhmEMDCZhGIZhGG4xCcMwDMNwi0kYhmEYhltMwjAMwzDcYhKGYRiG4RaTMIwhSUR+KiLPu15ni0iriAT34zyPicj/eD5Cwwg8JmEYA5KIHBCRLxzz2Y0isupUz6Wqh1Q1RlUd/Tj2dlX9X3f2FZFnReT/TvUantLfv49h9DAJwzAGAREJGQzXMAKbSRjGoCUiGSLybxGpEZH9IvJfx9kvR0S05wvRddwyEakXkRIRufUE1zhaahCRhSJSJiLfEZFqEakQkZtc224DrgPudVV/vXayGEUkUkSeE5EGESkWkXtFpKzX9gMi8j0R2Qa0iUiIiHxfRPaJSIuI7BSRS1375gGPAWe4rt/o+jxeRP7iuv5BEflvEQlybbtRRFaLyB9FpB74aX//WxiDg/nFYAxKri+914BXgWuALOB9Edmtqu+c5PAXgB1ABjABeE9ESlX1AzcunQbEA5nAecBLIvIfVX1cRM4EylT1v92M8SdADjAaiAbe7ON61wAXArWqaheRfcB8oBK4EnheRMaoarGI3A58VVXn9Tr+IVe8o4Fk4F2gAnjKtX0O8CKQCoS6cf/GIGZKGMZA9h8Raex5AI/22jYLSFHVn6tqt6qWAk8AV5/ohCIyApgHfE9VO1V1C/AkcL2bMdmAn6uqTVXfBFqB8cfZ92QxXgX8UlUbVLUMeLCPczyoqodVtQNAVf+lquWq6lTVfwB7gdnHuddg4MvAD1S1RVUPAL8/5l7LVfUhVbX3XMMYukwJwxjILlHV93veiMiNwFddb0cCGT1VLy7BwMqTnDMDqFfVll6fHQQK3IypTlXtvd63AzHH2fdkMWYAh3tt6/26z89E5Abg21glE1zXHnac6w8DwrDur8dBrNLRia5pDFEmYRiD1WFgv6qOPcXjyoEkEYntlTSygSMeiOnYqaFPFmMFVjXVTtf7ESc6p4iMxCqhnAt8oqoOEdkCyHGuX4tVIhrZ6xrH3quZzto4ylRJGYPVeqDZ1SgcKSLBIjJZRGad6CBVPQysAX4lIhEiMhW4BfibB2KqwmorcDfGfwI/EJFEEckE7jrJ+aOxvuBrAFwN7pOPuX6WiIQBuLoR/xP4hYjEuhLOt4HnT+82jcHKJAxjUHJ9GV4M5AP7sX5NP4nVwHsy12BV6ZQDrwA/UdX3PBDWU8BEV5vLf9yI8edAmWvb+8BLQNfxTq6qO7HaID7BSg5TgNW9dlmO1ZhfKSK1rs++AbQBpcAq4O/A06d7o8bgJGYBJcMYGETkDuBqVT3b37EYQ5MpYRhGgBKRdBE5S0SCRGQ88B2sEo9h+IVp9DaMwBUG/BkYBTRijYd49EQHGIY3mSopwzAMwy2mSsowDMNwi0kYhuHS1wy4g8Wx82UZRn+YhGEMKa4vzTbXBHxHROQP0o91MDwQwxhfXtMwPMEkDGMomqaqMVgjoq8FjjsbrWEYnzIJwxiyVHUX1rxNk4/dJiKzReQT1yC7ChF5uGeEtGu7isjtIrLXNf34IyIivbbf7JqSvEFE3nGNokZEVrh22eoq5XxZRIaJyOuua9WLyMqeKcb7iOtMEdkgIk2u5zN7bftIRP7XNSV5i4i8KyKfm0dKRK4UkY3HfPYdEfnPqf0FjaHGJAxjyBKRiVhTgW/uY7MD+BbWBH1nYJVGvn7MPhdhzTg7DWtm2S+6znsJ8EPgMiAFKym9AKCqC1zHTnOt8vcPrPEVZa59h7uO/Vz3RRFJAt7AmrU2GfgD8IaIJPfa7VrgJqzpyMOAe/q4t2XAKNcaGT2+Avy1j30N4yiTMIyhaJOINGCtRfEk8MyxO6jqRlVd65rW+wDWeIhjR1jfp6qNqnoI+BBrig+ArwG/UtVi18y1vwTye0oZfbAB6cBI17ToK7Xv/u4XAntV9a+uuF4AdmFNL9LjGVXd45qK/J+9Yup9b13AP7CSBCIyCWsqlNePE59hACZhGEPTDFVNVNVcVf1vVXUeu4OIjHNVE1WKSDPWl/6x1TuVvV73nsZ8JPBAr3U66rFmjM2kb78FSoB3RaRURL5/nP0y+OxU5PD56ciPF9OxngOudVWjXQ/805VIDOO4TMIwjL79CevX+1hVjcOqJpITH3LUYeBrqprQ6xGpqmv62tm1eNF3VHU0Vmnh2yJybh+7lmMlo976NfW6qq4FurGq5K7FVEcZbjAJwzD6Fgs0A60iMgG44xSOfQxrWvJJcHTd7Ct7bf/MNOcicpGIjHH92m/Gaj9x9HHeN4FxInKtWOt3fxmYSP+rkv4CPAzYVXVVP89hDCEmYRhG3+7B+uXdgrUo0T/cPVBVXwF+Dbzoqs7aDpzfa5efAs+5qqyuAsZiTV/eijU1+aOq+lEf563Damj/DlAH3AtcpKq1x+7rpr9i9RAzpQvDLWYuKcMYokQkEqjGatPZ6+94jMBnShiGMXTdAWwwycJwl5lXxjCGIBE5gNWIf4l/IzEGElMlZRiGYbjFVEkZhmEYbhnUVVLDhg3TnJwcf4dhGIYxYGzcuLFWVVP62uazhCEiT2N1CaxW1b4me/sucF2vuPKAFFWtd9W3tmD1TberaoE718zJyaGwsNAT4RuGYQwJInLsbAJH+bJK6llgyfE2qupvVTVfVfOBHwAfq2p9r10Wuba7lSwMwzAMz/JZwlDVFVhz6rjjGlyzexqGYRiBIeAavUUkCqsk8u9eHyvWxGwbReS2kxx/m4gUikhhTU2NN0M1DMMYUgKx0ftiYPUx1VFnqWq5iKQC74nILleJ5XNU9XHgcYCCgoLP9Rm22WyUlZXR2dnpjdg9IiIigqysLEJDQ/0dimEYxlGBmDCu5pjqKFUtdz1Xi8grwGygz4RxMmVlZcTGxpKTk0OvBdIChqpSV1dHWVkZo0aN8nc4hmEYRwVUlZSIxGMtUvNqr8+iRSS25zWwGGsyt37p7OwkOTk5IJMFgIiQnJwc0CUgwzCGJl92q30BWAgME5Ey4CdAKICqPuba7VLgXVVt63XocOAV1xd8CPB3VX37NGM5ncO9LtDjMwxjaPJZwlDVa9zY51ms7re9PyvFWjPZMAzDOI5uu5OXNpYRJHDZjCzCQjxfgRRQVVIDxZlnntnn5zfeeCMvvfSSj6MxDGOoczqVr/21kB++UsT3Xy7iluc20Gnraw2u0xOIjd4Bb82aPlfaNAzD8IuXNpbx4e4afnzRRCLDgllVUktwkOertk3C6IeYmBhaW1tRVb7xjW+wfPlyRo0ahZn51zAMX3M6lT99vI+pWfHcdJbV+/PqWSO80hZqqqROwyuvvMLu3bspKiriiSeeMCUPwzB8bsXeGvbXtnHLvFFHk4S3Os6YhHEaVqxYwTXXXENwcDAZGRmcc845/g7JMIwh5s2iCmLDQ1gyOc3r1zIJ4zSZLrCGYfiL3eHk/eJqzslLJTwk2OvXMwnjNCxYsIAXX3wRh8NBRUUFH374ob9DMgxjCCk82EB9WzdfnOT90gWYRu/Tcumll7J8+XKmTJnCuHHjOPvss/0dkmEYQ8jKvTUEBwkLxvW53pHHmYTRD62trYBVHfXwww/7ORrDMIaqdaX1TMmMJybcN1/lpkrKMAxjAOrodrC1rJE5o5N8dk2TMAzDMAagzYcasDmUuaOSfXZNkzAMwzAGoLX76wkSKMhJ9Nk1TcIwDMMYgLYcbmR8WhyxEb5baM0kDMMwjAGouKKZielxPr2mSRiGYRgDTE1LFzUtXUzMMAlj0Lv55ptJTU1l8uTJ/g7FMIwBqLiiGYC89FifXtckDD+48cYbefvt01o00DCMIawnYZgqqSFgwYIFJCX5ru+0YRiDS3FFMxnxESREhfn0ukN6pPfPXtvBzvJmj55zYkYcP7l4kkfPaRiG0VtxRQt5Pi5dgClhGIZhDCidNgclNa1+SRg+K2GIyNPARUC1qn6utVdEFgKvAvtdH72sqj93bVsCPAAEA0+q6n2eiMmUBAzDGGhKqltxOHXQlzCeBZacZJ+VqprvevQki2DgEeB8YCJwjYhM9GqkhmEYAWpnT4O3j7vUgg8ThqquAOr7cehsoERVS1W1G3gRWOrR4Hzsmmuu4YwzzmD37t1kZWXx1FNP+TskwzAGiJ3lzUSFBTMyKcrn1w60Ru8zRGQrUA7co6o7gEzgcK99yoA5xzuBiNwG3AaQnZ3txVD774UXXvB3CIZhDFDFFc2MT4slKMj3q30GUqP3JmCkqk4DHgL+4/q8r7+KHu8kqvq4qhaoakFKim8WFTEMw/AFVaW4otkv7RcQQAlDVZtVtdX1+k0gVESGYZUoRvTaNQurBGIYhjGklDd10txp9/mAvR4BkzBEJE1ExPV6NlZsdcAGYKyIjBKRMOBqYJn/IjUMw/CPnnFj/iph+LJb7QvAQmCYiJQBPwFCAVT1MeAK4A4RsQMdwNWqqoBdRO4C3sHqVvu0q23DMAxjSCmuaEYEJqT5dg6pHj5LGKp6zUm2Pwz0uUC2q4rqTW/EZRiGMVAUVzSTkxxNtI/W8D5WwFRJGYZhGCe2s6LZ5zPU9mYSho8dPnyYRYsWkZeXx6RJk3jggQf8HZJhGANAa5edg3Xt5KX5p/0CAm8cxqAXEhLC73//e2bMmEFLSwszZ87kvPPOY+JEM3jdMIzj213p3wZvMCUMn0tPT2fGjBkAxMbGkpeXx5EjR/wclWEYgW5nRQvgnylBegztEsZb34fKIs+eM20KnO/e3IgHDhxg8+bNzJlz3IHrhmEYgNWlNj4ylPT4CL/FYEoYftLa2srll1/O/fffT1yc/34xGIYxMBS7Grxdw9X8YmiXMNwsCXiazWbj8ssv57rrruOyyy7zSwyGYQwcDqeyu7KFa2b7d348U8LwMVXllltuIS8vj29/+9v+DscwjAHgYF0bHTaHX7vUgkkYPrd69Wr++te/snz5cvLz88nPz+fNN82YRMMwjq9nDQx/9pCCoV4l5Qfz5s3DmvHEMAzDPcUVzYQECWOHx/g1DlPCMAzDCHDFFS2MSY0hPCTYr3GYhGEYhhHgdpb7bw2M3kzCMAzDCGANbd1UNnf6vcEbTMIwDMMIaMUB0uANJmEYhmEEtEDpIQUmYRiGYQS0nRXNpMaGMywm3N+hmITha52dncyePZtp06YxadIkfvKTn/g7JMMwAlhxRUtAlC7AjMPwufDwcJYvX05MTAw2m4158+Zx/vnnM3fuXH+HZhhGgOm2OympbmHh+BR/hwKYEobPiQgxMdbgG5vNhs1m8+tkYoZhBK6S6lZsDjUljEDw6/W/Zlf9Lo+ec0LSBL43+3sn3MfhcDBz5kxKSkq48847zfTmhnESr245wvNrD5IaF8H3l0xgRFKUv0PyiR3lTQBM8uMaGL35rIQhIk+LSLWIbD/O9utEZJvrsUZEpvXadkBEikRki4gU+ipmbwkODmbLli2UlZWxfv16tm/v809iGAbwjw2HuPvFLdS3dbNidw2X/WkNVc2d/g7LJ3aUNxMVFkxOcrS/QwF8W8J4FngY+Mtxtu8HzlbVBhE5H3gc6P3Te5Gq1noyoJOVBLwtISGBhQsX8vbbbzN58mS/xmIYgaiiqYOfv7aTs8Yk8+xNsymtaeOSR1bzo1e28+T/K/B3eF63s7yZCWmxBAcFRrW1z0oYqroCqD/B9jWq2uB6uxbI8klgPlZTU0NjYyMAHR0dvP/++0yYMMG/QRlGgHrwgxJsTuVXl04lNDiI8WmxfOPcMbxfXMXa0jp/h+dVTqeys6KZSRnx/g7lqEBt9L4FeKvXewXeFZGNInLbiQ4UkdtEpFBECmtqarwaZH9UVFSwaNEipk6dyqxZszjvvPO46KKL/B2WYQSc2tYu/r2pjMtnZJKd/Gmbxc1njWJYTDiPryj1Y3Ted6i+ndYue8C0X0AANnqLyCKshDGv18dnqWq5iKQC74nILleJ5XNU9XGs6iwKCgoCbh7xqVOnsnnzZn+HYRgB7z+bj9Btd3LLvFGf+TwiNJhr52Tz0PK9HKxrY2SA1O97Ws8Ib1PCOA4RmQo8CSxV1aPlTVUtdz1XA68As/0ToWEYvvLqlnKmZMYzJvXzk+5dNyebYBFeWH/YD5H5xo7yJoIDYA2M3gImYYhINvAycL2q7un1ebSIxPa8BhYDpluRYQxi+2paKTrSxNL8jD63D4+LYN7YYby2tXzQLki2o7yZsakxRIT6dw2M3nzZrfYF4BNgvIiUicgtInK7iNzu2uXHQDLw6DHdZ4cDq0RkK7AeeENV3/ZV3IZh+N7rWysQgYum9p0wAC6emsGRxg42HWr0XWA+tKO8mYkB1H4BPmzDUNVrTrL9q8BX+/i8FJj2+SMMwxislu+qIn9EAmnxEcfdZ/Gk4YS9EsRrW8uZOTLRh9F5X3VLJzUtXQHVfgEBVCVlGIYBUNfaxbYjTSwcl3rC/WIjQjl7XArv7qgcdNVSO8utBu+JATIlSA+TMAzDCCgr9tagilsT7n0hL5Xypk6KK1p8EJnvFJVZU4IEWpWUSRh+4nA4mD59uhmDYRjH+Hh3DcnRYUzJPHl1zKIJVilk+a4qb4flU1vLGslNiSY+MtTfoXzGSROGiGS7+QisVBjgHnjgAfLy8vwdhmEEFKdTWbG3lgXjUghyYzqM1NgIpmXF88Guah9E5xuqypbDTUwbkeDvUD7HnUbv57BGWp/ov55izRV1vHmijF7Kysp44403+NGPfsQf/vAHf4djGAFjd1UL9W3dzBszzO1jzpkwnPs/2ENta1dArEp3usqbOqlt7SJ/ICYMVV107Gcikqaqld4JyXcqf/lLuoo9O715eN4E0n74wxPu881vfpPf/OY3tLQMrnpXwzhd61zzQ80ZneT2MefmpfLH9/fw4a5qriwY4a3QfGbr4UYApmUl+DWOvvS3DeMGj0YxhLz++uukpqYyc+ZMf4diGAFn3f56MhMiyUp0f72LSRlxpMaG89GewJs7rj+2Hm4kLDiICemfH+Hub/0dh7FURNqB91R1tycD8qWTlQS8YfXq1Sxbtow333yTzs5Ompub+cpXvsLzzz/v81gMI5CoKuv313P2KS5HKiKcPS6Fd3ZUYnc4CQke2H15thxuJC8jjvCQwBnh3aO/f9nLgBLgUhF50oPxDHq/+tWvKCsr48CBA7z44oucc845JlkYBtZypHVt3cwZ5X51VI+F41Np7rSz2VWdM1A5nErRkSamB2D7BfSzhKGqVcDbrodhGMZpW7ffWi5nzqjkUz523thhBAcJH+2uZlbOqSecQLG3uoX2bgfTRgTWCO8e/SphiMgjIvKs6/Vij0Y0hCxcuJDXX3/d32EYRkBYt7+e4XHhjEw+9fW64yNDmZmdyEe7B3Y7xsaD1hpy00cE5lQn/a2S6gZ6Vi85x0OxGIYxRKkq60rrmDMqGZH+LUd69vgUdpQ3U90ycNf73rC/npTY/iVNX+hvwmgH4kUkFMj2YDyGYQxBB+raqW7pOqXutMfqmUrk4wFcythwoIFZOYn9Tpre1t+EUQ/sAx4BVnsuHMMwhqKj4y/60X7RY2K6q3vtAE0YRxo7ONLYEdBtMKeUMEQkQUSeAS53ffQXoMDjURmGMaSs319PcnQYuSn9X25VRFg4PoWVe2uwO5wejM43Cg9Yjf6DJmGoaiNwH/AzYB0wFmuVPMMwjH7bcLCeWTlJp10VM5C7167fX09seAh5ATaleW/9qZK6BRitqhtV9RlVfc3TQRmGMXRUNnVyuL6DWf0Yf3Gss8Z82r12oNlwoJ4ZIxMJdmPSRX/pzziMBuB2ERkPbAW2qOpmz4Y1uOXk5BAbG0twcDAhISEUFhae/CDDGKTWu6piZnugKqane+2Hu2r47hcnnPb5fKWhrZs9Va0szc/0dygndMoJQ1V/JSIfAHuAfGABYBLGKfrwww8ZNsz9GTkNY7DasL+e6LBg8jw0d9LCCSn85u3dVDd3khp3/CVeA8knrkb/uafRS8wXTrlKSkR+DiwFzgOOqOoDHo/KMIwho6cqxlNzQPUs7TqQJiNcubeW2PCQgJyhtrf+lDB+LCLDgenA5SKSq6q3nuw4EXkauAioVtXJfWwX4AHgAqxxHjeq6ibXtiWubcHAk6p636nG3ZeV/9xD7eFWT5zqqGEjYph/1bgT7iMiLF68GBHha1/7GrfddptHYzCMgaKp3cbuqhYunJLusXPmpccyPC6cj3fXcNUAme58VUkNc3OTA37ixP7OVvs14M+qeipzST0LPMzxF1k6H6vX1VhgDvAnYI6IBGON9zgPKAM2iMgyVd3Zz9j9bvXq1WRkZFBdXc15553HhAkTWLBggb/DMgyfKzxYjyoUeLArac/stW9tHxiz1x6sa+NwfQe3zh/t71BOqr8J42ngDhGJBv6mqltOdoCqrhCRnBPsshT4i6oqsNY15iMdyAFKVLUUQERedO172gnjZCUBb8nIyAAgNTWVSy+9lPXr15uEYQxJGw40EBosTM9O8Oh5F41P5Z+FZWw61MhsD/S+8qYVe2sBq4dXoOtv6v0vrGQTAjzooVgygcO93pe5Pjve530SkdtEpFBECmtqAq8Os62t7ehKe21tbbz77rtMnvy5GjrDGBI2HKhnSmY8EaGeXfvhrLHDCBkg3WtX7a0hIz6C0cP6P2jRV/qbMPYBEcCrquqpn8Z9dT4+3lrieryTqOrjqlqgqgUpKae2EIsvVFVVMW/ePKZNm8bs2bO58MILWbJkib/DMgyf67Q52FbW6JHxF8eKiwhlxsjAn722y+5gdUkdC8alBOz8Ub31t0pqB9av/ltE5LeqOssDsZQBvVuosoByIOw4nw9Io0ePZuvWrf4OwzD8bsvhRmwO9cj4i74sHB/43WvXldbT2mXnvInD/R2KW/pbwhiH1WPpceAmD8WyDLhBLHOBJlWtADYAY0VklIiEAVe79jUMYwDbsL8eESgY6Z2EsWh84Hevfb+4iojQoAHRfgH9TxgTsAbr3QO41SdURF4APgHGi0iZiNwiIreLyO2uXd7EWmOjBHgC+DqAqtqBu4B3gGLgn6q6o59xG4YRINYfqGf88Fjio0K9cv4JabGkxUUEbDuGqvL+zirmj03xeBuOt/S3SioB+B5wL9bcUielqtecZLsCdx5n25tYCcUwjEHA5nCy8WADV8zM8to1RIRFE1J4bWsFnTZHwH0p76xoprypk29+wT+9NfujvyWMn2M1eO8GBt48woZh+NW2skbaux2cmdv/9S/cccGUdFq77AHZ+P3OjipEYNGEVH+H4ja3EoaIBItIhYh8FUBVy1T1fdfr73szQMMwBp/VJXWInN6CSe44Y3QyydFhvLYtsPrJqCqvbS1n7qhkUmLD/R2O29xKGKrqALYDud4NxzCMoWDNvlompseRGB3m1euEBAdx/pQ0lhdX095t9+q1TsX2I83sr23jS/kZ/g7llJxKlVQUcK9rUNwy1+NVbwU2mDU2NnLFFVcwYcIE8vLy+OSTT/wdkmH4TKfNwaaDjV6vjupx8dQMOmwO3i8OnMbvZVuPEBosnD85zd+hnJJTafQ+w/U8w/WAEwygM47v7rvvZsmSJbz00kt0d3fT3t7u75AMw2c2Hmyg2+HkzFzfdCWdlZPE8Lhwlm0p50vT/P+L3ulUXttawdnjUkiI8m4Jy9NOJWGM8loUQ0hzczMrVqzg2WefBSAsLIywsIH1j8YwTseafbUEB4lXRnj3JShIuGR6Jk+u3E91Syepsf4dxLdmXx2VzZ388MI8v8bRH24nDFU96M1A/OHDZx+n+mCpR8+ZOnI0i248/tCU0tJSUlJSuOmmm9i6dSszZ87kgQceIDo68OeRMQxPWLOvjmlZ8cSE97dX/6n7csEI/vxxKf/eeIQ7Fvq3Kfbv6w+SGBXKFycNjNHdvQX2vL+DkN1uZ9OmTdxxxx1s3ryZ6Oho7rvPI8t7GEbAa2q3sfVwo89HNo9OiWH2qCT+seEQ1pAv/6hu6eTdHVVcMTOL8JDAGhfiDt+l+AB0opKAt2RlZZGVlcWcOXMAuOKKK0zCMIaMlSU1ONWa58nXrp41gm//cytrS+s5w0cN7sd6aWMZdqdy9exsv1z/dPVnidaLvRHIUJGWlsaIESPYvXs3AB988AETJ070c1SGP7V22flwVzUbDtTjdA7ufiQf7a4hPjKU/BGJPr/2+ZPTiY0I4fl1/qldtzmc/G3tIeaOTiI3JcYvMZyu/pQwfgG85ulAhpKHHnqI6667ju7ubkaPHs0zzzzj75AMP1m+q4pv/WMrTR02ACZnxvHotTPJTo7yc2Se53QqH+2uYcG4FIKDfD+Vd2RYMNfMzubJlaUcrm9nRJJv/8ZvbKvgSGMHP/vSJJ9e15P604YR+JO2B7j8/HwKCwvZtm0b//nPf0hM9P2vLcP/PtlXx21/2UhWYiR/++ocfnflNA7Xd/Dlxz+hoqnD3+F53M6KZmpbu1g4zn/r1Nx0Vg5BIjy9er9Pr6uqPPbxPsamxnDOAJoK5Fj9SRiDu8xsGD7Q3Gnjv17cTM6waF64bS5njRnGFTOzeOHWubR02rn7hS04Bln1VM+ssQv8mDDS4yP50rQM/rHhME3tNp9d9+M9NeyqbOFrZ+cS5IfSlaeYXlKG4Qe/f2c3da1d/PGqfOIiPp3ee2JGHD/70iTWH6jnGR//Cva2D3fXMCUz3u9zJ926YDTt3Q6eWOnZLvXH43Qqv3t3N5kJkQExcPB0mIRhGD52uL6dv607xLVzspmSFf+57ZfNyGTR+BQeeH8vta1dfojQ86qbO9l0qCEgVpbLS4/joqnpPLVqPzUt3v/7vratnO1Hmrnni+MICxnYX7n9ib7K41EYxhDyp4/3ESTCnYvG9LldRPjRhRPpsDn4w3t7fBydd7yzswpVWBIgcyd9Z/F4uh1OHl6+16vX6bI7+N27u8lLj2PptEyvXssXTjlhqOp53gjEMIaC2tYuXios44qCLNLjI4+735jUGK6dk80/NxzmcP3An2vsne2VjE6JZmxqYHQnHTUsmi/PGsHf1h1id2WL167z6If7OFzfwQ8vmDCg2y56DOzykWEMMK9uKafb4eSmM3NOuu8dC3MJEuHRj/Z5PzAvamjr5pPSOpZMSkMkcL4071k8ntiIEH74SpFXxr/srWrh0Y9KWJqfwfyx/mvo9ySTMHxs9+7d5OfnH33ExcVx//33+zssw0f+vbGMqVnxjB0ee9J90+MjuWpWFi9tPMyRxoHbzfb94iocTuX8yen+DuUzkqLD+O8LJ7LxYAN/8/BgPpvDyXdf2kZ0eAj/c9HgGZjbr4QhIt/u9Xq858IZ/MaPH8+WLVvYsmULGzduJCoqiksvvdTfYRk+UFzRzM6KZi6f4f461ncstNo5HhvApYw3iirITIhkcmacv0P5nMtmZDJ/7DD+741iiiuaPXbeX7+1iy2HG/nFJVMYFjNwVtQ7mVNKGCKSICLPAFeKyNdFZB7g9hKtIrJERHaLSImIfO44EfmuiGxxPbaLiENEklzbDohIkWtb4anEHag++OADcnNzGTlypL9DMXzg5U1lhAYLF59C18rMhEgun5HFPwoPU93c6cXovKOmpYuVe2v5Un5GQFVH9RAR/vjlfOIjQ/n63zbR3Hn6YzNe3XKEJ1ft54YzRnLh1MAqVZ2uU5oaRFUbgZtE5EKgElgMvOzOsSISDDwCnAeUARtEZJmq7ux1/t8Cv3XtfzHwLVWt73WaRapaeyoxn0jja/voLm/z1OkACMuIJuFi96ZPfvHFF7nmmms8en0jMNkdTl7ZXM6i8akkneKypLefncs/Cw/z1Kr9/OCCgbWGwrKt5TicymXTA7eH0LCYcB6+dgbXPrGWW58r5LmbZxMR2r+ZZFftreWef21lzqgkfjQA17s4mf62YZyN1b12LlYCcMdsoERVS1W1G3gRWHqC/a8BXuhnfAGvu7ubZcuWceWVV/o7FMMHVu6tpba1i8tnul8d1SNnWDQXTc3g+bUHaWzv9kJ03vPK5jKmZLrXZuNPs0cl8furprH+QD23/XUjbV2nvv73uzsqufm5DeSmxPD4DQUDcvryk+nv9OYJwPeAe4Fb3DwmEzjc630ZMKevHUUkClgC3NXrYwXeFREF/qyqjx/n2NuA2wCys088hbC7JQFveOutt5gxYwbDh/t/IJPhfS9tKiMxKpRF4/s3j9DXF+WybGs5z645wDe/MM7D0XnHnqoWth9p5scDpNF3aX4mXTYnP3iliKv+/AmPXDuDnGEnX9jM4VQe/bCEP76/hylZCTx74yziI0NPetxA1N8Sxs+BV1V1N+B085i+KjCP15ftYmD1MdVRZ6nqDOB84E4RWdDXgar6uKoWqGpBSkrgdmV74YUXTHXUENHUbuO9nVUszc/s90jfCWlxfCFvOM+sPkBrP379+sML6w8RGix8KX/gTIdx1awRPPn/CjhU386SB1bwyIclx/17qyprS+u47NHV/P69PVw8LYO/f3UOiadY5TiQ9KuEoaplWCUEVNXdRu8yYESv91lA+XH2vZpjqqNUtdz1XC0ir2BVca04hbADRnt7O++99x5//vOf/R2K4QOvF5XTbXeeUu+ovty5KJdLH63i7+sOctsC/y4zejLt3XZe2ljG+ZPTB1wvoUXjU3nvW2fz3/8p4rfv7Oaxj/dx7oRUpmcnkhIbTke3gz1VLSzfVc3e6lbS4iK4/8v5LA3Qhn1P6lfCEJFHgGhVvVFEFqvqu24ctgEYKyKjgCNYSeHaPs4dj9VG8pVen0UDQara4nq9GKuUMyBFRUVRV1fn7zAMH3l50xHGDY857W6l07MTOWtMMk+s3M8NZ+T0u2HWF5ZtKael0871ZwzMHoBp8RE8+f9msflQA8+vPcTyXVX8Z8unv2/DgoOYNiKeX146hUunZxIZFrj/LTypv20Y3Xw6p9Q5wEkThqraReQu4B0gGHhaVXeIyO2u7Y+5dr0UeFdVe3dfGg684sreIcDfVfXtfsZuGD6zv7aNjQcb+P75Ezzy6/POhWO49sl1/GtjGdfPDcwvY1Xlr2sPMiEtloKRA3utl+nZiUzPTkRVqWntoq61m4jQYDISIgK7UburBcI939GgvwmjHYgXkVDA7cVpVfVN4M1jPnvsmPfPAs8e81kpMK2fsRqG37y8qYwggUs91K30jNxkpmcn8OeP93H1rBGEBgfeZA2f7KtjR3kzv7x0yqCpohERUmMjSI2N8Hcox6cKJR/AmgehpQK+vg6CPPvvo79nqwf2YY2rWO25cAxj8HA6lZc3HWHe2BSGx3nmi0ZEuHPhGMoaOli25XhNgP716Ef7SIkN57IZgTv2YlCxd8Hm5+HRM+Bvl0PtHsi/FpyeXyCqvyO9L3d99BegwONRGcYgsHZ/HUcaO7jcw1+c5+alMiEtlkc/KvHKpHmnY1tZI6tKavnqvFEB3cYyKHS3w9o/wQP58OqdEBQMlzwGd2+Ded+CEM93Njjlkd4ich+QA9QCU3FzpLdhDDUvbzpCbHgIX5zk2TUgRISvLxrDf72wmdeLKgJqFbcHPyghLiKE6wK0fWVQ6GyGwqdgzcPQXgsj58HShyH3HPByFWB/2jBuAfar6jvARg/HYxiDQnu3nbeKKrhoaoZXfmlfOCWdRz8s4Tdv72LxxOEB8Wu+8EA97xdXcc/iccSE97d51Diu9npY92dY9xh0NkLuubDgHhh5ps9C6E8bRgNwu4jcLyI3ich0Twc12P3xj39k0qRJTJ48mWuuuYbOzoE3qZxxYm9vr6St29GvqUDcERwk/M9FEylr6OCZ1Qe8co1Toar88s1iUmPDuXneKH+HM7h0NMAHP4f7p8DH90HOPLj1Q7j+ZZ8mC+jfinu/Am4FfgrsB/occW307ciRIzz44IMUFhayfft2HA4HL774or/DMjzspY1lZCdFMSvHe91KzxozjC/kpfLIhyV+X/v7zaJKNh1q5FvnjSMqzJQuPKKrBT7+Ddw/DVb+AcYuhjvWwNV/g8wZfgnplBOGiPwca9LA84AjqvqAx6Ma5Ox2Ox0dHdjtdtrb28nICJw6aOP0Ha5vZ82+Oq6cmeX1bqU/uCCPTpuDX7xR7NXrnEhzp42fvbaDvPQ4rvRSiWpIsXXAmofggWnw4S+sEsUdq+HKZ2D4JL+Gdso/BVT1xyLyY6xkc7mI5KrqrZ4PzfveeustKisrPXrOtLQ0zj///ONuz8zM5J577iE7O5vIyEgWL17M4sWLPRqD4V//2liGCF6rjuotNyWGry8aw4Mf7OVL0zJYNKF/kxuejt+/s5ua1i4ev6GAkAAcFzJg2Lth03Ow4nfQWmm1UZzzI8ic6e/Ijurvf92ngTwgGXjUc+EMfg0NDbz66qvs37+f8vJy2traeP755/0dluEhDqfyUuFh5o9NISMh0ifXvHNRLmNTY/jhK0UeWQDoVKwuqeUvaw9yw9yR5I9I8Om1Bw2H3RpH8dBMePMeSBoNN75ptVEEULKA/o/0/i+s6UFCgAcYoO0YJyoJeMv777/PqFGj6JlJ97LLLmPNmjV85StfOcmRxkCwZl8t5U2dPl3oKDwkmN9cMZUrHvuEH/y7iIevne6TEdZ1rV186x9bGD0smu+dP8Hr1xt0nE7Y8TJ89CuoK4GM6XDx/T7pHttf/S1h7AMisKY4H5DJwl+ys7NZu3Yt7e3tqCoffPABeXmDb2WuoepfhWXER4Zy3kTfrnMyPTuR735xPG8UVfDsmgNev57d4eSb/9hCY7uNh66ZYRq6T4Uq7HoT/jwf/n0LBIfD1X+3ej6NOTdgkwX0v4SxA2sxpFtE5LeqOsuDMQ1qc+bM4YorrmDGjBmEhIQwffp0brvtNn+HZXhATUsXb22v4Lo5I/0yLuK2+aMpPNDAL98sZtzwWM4aM8wr11FVfrJsByv31vLry6cwMeP0ZuEdUvavsLrIlm2ApFy4/CmYdJnH53zylv4mjFys8RiPu56NU/Czn/2Mn/3sZ/4Ow/CwF9YfwuZQv03pHRQk/P6qaVz12Cd87a8befG2uUzOjPf4dR74YC9/W3eI28/O5cuz3J57dGgr2wjLfw6lH0FcJnzpIZh2LQQPrJJZf9PaYVVdBpQA/uvPZxgBwuZw8vzagywYl0JuSozf4oiPDOW5m2cTHxnKV55ax5bDjR47t6ry+3d3c//7e7liZhb3fnG8x849aFUXw4vXwZPnQGURfPFX8I1NMOOGAZcsoP8JY4mIZAGPAX/0YDyGMSC9tb2S6pYubjzT/3MopcVH8Pdb5xAbEcK1T6xl+a6qkx90Ep02B9/+51YeWl7CVQVZ/ObyqQQFBW5du981HIBXbrdmkN2/Ahb9CO7eCmd8HUIDeIr0k+hvwkgAvgfcC/h3iGk/qAbWDJ/HCvT4jM97bs0BRiZHsXCc78dB9GVkcjT/vv1McpKjufnZQn71VjGdNke/zrX9SBOXPLKaVzYf4Z7F4/i1SRbH11IJb3wHHiqAHa/Amd+wEsXZ93plQSNf62+Z6OfABFXdLSL9+1foJxEREdTV1ZGcnByQi7uoKnV1dUREDNxfIUPN+v31bDzYwE8unhhQX6SpcRG8/PUz+dlrO/nzx6W8VVTJD86fwOJJaQS7EWdFUwcPLy/hxQ2HSY4O45kbZ/llYOCA0F4Pqx+wJgd02mDG/4MF34W4dH9H5lHizq9ZEQkGyoD/UdUnvR6VhxQUFGhhYeFnPrPZbJSVlQX0hH8RERFkZWURGhrq71AMN9zw9Hp2HGli1ffOCdi1nVftreUny7azr6aN7KQoLpmeycLxKUxIiz3aJdbpVI40dlB4sJ43iyr5cFc1InD1rGzuWTye+Cjz7/Fz2uvhk0esRNHdClOvgoXftwbfDVAislFV+1znyK0Shqo6RGQ7Vu+oAS00NJRRo8xsmoZnbCtrZMWeGu5dMj5gkwXAvLHDeOebC3hnRxXPfXKAh5fv5cEP9gJWQ3locBBNHd3YHNYPyJTYcG6ZN4qvzB3JiKQof4YemI5NFJMutaqdUgf3mKpTqZKKAu4VkfOAnrUhVVWXej4swxgYHlpuLRh0/QBYMCgkOIgLp6Zz4dR0Gtq6Wbe/jr1VrdS0dmFzKAlRoWQmRDIjO5HxabFuVVsNOUM0UfQ4lYRxhut5husBcEqtsyKyBGsqkWDgSVW975jtC4FXsaZNB3hZVX/uzrGG4WsbD9bz3s4qvn3eOGIjBlZ1TWJ0GEsmp7Nksr8jGSBaq63lUNc/4UoUl8CCe2H4RH9H5lOnkjBOqx7H1Q7yCNa06GXABhFZpqo7j9l1pape1M9jDcMnVJVfvGEtGPTV+aaKc9Cq329NNb75eXB0w8SlcPb3hlyi6HHShCEiPUM5+yxN9NreqKrNJzjVbKBEVUtdx72Ita6GO1/6p3OsYXjc29utBYPuu2yKmUdpMKrYBqvvt7rGBoXAtKvhzLth2Bh/R+ZX7vxLfw4rWZyoQlOBZ4G/nGCfTKz5p3qUAXP62O8MEdmK1U5yj6ruOIVjDcPr2rvt/N8bxYwbHsMVZsGgwcPphNLl8MmjsO8DCIuFM+6CuV8fdN1j++ukCUNVF3noWn0lnGNLLZuAkaraKiIXAP8Bxrp5rHURkduA28CaGdYwPO2P7+3hSGMH/7r9DLNg0GDQ1QJbXoD1f7amGY9OhXN/DAW3QGSCv6MLKL4sS5cBI3q9z+LT3lYA9K7SUtU3ReRRERnmzrG9jnsca1JECgoKzJBpw6O2H2niqVX7uWZ2NrNykvwdjnE6aktg/eOw5e/Q3WItVnTZE1Y7RUi4v6MLSL5MGBuAsSIyCjgCXA1c23sHEUkDqlRVRWQ21tQldUDjyY41DG/r6HbwzX9sITkmnO8vMQsGDUjd7VC8DDb9FQ6ugqBQmHwZzP4aZAXW6naByGcJQ1XtInIX8A5W19inVXWHiNzu2v4YcAVwh4jYgQ7garWGovd5rK9iNwyAn7++k5LqVv56y2wz6nkgUYXyTVaS2P5v6GqGxFFwzv/A9Osh1reLXQ1kbk0NMlD1NTWIYfTHq1uOcPeLW7j97Fy+b5YjHRhqdsP2l61lUGv3QEikVd0043rIPnPALFrka6c9NYhh9NfO8maeWrWfNftqqWvtJjE6lIKRSVwyPZNzJqQOiNHEmw418N2XtjErJ5HvLB7n73CME6nbZ3WF3fEKVG0HBEaeBXPvgMmXQ4TnF5QaSkzCMLzC5nDyqzd38cya/cSEhbBwQioZCRFUN3exqqSWN4oqyE2J5r8vmsii8YE7A+qhunZu+0shaXER/Pn6AkJNr6jA4rDBoU9gzzuw522rlxPAiDmw5NdWicJ0ifUYkzAMj2vvtvPV5wpZs6+O6+eO/NxMp3aHk7d3VPL7d/dw0zMbOG/icH5xyWRS4wJrSvfD9e1c88Ra7E7l6RsLSIoO83dIhtMJNbvgwCo4sAJKP7baJILDIGe+1Xg9fgkkmC713mDaMAyP6rQ5XMmilt9cMe2EA9u67U6eXr2fP763h4jQYH6+dBJfmpYREOuUlNa0cv1T62ntsvO3r87xytrYhhu626ylTY9sskoSB1dDe521LSEbRi+EcUtg1NkQ7r+lcQcT04Zh+MzPXtvJqpJafnfliZMFQFhIELefnct5E4fz3X9t5e4Xt/BmUQX/d8kUUmL91w9+/f56bvtrIUEiPH+LSRY+oQrNR6zG6Zo9VpIo32SVJtRp7ROfbSWHnHlWu0Ri4M8Q7GtOddJqa6XD1sHwaM/3/jIlDMNjXt9Wzl1/39yvnkQOp/LUqlJ+9+4eosOC+cEFeVw5M8unpQ2nU3lq1X5+884uRiRG8cxNsxiZHO2Zk6tCZ6M162lHI3Q2WVUpna7Xtk5rcjuHzfXseo2CBFmPoGDX62DrdXAYhEZBaOSnj5Ce1xG9tkW7nnvt6+tSnMNu3WtzOTSVWcmh6TA0HYH6fVC715oFtkdUMmTMgMwZ1nNGPsSm+TZmP3Oqk5buFho6G2jsaqShs4GGroaj7+s762nsaqSxs5GGrgaauppotbXiVCcpkSksv2p5v65rShiG1x2qa+cH/y5iRnZCv3oSBQcJty3I5ZwJqXzv30Xc+9I2/lV4mP+7ZArj07y/FvLh+nZ++EoRK/fWsnjicH5zxVQSok6hzULVSgb1+6yeOvX7oOGgtcZzS7n1bD/JKo/B4VYSCA799FnEqrdXh/VL2+mwXjud4Og6+TmP53PJxJVQwqJ6JRfXIyTclagEkE+frRu3YrB1gr0D7F1g6wBbu7V2REcDdNRbSfFYQaEQnwmJOZB/HaSMg2HjYdg4iEn1fVLzEac6aexqpKa9hpqOGmraa6hurz76uqbDetS212JXe5/nCA8OJzEikcTwRBIjEsmMzSQ+LJ648DjiwuJIivDOLASmhGGctm67kyseW8OB2jbevHs+WYmnt0Kb06n8a+NhfvXWLlo67Vw6PZO7zx3rlZXfWjptPLFyP499vI+QIOGHF+Rx3ZzsE5dsutuheidUbrNmNa3cZlWjdLd8uk9QiFXHHpth/TKOS4fYdIgZbs1PFB5vdfGMiIeIOAiJ6N8XpNPp+sJ2fUnbO61nWyfY2lzP7a5Hx6fP3W2u9x2u/To+3d7de3/XZ6iVFPuawi0kwkoqIZHWc08CikyEyCSISrKeIxOtv0NcFsRnQXTKoBwLYXfaqW6vpry1nPK2cuu51+vKtkpsTtvnjosPjyclMsV6RFnPyZHJJIQnWMnBlSASwhOICvXeKognKmGYhGGctl+8sdP60v3KDJZM9lwXxvq2bh5eXsLz6w7idCoXT8vgK3OzmZGdeNpVVeWNHbyw/hDPrjlAS6edi6dl8MMLJpAeH/n5nZvK4NBaq9H10ForWfTUq0fEQ9pUa8W15DGQlAvJo6369uBBXoDv+e4YpCWBE+l2dHO45TAHmw9yqPkQB5oPcKjl0NGE4FDHZ/YfFjmMjOgMMmIySI9OZ3j08M8khpSoFMKDA2P+KpMwDK9ZvquKm58t5Pq5I/nfS7yzfFtVcyd/+mgfL20so7XLTm5KNIsnpXHuhFSmZMUTHnLytbRVlX01bazZV8vb2yv5pLQOVVgyKY2vL8plalbCpzu31cK+D6HkfatXTpNrZv2wGMiaZT3Sp1qJIiF7SH5hDgWqSlV7Ffsa97G/ab+VFJoPHU0M2qu0lRSRRHZsNlmxWaRHp5MRYyWHjOgM0mPSAyYZuMMkDMMrKps6Of+BFaTFR/LK188kIvTkX9yno63LzrKt5by2tZx1++txOJXQYGFCWhyjhkWTnhBBYlQYIa7R400dNurauimtaWVvVSt1bd0A5CRHccn0TC6bnkV2cpRVrVO2AUres5JE+RZArWqUUQtg5JmQPRdSJw3+UsMQpKrUddZR0lhCSUMJJY0l7Gvcx77GfbTYPq1mjA2NZWTcSLLjshkZN/LoIzsum7iwOD/egWeZhGF4nMOpXPvEWoqONPHaN+aRm+LbPvBN7TY+Ka1ly+Emio40cri+g8qmTrodzqP7BAkkRIWRkxzFmNQYpo1IYN6YYWQnRSFOh1V6KF4Gxa9Da6XVsJs1G8acaz3S863eSMagYXPaKG0sZVf9LnbV76K4vpiSxhKauj5tlE8ITyA3IZcxCWMYkzCG3IRcRsePJikiKSDGCHmb6SVleNyDH+xl3f56fn/lNJ8nC4D4qFCWTE7/TJuJ06l02h3YHNaPoNjwEIJ6z1XldFpTWq/+F+x6wxoAFhIJY78AeUut58hEX9+K4SWd9k72NOw5mhiK64rZ27CXbqdV0owMiWRs4ljOG3ne0cQwJmEMyRHJQyIx9IdJGMYpW7W3lgeX7+XyGVlcHkBLlAYFSd/ra9fuha0vwLZ/Wu0RYTHWALCJX4IxX4AwD421MPzG4XRQ2lRKUW0R22q2sa12G6WNpUcbn+PC4shLyuPavGuZkDSBvKQ8RsaNJNiUIE+JSRjGKalq7uTuFzczNjWG/71kkr/DOb7OZij6p7X05pFCq7op9xz4wk9h/AXWeANjwKrtqGVbzTaKaosoqilie9122mxtgJUcpgybwqIRi5iYNJG85DzSo9NNqcEDTMIw3GZzOPnG3zfTYXPw6HUz+v41728V26DwKdj2L2t8QeokWPx/MOXKITdSeLBwqpN9jfvYVLWJjdUb2Vq9lfI2a4XmEAlhXNI4Lhp9EdNSpjFl2BRGxo0ccsnB2dlJ5/btdGzZQvuWLThb2xj57DMev04A/h9vBCJV5cevbmf9gXoeuDqfManeH33tNlsH7PiPlSjKNlgDySZfAbNuttZpNgYUm9PGzrqdbKraxKaqTWyu2Xy0UTo1MpX81HyuzbuWqSlTyUvKIyIksGY59gVHUxPtmzbRvqGQ9sJCOnfuBLs1Kjx0ZDZR02egTifi4YGRJmEYbnl8RSkvrD/MnYtyWZqf6e9wLC2VsP5xKHzamoIieSx88VeQf41pvB5AOu2dbK3ZysaqjWyq2sS22m102DsAGBk3knOzz2VG6gxmDJ9BVoxv5xcLFPbaWtoLN9JeaCWIrt27QRUJDSVi2lSSb7qJyOn5RE6bRkhystfiMAnDOKllW8u57+1dXDg1ne+cN97f4UDldvjkESj6FzjtMOFCmH2bNWZiCH6ZDDR2p50ddTtYV7GOdRXr2FK9hW5nN4IwPmk8l4297GiCGBY5zN/h+oWtvNxKDq4SRPf+/QBIZCRR0/OJ/cZdRBUUEDl1KkERvithmYRhnNDb2yv41j+2MGtkEr+/ctpnu6n6kiqUfACfPASlH1mT4hXcZC29mTTaPzEZbnGqk70Ne1lfuZ51FesorCo82kA9PnE8V0+4mjnpc5ieOp3YsACq6vQRVcV28OCnCWLDBmzlVhtNUGwsUTNnknDF5UQVFBAxcSISGnqSM3qPSRjGcb29vYK7/r6ZaVnxPH3TLK+P5O6Tw26VJFbfb62NEJsO5/7ESham2ilglbWU8UnFJ6yvWM/6yvXUd9YDVhXTBaMuYE76HGalzfLarKqBTJ1OuvaW0F644WgVk6OmFoDgpCSiCgpIuvFGomYVED5uHBIcOF1/fZowRGQJ8AAQDDypqvcds/064Huut63AHaq61bXtANACOAD78UYiGp7x3JoD/PS1HUwfkcCzN88mJtzHvy3s3bDtRVj5e2g4YPV2uuQxmHw5hJilUgNNt6ObTdWbWFm2kpVHVrK/yapCSY1M5ayMs5idPps5aXNIjxl662ur3U5n8S7aN7gSxMaNOJusRvyQtDSi555BVEEBUbMKCBs1KqDbaHz2LSAiwcAjwHlAGbBBRJap6s5eu+0HzlbVBhE5H3gcmNNr+yJVrfVVzENRt93Jr94q5pnVBzhv4nAevHo6kWE+/IVj74LNz8OqP1qD7DKmWw3Z48837RMBprKtkpVHVrKqbBVrK9bSbm8nLCiMgrQCrhp3FWdmnsmouMD+AvQGZ3c3nUVFR9sfOjZtwtneDlg9mGK/cC5RBbOImlVAaGbmgPr7+PJn42ygRFVLAUTkRWApcDRhqOqaXvuvBQJnGPEQUNbQzp1/38zWw43cfNYofnRhHsG+arOwdcDG52D1A9aCQ1mz4KI/WiOxB9D/UIOZzWlja/VWVh6xShF7G/YCkB6dzsW5FzM/cz6z0mZ5da2GQORsb7fGP7jaIDq2bkW7relHwseOJf6SpVYD9cwCQoen+jna0+PLhJEJHO71vozPlh6OdQvwVq/3CrwrIgr8WVUf7+sgEbkNuA0gOzv7tAIeKpxO5e/rD/Hrt3YB8KfrZnD+FB9VHXS3Wd1iVz8IbdWQfSZc8iiMXmgSRQCoaa9h1ZFVrDqyik/KP6HF1kKIhDBj+Ay+M/M7zM+az+j40QPqV/LpcjQ3075pEx2FhbRt2EDnDtcYiKAgIvLySLzmGqJmFRA5cyYhiYOrnc2XCaOvf1F9TpUrIouwEsa8Xh+fparlIpIKvCciu1R1xedOaCWSx8Garfb0wx7cth9p4mev7WDDgQbOzE3mvsumWlN+e1tXC2x4EtY8ZE0COGoBnP0M5Mw7+bGG1zicDopqi6xSRNlKiuuLAastYnHOYuZlzmNu+lxiwnw/4aS/2OvqPjsGYtcuq9deaCiRU6aQfPPNVoKYPp3gmMH9d/FlwigDRvR6nwWUH7uTiEwFngTOV9W6ns9Vtdz1XC0ir2BVcX0uYRju2V/bxh/e28NrW8tJiArlt1dM5YqZPhgU1dkE6x6HtY9Yg+1yz4Wz77XWmzD8oqGzgdXlq1lZtpLV5atp6moiSILIT8nn7hl3Mz9zPuMSxw2ZUoStosJKEK5G6u7SUgAkIoLI/HyG3XmnVcU0bSpBkX2s0DiI+TJhbADGisgo4AhwNXBt7x1EJBt4GbheVff0+jwaCFLVFtfrxcDPfRb5IKGqrNtfz1Or9vN+cRURIcHctWgMty4YTXykl/t2t9fDusdg7WPQ1WTNFrvgXsgyU3f4mlOdFNcVs+LIClaVraKotghFSYpI4uyss5mfOZ8zMs4gPjze36F63dExEBs3Hm2ktpWVARAUE0PkzBnEX3qJlSAmTULChnYPPZ8lDFW1i8hdwDtY3WqfVtUdInK7a/tjwI+BZOBR16+Znu6zw4FXXJ+FAH9X1bd9FftAV9nUyatbjvDK5iPsqmwhMSqUOxeO4YYzR5Ia6+VRom211qjs9U9AdwvkXQwLvgvp07x7XeMzmrqa+KTiE1aWrWTVkVXUd9YjCFOGTeGO/DtYkLmAvOQ8gsSzcw8FGnU46NqzxypBbNxI+8ZeYyASEoiaVUDS9V8hsqCAiAkTAmoMRCAwK+4NUgdq21i+q5r3i6uOrl+dPyKBqwpGcOn0TO93lW2pgjUPWg3atg6YdCksuAeGB/CU6IOIqrKnYc/RtoitNVtxqIO4sDjOyjyL+ZnzOSvzrEE/cM7Z3U3n9u2uBFFIx6bNOFusZVdD0tOJmjmTqIKZRM2cSVhurscn6xuIzIp7Q0BdaxeFBxtYv7+eD3dXU1pjTb2QmxLNN84Zy6XTMxk1zAcLBTWXWz2eNj4Djm5r1tgF90BKAMxBNci12dpYW772aLfX6vZqAPKS8rhlyi3Mz5zPlGFTBvWiQY7WNquL68ZCOgo30rFtG9rVBUDY6NHELVlC1KwCombOJDQzQCbRHEBMwhiAVJXD9R2sP1BP4YF6NhyoZ58rQYSFBDFnVBI3zB3JOROG+6bHE0DjIWuw3ebnwemAaVfD/O9Acq5vrj8EqSqlTaWsOrKKlWUr2Vi9EbvTTkxoDGdknMH8zPnMy5xHSlSKv0P1GntNDe1bttDhqmLqLC4Gh+PTLq5Xf5nIAitBhCQN7tKUL5iEMQA4nEpxRbMrOTSw4UA91S3Wr6a4iBBm5SRxxcwRzMpJZEpWPOEhPvwFWbcPVv7BmsYDgelfgXnfhMQc38UwhLTb2llfuf5okuhZSGhs4lhumHgD8zPnMy11GqFB/pugzlvUbrfaHzZvpmPLVjo2bz7aQC1hYUROnUrybbcSNbOAyPx8gmPM0rueZhJGALI7nGw53Mja0jrWH2hg08EGWrusxVEy4iM4IzeZgpwkZuckMTY1xj8zyFbvgpW/g+3/huAwmPVVOPO/IN4U8z3pM6WIIyvZVLUJm9NGZEgkc9Pn8tWpX2V+5nzSogffaoL2hgY6tm6lY/MWOrZsoaOoCHVNsRGSkkLk9OkkXnstkfn5REyeRNAQ78HkCyZhBIjG9m7e21nFR3tqWLmnhuZOK0GMHx7L0vwMZo9KoiAnicwEP/f7rtgGK34Lxa9ZU4yfcZf1iB3u37gGkTZbG+sq1h0dYV3RVgHAmIQxXJd3HWdlnsWM1BmEBQ+eL0i12+kqKaFj27ajCaJnDQiCg4nIyyPhssuInJ5PVH4+IRkZQ2ZcSCAxCcOPbA4n7++s4pXNR/hwdzU2h5IaG84XJ6WxaEIqZ+YmkxAVAF8KqnBwjTXP0953IDzOasie+3WIMvXCp0tVKWksOZogNlVvwu60ExUSxdz0udw69VbmZcwbNDO99ox96CjaTuf2Ijq2FdFZXIx2dgIQnJhI5PTpxF96KVHT84mYPHnIDZALVCZh+EFTh40X1x/i2TUHqGjqJCU2nBvOyGFpfgZTMuMD55eT0wG7XrcSxZGNEJUMi/4bZt8KkQn+jm5Aq+uoY33letZWrGVN+Roq2yoBqy3i+onXMz9zPvkp+YQGD+y2CFXFXlVFR1ERnT0JYvsOnM3NgDV6OmLiRBK/fBURk6cQOXUKodnZgfP/gPEZJmH4UJfdwV/WHOThD0to6rBxZm4y/3fJZBaOT/XdrLDusHXAlr9ZA+7qSyFxFFz4e5h2LYQNrZlIPaXd1s6m6k2sLV/L2oq17G7YDUBsWCxz0uZw+9TbOSvzrAHdFqGq2I4cobO4mK7iYjqLd9GxvejowDhCQogYN464888ncspkIqZMITw3FwkxX0MDhfkv5SNrSmr5/stFHKpv5+xxKXz3i+OZnBlgUy+01kDhU7D+cWtCwMyZcOVz1ujsQdx33xvsTjs763aytsJKEFuqt2Bz2ggNCmVG6gzunnE3c9PnkpeUNyDHRWh3N1379tFZvIvOXcV07Symc/fuo4PiCAoibPQoYs480yo5TJlMeF4eQeHh/g3cOC0mYXhZe7edX75ZzPNrDzF6WDR/vWU288cGWL/4skIrSex4xRpsN/aLcNbdMPJMM8W4m+xOO8V1xWys2khhVSGbqjbRYrO+PPOS8vhK3leYmz6X6cOnExkycOrjVRVHbS1dJSV07d3rShC76CopAZsNAImMJGL8eOIuupCICXlETMwjfOxYgiK8PO2M4XMmYXjRwbo2vvbXjeyuauGr80ZxzxfH+2dd7L7Yu2D7y1aiKN8EYTEw80aYdSukjPN3dAGv29HNjrodFFYWsrFqI5urN9Nut7p85sTlsDhnMXMz5jI7bfaAmX7D3tBAd0kJnXv30l1SQteevXSVlOBobDy6T3ByMhF5ecTMO4uIvDzCJ+QRNjLbzLk0RJiE4SUr9tRw1983ERQk/OXmACpV1JbAludh01+hvRaGjYMLfgdTvwwRcf6OLmA1dTVRVFvE1pqtbKraxNaarXQ5rMGTYxLGcHHuxRSkFTAzdWZAj6w+WmLYv5/u/Qfo2meVHLpKSj5ta8CaqTV87FhizzuP8LFjCR87hvAxYwhJCdx7M7zPJAwvWLa1nG//YwtjUmN44oYCRiT5uaG4qxV2vmpN23FoDUiwNb347FvNynZ9cDgdlDSWsLVmK9tqtrGtdhv7m6wxAUESxPjE8Vw57koKhhcwY/gMEiMCb1U1Z3s73QcO0H3gwNHk0PPe2dp6dD+JjCR8zBhi5s3/NDGMHUvI8OGmp5LxOSZheNjzaw/yP69uZ1ZOEk/+vwLiIvzULdLphMNrYesLVtVTdyskj4Ev/BSmXQOxA7c3jiepKmUtZeys30lxXTFFtUVsr91+tHopMTyRaSnTuHj0xUxNmcrkYZOJDg2MKSccTU10l5VhO1yGreww3YfL6D54kO79+7FXVX26owih6emEjRpF/NKlhI0aRVhODuGjcghJTzcztBpuMwnDQ1SVRz/ax2/f2c05E1J59LoZvm+vUIXyzdZ0HdtfhpZyazT2pMusOZ6y5w7p0oTdaedA0wGK64utR10xu+t3H22cDpEQxieNZ+mYpUxNmcq0YdPIivXBKoTHod3d2Coq6HYlBFtZmfX68GG6y8qOjmXoEZyYSGj2CKLnziVsVA5hOaOs5DAy2zRAGx5hEoYHqCq/emsXj68oZWl+Br+7chqhwT761eZ0QsVm2PWGlSQa9kNQKIw9Dyb/r1X1FD641xk+llOdlLeWU9pUSkljCfsa91HSWEJpYymdDms0cURwBOMSx3HB6AvIS8ojLzmPMQljfDbdhjqd2GtqsVdWYKuoxFZZgb2iEltFBbbKSuwVFdhra60fAS4SGkpoZiahI0YQnz+N0KwRhI7IImzECEKzsgb9etKG/5mEcZrsDic/fKWIfxaWccMZI/npxZO8PxlgdzuUfgR73oI970BrFUgQjDrbmlI87yKIDLx6dU9rt7VzuOUwh1oOcaj5EKVNpexr3EdpUykd9o6j+6VGppKbkMsV465gYvJE8pLyyInPISTI8//8VRVnWxv26hrsNTXYa13PNTXYq6o/TQxVVWC3f+ZYiYggNC2N0Ix0wufPt15nZRE2IovQESMISU011UeGX5mEcRo6bQ7+64XNvLuziv86dyzf+sJY71RfOB1QuQ1KP4b9K+DgarB3QlgsjDkXxl9glSgG2bxOdqedmvYaKtsrqWitOJocylrKONRyiNqO2s/sPyxyGLkJuVw29jJyE3IZkzCG0fGjT3ttaisJtONobMDR0ICjvh57ba0rEdR+mhBcn/XMidSbhIYSMnw4oWlpRM6YQVxaGiHpaYSmpROankZIWhrBCQmmodkIaCZh9FN1Syd3/m0TGw408NOLJ3LjWaM8d3Jbp5Ugygqt5HBgJXQ2WdtSJsCM/wfjz4eRZ0FIAExOeIpUlebuZuo666jrqKO+s95KDG2VVnJoq6CyrZLajlqc6vzMsalRqYyIHcH8zPlkx2UzInYE2bHWc0zYyatker78nS3NOJqbrQTQ0IC9oQFHfUOv9/U4GhqPvtfu7j7PFxQXR0hKijXd9rRp1uthwwhJdT27tgXFxZlkYAx4JmH0w7rSOr7xwmaaO208fO10Lpqa0f+T2bugZjdU74Qjm6BsA1QWgdMaRUtCNuR9yapuGjU/oHo3qSqdjk5aulto7mqmxdZCS3cLTV1NtHRbr5u7m2nsajyaGHqe7Wr/3PnCg8NJi04jLSqNuelzSYtOIz06/ehnmbGZRDiDcbS1oe3tONracDa04TxYjaN5H/UtzTibW3A0N7sSQov13NSMo6UFZ7P1jMNx3HsKio8nJCHBakDOyCBi0kRCEhMJTkwiODGR4MQE6/2wFEJShpmpLowhxacJQ0SWAA8AwcCTqnrfMdvFtf0CoB24UVU3uXOsL1Q3d/LH9/fwwvrDjEyO4rmbZ5OX7sZgN1VorYbGg9BwwJrQr7rYShJ1+0BdX2Ch0ZAxHc64E7IKILMA4k5vSmunOulydNHt6KbL0WU97NZzu72dDnuH9WzroMP+6aNnW4e94zPbej5vs7XR0t2CrSex9brXUAeE2SDMDnEaQbLEMCwojhFBMSSRSzyTiSeSWGcYMY4QomxBRNmE0E4H2t6Os70NZ1sFzrZ9rtftONvaONDefnQ6ihOR8HCC4+IIiosjODaW4OQkwkaNIjgulqDYONe2WIJj4whOSnQlhESC4+OR0IE9O6xheJPPEoaIBAOPAOcBZcAGEVmmqjt77XY+MNb1mAP8CZjj5rFeUdvaxeZDjby1vYLXt1Vgdzi5dd5IvnV2BlHaCjUV1sC4riZoq4XWKhwtVdjaqrC1VmNrqcTeXIbN0YENwSauR1wGtsQcbKPnYI/PwhaXQXf0MGzqoNPeQbetke6S1+i2dWKzddHd3YHN1oXN3oXd1oXN5nq2d2G3d+OwdWOzd1uv7d047DYc9m7UYSfYASEOCHG6no99HP1cXc9CpAaT6AwhXIMIcwYT5gwizCmEOoMIc0CoHcJskYTYwgmxOQnqthPUbYduG9KrZw+0uR5Vx/kLgwLtYWEERUURFB396XN0NCGpqb3eH7Pd9Xw0OcTFERQba37190FVrT80R5+O9sD69D299vnszp/Zp+d8x3527Hl7/zM43nl7n+YzBxy7Tx/n7H3MZ87z2RMcfX+Cax27j6Kf2f+45z1ePL2POc69f/7a+rm/c1/3cML/fq7noBAhc5znO774soQxGyhR1VIAEXkRWAr0/tJfCvxFrb/6WhFJEJF0IMeNYz3m/v/5Nc5j/qtmAbcL1l9sXRGPrTvRGWJcj9zj79LBMd+h5a7H8YQRShihxJ7owscnWGUzN4eG2FyPlv5dzfNsQKMNGhuBRv/GYhgBLlSD+Mb/3evx8/oyYWQCh3u9L8MqRZxsn0w3jwVARG4DbgPIzs7uV6CRtiDUo+2T8pmnfh7d5zt3N7l1gGmTHbg88m/rNE/mKwEe3qk4pVs5hZ1DxDuDhn2ZMPq6XXVzH3eOtT5UfRx4HKCgoKDPfU7ma/d9tz+HGYZhDGq+TBhlwIhe77P4fB3M8fYJc+NYwzAMw4t8OWx0AzBWREaJSBhwNbDsmH2WATeIZS7QpKoVbh5rGIZheJHPShiqaheRu4B3sJpen1bVHSJyu2v7Y8CbWF1qS7C61d50omN9FbthGIYB8rmubINIQUGBFhYW+jsMwzCMAUNENqpqQV/bzExmhmEYhltMwjAMwzDcYhKGYRiG4RaTMAzDMAy3DOpGbxGpAQ728/BhQO1J9xpczD0PfkPtfsHc86kaqaopfW0Y1AnjdIhI4fF6CgxW5p4Hv6F2v2Du2ZNMlZRhGIbhFpMwDMMwDLeYhHF8j/s7AD8w9zz4DbX7BXPPHmPaMAzDMAy3mBKGYRiG4RaTMAzDMAy3DOmEISJLRGS3iJSIyPf72C4i8qBr+zYRmeGPOD3JjXu+znWv20RkjYhM80ecnnSye+613ywRcYjIFb6MzxvcuWcRWSgiW0Rkh4h87OsYPc2Nf9vxIvKaiGx13fNN/ojTU0TkaRGpFpHtx9nu+e8vVR2SD6xp0vcBo7EWaNoKTDxmnwuAt7BW/JsLrPN33D645zOBRNfr84fCPffabznWFPtX+DtuH/x3TgB2Atmu96n+jtsH9/xD4Neu1ylAPRDm79hP454XADOA7cfZ7vHvr6FcwpgNlKhqqap2Ay8CS4/ZZynwF7WsBRJEJN3XgXrQSe9ZVdeoaoPr7Vqs1Q0HMnf+OwN8A/g3UO3L4LzEnXu+FnhZVQ8BqOpAv2937lmBWBERIAYrYdh9G6bnqOoKrHs4Ho9/fw3lhJEJHO71vsz12anuM5Cc6v3cgvULZSA76T2LSCZwKfCYD+PyJnf+O48DEkXkIxHZKCI3+Cw673Dnnh8G8rCWdy4C7lZVp2/C8wuPf3/5ck3vQCN9fHZsH2N39hlI3L4fEVmElTDmeTUi73Pnnu8HvqeqDuvH54Dnzj2HADOBc4FI4BMRWauqe7wdnJe4c89fBLYA5wC5wHsislJVm70cm794/PtrKCeMMmBEr/dZWL88TnWfgcSt+xGRqcCTwPmqWuej2LzFnXsuAF50JYthwAUiYlfV//gkQs9z9992raq2AW0isgKYBgzUhOHOPd8E3KdWBX+JiOwHJgDrfROiz3n8+2soV0ltAMaKyCgRCQOuBpYds88y4AZXb4O5QJOqVvg6UA866T2LSDbwMnD9AP612dtJ71lVR6lqjqrmAC8BXx/AyQLc+7f9KjBfREJEJAqYAxT7OE5PcueeD2GVqBCR4cB4oNSnUfqWx7+/hmwJQ1XtInIX8A5WD4unVXWHiNzu2v4YVo+ZC4ASoB3rF8qA5eY9/xhIBh51/eK26wCe6dPNex5U3LlnVS0WkbeBbYATeFJV++yeORC4+d/5f4FnRaQIq7rme6o6YKc9F5EXgIXAMBEpA34ChIL3vr/M1CCGYRiGW4ZylZRhGIZxCkzCMAzDMNxiEoZhGIbhFpMwDMMwDLeYhGEYhmG4xSQMw3CDiCSIyNd7vc8QkZe8dK1LROTHJ9nndyJyjjeubxjHY7rVGoYbRCQHeF1VJ/vgWmuAL51ojICIjASeUNXF3o7HMHqYEoZhuOc+INe1fsRvRSSnZx0CEblRRP7jWmthv4jcJSLfFpHNIrJWRJJc++WKyNuuyf5WisiEYy8iIuOALlWtFZFY1/lCXdviROSAiISq6kEgWUTSfPg3MIY4kzAMwz3fB/apar6qfreP7ZOxpgyfDfwCaFfV6cAnQM9MsI8D31DVmcA9wKN9nOcsYBOAqrYAHwEXurZdDfxbVW2u95tc+xuGTwzZqUEMw8M+dH3Bt4hIE/Ca6/MiYKqIxGAtTvWvXjPihvdxnnSgptf7J4F7gf9gTe1wa69t1UCGp27AME7GJAzD8IyuXq+dvd47sf4/CwIaVTX/JOfpAOJ73qjqalf119lA8DHzPUW49jcMnzBVUobhnhYgtr8Hu9Zc2C8iV8LR9Zb7Wi+9GBhzzGd/AV4Anjnm83HAgJ0w0Bh4TMIwDDe41gVZLSLbReS3/TzNdcAtIrIV2EHfS8WuAKbLZ1dy+huQiJU0AHA1hI8BCvsZi2GcMtOt1jACjIg8ALymqu+73l8BLFXV63vtcykwQ1X/x09hGkOQacMwjMDzS6wFjRCRh4DzsdY16C0E+L2P4zKGOFPCMAzDMNxi2jAMwzAMt5iEYRiGYbjFJAzDMAzDLSZhGIZhGG4xCcMwDMNwy/8HApQhuetmrmIAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -179,7 +179,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] diff --git a/src/helio/helio_drift.f90 b/src/helio/helio_drift.f90 index 942206945..b1fb311ce 100644 --- a/src/helio/helio_drift.f90 +++ b/src/helio/helio_drift.f90 @@ -96,9 +96,7 @@ module subroutine helio_drift_linear_pl(self, cb, dt, mask, lbeg) pt(3) = sum(pl%Gmass(1:npl) * pl%vb(3,1:npl), mask) pt(:) = pt(:) / cb%Gmass do concurrent(i = 1:npl, mask(i)) - pl%xh(1,1:npl) = pl%xh(1,1:npl) + pt(1) * dt - pl%xh(2,1:npl) = pl%xh(2,1:npl) + pt(2) * dt - pl%xh(3,1:npl) = pl%xh(3,1:npl) + pt(3) * dt + pl%xh(:,i) = pl%xh(:,i) + pt(:) * dt end do if (lbeg) then From ebc2796824968a350c5a685ce49ee8a332641f91 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 16:36:00 -0400 Subject: [PATCH 15/19] Fixed bug in which acceleration was not initialized to 0 on on half of a WHM pl step --- src/helio/helio_kick.f90 | 4 ++-- src/symba/symba_kick.f90 | 14 +++++++------- src/whm/whm_kick.f90 | 26 ++++++++++++++++---------- src/whm/whm_step.f90 | 1 - 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/helio/helio_kick.f90 b/src/helio/helio_kick.f90 index 1c2fff23e..b1949ac2f 100644 --- a/src/helio/helio_kick.f90 +++ b/src/helio/helio_kick.f90 @@ -17,7 +17,6 @@ module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step associate(cb => system%cb, pl => self, npl => self%nbody) - pl%ah(:,:) = 0.0_DP call pl%accel_int() if (param%loblatecb) then cb%aoblbeg = cb%aobl @@ -52,7 +51,6 @@ module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step associate(tp => self, cb => system%cb, pl => system%pl, npl => system%pl%nbody) - tp%ah(:,:) = 0.0_DP if (present(lbeg)) system%lbeg = lbeg if (system%lbeg) then call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) @@ -87,6 +85,7 @@ module subroutine helio_kick_vb_pl(self, system, param, t, dt, mask, lbeg) associate(pl => self, npl => self%nbody) if (npl ==0) return + pl%ah(:,:) = 0.0_DP call pl%accel(system, param, t) if (lbeg) then call pl%set_beg_end(xbeg = pl%xh) @@ -123,6 +122,7 @@ module subroutine helio_kick_vb_tp(self, system, param, t, dt, mask, lbeg) associate(tp => self, ntp => self%nbody) if (ntp ==0) return + tp%ah(:,:) = 0.0_DP call tp%accel(system, param, t, lbeg) do concurrent(i = 1:ntp, mask(i)) tp%vb(:, i) = tp%vb(:, i) + tp%ah(:, i) * dt diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 0586b2a5f..85d3bb8f3 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -12,16 +12,16 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) !! Adapted from Hal Levison's Swift routine symba5_kick.f implicit none ! Arguments - class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object + class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration ! Internals - integer(I4B) :: i, irm1, irecl - real(DP) :: r, rr, ri, ris, rim1, r2, ir3, fac, faci, facj + integer(I4B) :: i, irm1, irecl + real(DP) :: r, rr, ri, ris, rim1, r2, ir3, fac, faci, facj real(DP), dimension(NDIM) :: dx - logical :: isplpl, lgoodlevel + logical :: isplpl, lgoodlevel select type(self) class is (symba_plplenc) diff --git a/src/whm/whm_kick.f90 b/src/whm/whm_kick.f90 index 5a0e19fd5..c5a60452a 100644 --- a/src/whm/whm_kick.f90 +++ b/src/whm/whm_kick.f90 @@ -25,7 +25,7 @@ module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) ah0(:) = whm_kick_getacch_ah0(pl%Gmass(2:npl), pl%xh(:,2:npl), npl-1) do i = 1, npl - pl%ah(:, i) = ah0(:) + pl%ah(:, i) = pl%ah(:, i) + ah0(:) end do call whm_kick_getacch_ah1(cb, pl) @@ -75,13 +75,13 @@ module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) if (system%lbeg) then ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xbeg(:,:), npl) do i = 1, ntp - tp%ah(:, i) = ah0(:) + tp%ah(:, i) = tp%ah(:, i) + ah0(:) end do call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) else ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xend(:,:), npl) do i = 1, ntp - tp%ah(:, i) = ah0(:) + tp%ah(:, i) = tp%ah(:, i) + ah0(:) end do call tp%accel_int(pl%Gmass(:), pl%xend(:,:), npl) end if @@ -200,16 +200,18 @@ module subroutine whm_kick_vh_pl(self, system, param, t, dt, mask, lbeg) associate(pl => self, npl => self%nbody, cb => system%cb) if (npl == 0) return - if (pl%lfirst) then - call pl%h2j(cb) - call pl%accel(system, param, t) - pl%lfirst = .false. - end if if (lbeg) then + if (pl%lfirst) then + call pl%h2j(cb) + pl%ah(:,:) = 0.0_DP + call pl%accel(system, param, t) + pl%lfirst = .false. + end if call pl%set_beg_end(xbeg = pl%xh) else - call pl%set_beg_end(xend = pl%xh) + pl%ah(:,:) = 0.0_DP call pl%accel(system, param, t) + call pl%set_beg_end(xend = pl%xh) end if do concurrent(i = 1:npl, mask(i)) pl%vh(:, i) = pl%vh(:, i) + pl%ah(:, i) * dt @@ -241,10 +243,14 @@ module subroutine whm_kick_vh_tp(self, system, param, t, dt, mask, lbeg) associate(tp => self, ntp => self%nbody) if (ntp == 0) return if (tp%lfirst) then + tp%ah(:,:) = 0.0_DP call tp%accel(system, param, t, lbeg=.true.) tp%lfirst = .false. end if - if (.not.lbeg) call tp%accel(system, param, t, lbeg) + if (.not.lbeg) then + tp%ah(:,:) = 0.0_DP + call tp%accel(system, param, t, lbeg) + end if do concurrent(i = 1:ntp, mask(i)) tp%vh(:, i) = tp%vh(:, i) + tp%ah(:, i) * dt end do diff --git a/src/whm/whm_step.f90 b/src/whm/whm_step.f90 index ae8722ad9..ebcb94e27 100644 --- a/src/whm/whm_step.f90 +++ b/src/whm/whm_step.f90 @@ -54,7 +54,6 @@ module subroutine whm_step_pl(self, system, param, t, dt) if (param%lgr) call pl%gr_pos_kick(param, dth) call pl%j2h(cb) call pl%kick(system, param, t + dt, dth, mask=(pl%status(:) == ACTIVE), lbeg=.false.) - call pl%set_beg_end(xend = pl%xh) end associate return end subroutine whm_step_pl From 5e598b259c3a29f60dfbd6f6cfdfa259c4d920c3 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 16:37:26 -0400 Subject: [PATCH 16/19] Updated examples after testing --- .../helio_swifter_comparison/swiftest_vs_swifter.ipynb | 8 ++++---- .../1pl_1tp_encounter/swiftest_vs_swifter.ipynb | 4 ++-- .../swiftest_rmvs_vs_swifter_rmvs.ipynb | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb b/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb index 9adcfb4d0..7f0b1d4b9 100644 --- a/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb +++ b/examples/helio_swifter_comparison/swiftest_vs_swifter.ipynb @@ -100,7 +100,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAElCAYAAAD3KtVsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABk1UlEQVR4nO3ddZhU1RvA8e/Z2Z3t7l46FQQEBANRECwE42dgYmCiYItdWAgqiIIoioqKBRighJQr3bCwsMt2d0+c3x93wAWBnV0mNs7neeaB2VvvJeadc8857xFSShRFURSlIS7ODkBRFEVpGVTCUBRFUayiEoaiKIpiFZUwFEVRFKuohKEoiqJYRSUMRVEUxSoqYShtkhDiBSHEfMvv44QQFUIIXRPOM0sI8aztI1SU5kclDKVFEkKkCiEuPu5ntwkh1jb2XFLKNCmlj5TS1IRjx0spX7ZmXyHEZ0KIVxp7DVtp6p+PohyhEoaitAJCCNfWcA2leVMJQ2m1hBBRQojvhRD5QogUIcRDJ9kvQQghj3wgWo5bJIQoEkIkCyHuOsU1jrYahBBDhBAZQohJQog8IUS2EOJ2y7a7gZuAxy2PvxY3FKMQwlMIMU8IUSyE2CuEeFwIkVFve6oQ4gkhxA6gUgjhKoR4UghxUAhRLoTYI4QYbdm3GzALOMdy/RLLz/2FEJ9brn9YCDFZCOFi2XabEGKdEOJdIUQR8EJT/y6U1kF9Y1BaJcuH3mLgZ+AGIAb4UwiRJKVc2sDhXwO7gSigK/CHEOKQlHK5FZeOAPyBaGAYsFAI8ZOU8mMhxCAgQ0o52coYnwcSgPaAN/DrCa53A3AZUCClNAohDgLnATnAtcB8IURHKeVeIcR44E4p5bn1jn/fEm97IBhYBmQDn1i2DwAWAGGAmxX3r7RiqoWhtGQ/CSFKjryAmfW2nQ2ESilfklLWSSkPAbOB6091QiFELHAu8ISUskZKuQ2YA9xsZUwG4CUppUFK+StQAXQ5yb4NxXgd8JqUslhKmQG8d4JzvCelTJdSVgNIKb+TUmZJKc1Sym+AA0D/k9yrDvgf8JSUslxKmQq8c9y9Zkkp35dSGo9cQ2m7VAtDacmuklL+eeSNEOI24E7L23gg6sijFwsdsKaBc0YBRVLK8no/Owz0szKmQimlsd77KsDnJPs2FGMUkF5vW/3fn/BnQohbgIloLRMs1w45yfVDAD3a/R1xGK11dKprKm2UShhKa5UOpEgpOzXyuCwgSAjhWy9pxAGZNojp+NLQDcWYjfaYao/lfeypzimEiEdroVwE/C2lNAkhtgHiJNcvQGsRxde7xvH3qspZK0epR1JKa7UBKLN0CnsKIXRCiJ5CiLNPdZCUMh1YD7wuhPAQQpwJjAO+tEFMuWh9BdbG+C3wlBAiUAgRDTzQwPm90T7g8wEsHe49j7t+jBBCD2AZRvwt8KoQwteScCYC80/vNpXWSiUMpVWyfBheAfQGUtC+Tc9B6+BtyA1oj3SygB+B56WUf9ggrE+A7pY+l5+siPElIMOy7U9gIVB7spNLKfeg9UH8jZYczgDW1dtlBVpnfo4QosDysweBSuAQsBb4Cph7ujeqtE5CLaCkKC2DEOJe4Hop5QXOjkVpm1QLQ1GaKSFEpBBisBDCRQjRBZiE1uJRFKdQnd6K0nzpgY+AdkAJ2nyImac6QFHsST2SUhRFUayiHkkpiqIoVlEJQ1EsTlQBt7U4vl6WojSFShhKm2L50Ky0FODLFEJMFU1YB8MGMXR05DUVxRZUwlDaol5SSh+0GdE3AietRqsoyr9UwlDaLCnlPrS6TT2P3yaE6C+E+NsyyS5bCPHBkRnSlu1SCDFeCHHAUn58hhBC1Nt+h6UkebEQYqllFjVCiNWWXbZbWjn/E0KECCGWWK5VJIRYc6TE+AniGiSE2CiEKLX8OqjetlVCiJctJcnLhRDLhBD/qSMlhLhWCLH5uJ9NEkL81Lg/QaWtUQlDabOEEN3RSoFvPcFmE/AIWoG+c9BaI/cdt8/laBVne6FVlr3Ect6rgKeBMUAoWlL6GkBKeb7l2F6WVf6+QZtfkWHZN9xy7H+GLwohgoBf0KrWBgNTgV+EEMH1drsRuB2tHLkeePQE97YIaGdZI+OIscAXJ9hXUY5SCUNpi7YIIYrR1qKYA3x6/A5Sys1SykRLWe9UtPkQx8+wniKlLJFSpgEr0Up8ANwDvC6l3GupXPsa0PtIK+MEDEAkEG8pi75Gnni8+2XAASnlF5a4vgb2oZUXOeJTKeV+Synyb+vFVP/eaoFv0JIEQogeaKVQlpwkPkUBVMJQ2qY+UspAKWUHKeVkKaX5+B2EEJ0tj4lyhBBlaB/6xz/eyan3+/plzOOB6fXW6ShCqxgbzYm9BSQDy4QQh4QQT55kvyiOLUUO/y1HfrKYjjcPuNHyGO1m4FtLIlGUk1IJQ1FO7EO0b++dpJR+aI+JxKkPOSoduEdKGVDv5SmlXH+inS2LF02SUrZHay1MFEJcdIJds9CSUX1NKr0upUwE6tAeyd2IehylWEElDEU5MV+gDKgQQnQF7m3EsbPQypL3gKPrZl9bb/sxZc6FEJcLITpavu2XofWfmE5w3l+BzkKIG4W2fvf/gO40/VHS58AHgFFKubaJ51DaEJUwFOXEHkX75l2OtijRN9YeKKX8EXgDWGB5nLULGFlvlxeAeZZHVtcBndDKl1eglSafKaVcdYLzFqJ1tE8CCoHHgcullAXH72ulL9BGiKnWhWIVVUtKUdooIYQnkIfWp3PA2fEozZ9qYShK23UvsFElC8Vaqq6MorRBQohUtE78q5wbidKSqEdSiqIoilXUIylFURTFKq36kVRISIhMSEhwdhiKoigtxubNmwuklKEn2taqE0ZCQgKbNm1ydhiKoigthhDi+GoCR6lHUoqiKIpVVMJQFEVRrKIShqIoimKVVt2HcSIGg4GMjAxqamqcHcpJeXh4EBMTg5ubm7NDURRFOarNJYyMjAx8fX1JSEig3gJpzYaUksLCQjIyMmjXrp2zw1EURTmqzT2SqqmpITg4uFkmCwAhBMHBwc26BaQoStvU5hIG0GyTxRHNPT5FUdqmNpkwFEVRWquqjRspmjcPe5R9UgmjCQYNGnTCn992220sXLjQwdEoiqJojAUFZE6cRPFXXyOrq21+/jbX6W0L69efcKVNRVEUp5EmE5mPPoaprIzYObNx8fKy+TVUwmgCHx8fKioqkFLy4IMPsmLFCtq1a2eXJqCiKIo1CmbMoCoxkchXX8GjSxe7XEM9kjoNP/74I0lJSezcuZPZs2erloeiKE5RsWYtBR/Own/0aAKuvtpu11EJ4zSsXr2aG264AZ1OR1RUFEOHDnV2SIqitDGGnByyHn8c944diXjuWbteSyWM06SGwCqK4izSYCDzkYnI2lqip0/HxdPTrtdTCeM0nH/++SxYsACTyUR2djYrV650dkiKorQheVPfpXrrViJefgn39vavDKE6vU/D6NGjWbFiBWeccQadO3fmggsucHZIiqK0EeV//knRp58SeOMN+F92mUOuqRJGE1RUVADa46gPPvjAydEoitLW1KWnk/XU03j06EHYk0867LrqkZSiKEoLYq6tJXPCwyAE0dOn4aLXO+zaqoWhKIrSguROmULNnj3EzJyBPibGoddWLQxFUZQWonTxEkq+XkDQHXfg64Rh/CphKIqitAC1hw6R/fzzePbtS9gjDzslBpUwFEVRmjlzVRWZEybg4u5O9NR3EE5ajVP1YSiKojRjUkpyXnyJ2uSDxM6ZjVt4uNNicWgLQwgxQgiRJIRIFkL8ZyyY0Lxn2b5DCNGn3rZHhBC7hRC7hBBfCyE8HBm7Ld1xxx2EhYXRs2dPZ4eiKEozV/r995T+/DMh992Hz+DBTo3FYQlDCKEDZgAjge7ADUKI7sftNhLoZHndDXxoOTYaeAjoJ6XsCeiA6x0Uus3ddttt/P77784OQ1GUZq5m3z5yXn4F70HnEHLfvc4Ox6EtjP5AspTykJSyDlgAjDpun1HA51KTCAQIISIt21wBTyGEK+AFZDkqcFs7//zzCQoKcnYYiqI0Y6aKCjImTEDn70/UW28hdDpnh+TQPoxoIL3e+wxggBX7REspNwkh3gbSgGpgmZRy2YkuIoS4G611Qlxc3CkDenHxbvZklTXmHhrUPcqP56/oYdNzKorStkgpyX5mMoaMTOLnfYZrcLCzQwIc28I4UVnX41ccOuE+QohAtNZHOyAK8BZCjD3RRaSUH0sp+0kp+4WGhp5WwIqiKM5Q/MV8ypcuJeyRh/Hq18/Z4RzlyBZGBhBb730M/32sdLJ9LgZSpJT5AEKIH4BBwPzTCUi1BBRFaW6qt28n96238LnwQoLuuMPZ4RzDkS2MjUAnIUQ7IYQerdN60XH7LAJusYyWGgiUSimz0R5FDRRCeAltAYqLgL0OjF1RFMXujMXFZDzyCG5hYURNeR3h0rymyjksGimlEXgAWIr2Yf+tlHK3EGK8EGK8ZbdfgUNAMjAbuM9y7D/AQmALsNMS98eOit3WbrjhBs455xySkpKIiYnhk08+cXZIiqI4mTSbyXrySUz5BURPexedv7+zQ/oPh07ck1L+ipYU6v9sVr3fS+D+kxz7PPC8XQN0kK+//trZISiK0swUzvmEyr9WE/7sZDzPOMPZ4ZxQ82rvKIqitEGVGzaQP20aviNHEHjjjc4O56RUwlAURXEiY0EBWZMeRR8XR+TLr6B10zZPqpaUoiiKk0iTicxHH8NUVkbsnDnofLydHdIpqYShKIriJAUzZlCVmEjkq6/i0aWzs8NpkHokpSiK4gQVa9ZS8OEs/MeMIeDqMc4OxyoqYSiKojiYITubrMcew71TJyKenezscKymEoaDpaenc+GFF9KtWzd69OjB9OnTnR2SoigOJA0GMidOQtbVET1tGi6ens4OyWqqD8PBXF1deeedd+jTpw/l5eX07duXYcOG0b378ZXeFUVpjfLemUr11q1ET30H9/btnB1Oo6gWhoNFRkbSp4+2LpSvry/dunUjMzPTyVEpiuIIZX/8QdFnnxF44434XXqps8NptLbdwvjtScjZadtzRpwBI6dYtWtqaipbt25lwIDjq7writLa1KWnk/30M3j07EnYk084O5wmUS0MJ6moqODqq69m2rRp+Pn5OTscRVHsyFxbS+aEh0EIoqe9i4te7+yQmqRttzCsbAnYmsFg4Oqrr+amm25izJiWMZxOUZSmy339dWr27CFm5kz0MTHODqfJVAvDwaSUjBs3jm7dujFx4kRnh6Moip2VLl5CyYJvCL5zHL5DL3R2OKdFJQwHW7duHV988QUrVqygd+/e9O7dm19//bXhAxVFaXFqDx4k+/nn8ezbl9AJE5wdzmlr24+knODcc89Fq+KuKEprZq6qImPCBFw8PIie+g7Czc3ZIZ02lTAURVFsTEpJzosvUnfwEHGfzMEtPNzRAYAdqt6qR1KKoig2VrJwIaU/LyLk/vvxHjTIsRff8gV8Pw7MJpufWiUMRVEUG6rZu5fcl1/Be9AgQu4d3/ABtrTuPVj0AFSXgKnO5qdXj6QURVFsxFReTsaEh9EFBhL11psInc4xF5YSlr8Ea6dCj9Ew+mNwtf1cD5UwFEVRbEBKSfbTT2PIyiL+83m4Bgc75sJmM/z2OGycDX1vg8umgot9EpV6JKUoimIDRZ/No/yPPwmbNAkvS704uzOb4ZdHtGQx6EG4fJrdkgWohOFwNTU19O/fn169etGjRw+ef/55Z4ekKMppqtq8mby338Z32MUE3XarYy5qNsHiB2HzZ3DeJBj2sl1GRtWnHkk5mLu7OytWrMDHxweDwcC5557LyJEjGThwoLNDUxSlCYyFhWQ+MhG36GgiX3sNYecPbUBLFj/fD9u/hguegCFP2T1ZgEoYDieEwMfHB9BqShkMBsf8A1MUxeakyUTmo49iKi0l4aNZ6Hx97X9RkxF+Gg87v4MLn8F43kSKqwsoqimiuLaY4ppijGYjV3S4wuaXbtMJ440Nb7CvaJ9Nz9k1qCtP9D916WKTyUTfvn1JTk7m/vvvV+XNFaWFKpgxk6q/E4l89RU8unWzyzXM0kxOZQ4ppSmklaWSvXUeOcXJZHftR3beMvLnf4lZmo85JsA9QCWM1kKn07Ft2zZKSkoYPXo0u3btomfPns4OS1GURqhYs4aCDz/Ef8wYAq6+2ibnLKwuZE/hHvYW7SW5JJnU0lRSy1KpNlYf3cdNSiICIogMTGCAdwQR3hGEeoYS6BFIkEcQQR5BBHoE2iSe47XphNFQS8DeAgICGDJkCL///rtKGIrSghiyssh67HHcO3cm4tnJTTpHjbGGnQU72ZK7hd2Fu9lTuIfcqtyj26N9oknwT6BfRD/a+bWj/d6lxO/8nqBBE3G56Flb3UqjtOmE4Qz5+fm4ubkREBBAdXU1f/75J0880TJX31KUtkjW1ZHxyCNIg4GY6dNw8fS06rhqYzVbc7eyKXcTm3M3s7NgJwazAYAEvwT6hPehR3APugd3p1tQN3z0PpYLSlj+Imz7Ds55AIY2LUHZgkoYDpadnc2tt96KyWTCbDZz3XXXcfnllzs7LEVRrJT71tvUbN9B9LRp6BMSTrlvRnkGazLXsDpjNRtzNlJrqkUndHQL6sZN3W6iX3g/eof1xt/d/+QnWf02rH0X+t0Bw19xyGiok1EJw8HOPPNMtm7d6uwwFEVpgrLffqP4iy8IuvUW/EZc8p/tUkr2Fe1j2eFlLE9bTkppCgDxfvFc0/kaBkcNpk94H7zdvK274PoPYOUr0OsGuPQdpyYLUAlDURTFKrWHUsh+ZjKevXsTNmnS0Z9LKdlfvJ+lqUtZmrqUtPI0dEJH/4j+/K/L/zg3+lzi/eIbf8FNn8KyZ6D7VXDlB+Di/HnWKmEoiqI0wFxdTeaECQh3d6LfnYrQ6ymsLmTJoSX8lPwTySXJR5PEHT3vYGjc0NMbqbTnZ1jyCHS6BMbMBl3z+KhuHlEoiqI0U1JKcl54kdrkZKI+nsV6435+XPkGf6X/hVEaOTPkTJ4d+CzD4ofZZjhryhr4/k6I7Q/XfmaXqrNNpRKGoijKKZR8+x2lP/9M2nWDmJD7CtmHsgnyCGJs97Fc1fEqOgR0sN3FsnfAghshqAPcsAD0XrY7tw2ohKEoinIS+9Yuxvjyi+xur+PVdv9wtu8AHj/7cS6IvQA3Fxuv0V10COZfDe5+MPZ78Aqy7fltQCUMRVGUeqSUbM7dzPz1M7j69USkt+Dgw1ey8Ozb6RzY2T4XrciDL8aA2QC3LQH/aPtc5zQ5NGEIIUYA0wEdMEdKOeW47cKy/VKgCrhNSrnFsi0AmAP0BCRwh5Tyb8dFb1smk4l+/foRHR3NkiVLnB2OorR5UkrWZK5hzs45bM/ZwgvfuhBY40r4F3M4v7cd673VlGkti4pcuHUxhHax37VOU4MJQwgRZ+W5SqSUZac4jw6YAQwDMoCNQohFUso99XYbCXSyvAYAH1p+BS2R/C6lvEYIoQea18O9Rpo+fTrdunWjrOykf2SKojiAlJKV6Sv5cPuH7CvaR6R3JNP3DyA8ZT2Rr71GgD2ThaFG67PI2wM3fAMx/ex3LRuwpoUxD+0b/almjEjgM+DzU+zTH0iWUh4CEEIsAEYB9RPGKOBzKaUEEoUQAUKISKASOB+4DUBKWQfYfoVzB8nIyOCXX37hmWeeYerUqc4OR1HarH+y/+G9Le+xo2AH8X7xvDz4ZS5I1pPz4yQCrv8fAWNG2+/iZhP8cBekrtHW4O50sf2uZSMNJgwp5YXH/0wIESGlzGnktaKB9HrvM/i39XCqfaIBI5APfCqE6AVsBiZIKStPENvdwN0AcXGnbhzlvPYatXttW97cvVtXIp5++pT7PPzww7z55puUl5fb9NqKolhnV8Eupm+ZTmJ2IuFe4bw46EWu7HAlptQ0Up++Fo9eZxLewP/j0yIl/Poo7F0Ew1+FXv+z37VsqKlTB29pwjEnaqFIK/dxBfoAH0opz0JrcTx5ootIKT+WUvaTUvYLDQ1tQpj2tWTJEsLCwujbt6+zQ1GUNiezIpNJqyZxwy83kFSUxGP9HuOXMb8wptMYRFUtGQ88iPDwIGb6dFz0dpz/8NcbsGkuDJ4Agx6w33VsrKmd3qOEEFXAH1LKJCuPyQBi672PAbKs3EcCGVLKfyw/X8hJEkZjNNQSsId169axaNEifv31V2pqaigrK2Ps2LHMnz/f4bEoSltRZahizs45zNs9Dxfhwvhe47m1+61HK8JKKcl++mnqUlOJmzsXt4gI+wWz8RNY9Tr0vgkuftF+17GDprYwxgDJwGghxBwrj9kIdBJCtLN0Wl8PLDpun0XALUIzECiVUmZbHn+lCyGODB+4iGP7PlqM119/nYyMDFJTU1mwYAFDhw5VyUJR7MQszSw+uJgrfryC2Ttnc1H8RSwevZj7e9//b/lwoGjuXMqXLSNs0iS8B9qxk3v3T/DLJOg8Aq54z+nFBBurSS0MKWUu8LvlZe0xRiHEA8BStGG1c6WUu4UQ4y3bZwG/og2pTUYbVnt7vVM8CHxpSTaHjtumKIpyjP3F+3np75fYnr+d7sHdeXvI25wVdtZ/9qtMTCTvnan4XnIJQXfY8WMlZbXWyR3bH675tNnUh2oMoQ1IauRBQswAvKWUtwkhhkspl9k+tNPXr18/uWnTpmN+tnfvXrrZae1dW2opcSpKc1NtrOaj7R8xb/c8fPQ+TOw7kVEdR+Ei/vtAxZCdTcrV16ALDCThm2/Q+VhZdryxsrfDp5dpE/Ju/61ZzuI+QgixWUp5wvG9TU1xdcCRtQSHAs0yYSiK0rasy1zHy4kvk1mRyVUdr2Ji34knLQhorq0lY8LDyJoaYt5/z37JougQzL8GPPxh7A/NOlk0pKkJowrwF0K4AdZO7FMURbGLopoipmyYwm8pv5Hgl8DcS+ZydsTZJ91fSknOiy9Rs2MH0e9Nx719e/sEVpEHX4xu9iU/rNXUhFEEVKPN3F5nu3AURVEaZ/nh5byU+BLldeXc1+s+xp0xDr3u1ENii+d/SekPPxBy3734DR9un8COlvzIa/YlP6zVqIRhqef0LtAFmI82s3uc7cNSFEU5tdLaUl7f8Dq/HPqFbkHdmDN8Dp0COzV4XGXiP+ROmYLP0KGEPGCnORDGWvjmJkvJjwXNvuSHtRqVMKSUJUKIKUACUACcCfxgh7gURVFOanXGal5Y/wLFNcXc1/s+7jzjTqvKjddlZJL58MPoExKIevMNhD2WPT1S8iNlNYz+CDoNs/01nKQpj6TGASlSyqVoJToURVEcospQxZsb3+T7A9/TMaAjH1z0Ad2Du1t1rLmqiowHHkCaTMR88D46H5+GD2osKeG3J7QlVoe/Ar2ut/01nKgpCaMYGG+ZRLcd2Cal3GrbsFq3hIQEfH190el0uLq6cvzQX0VR/mtf0T4e++sxDpcd5o6ed3B/7/sb7Ks4QkpJ9uTJ1CYlEfvxR7i3a2efIFe/BRtnw6AHtVcr0+iEIaV8XQixHNgP9EarIqsSRiOtXLmSkJAQZ4ehKM2elJKv9n3FO5veIdA9kDnD59A/sn+jzlE4ew5lv/5G6KSJ+Jx3nn0C3fQprHwVet0AF79kn2s4WaMThhDiJbSZ2tvQWherbByToigKoA2XfXbds6zOWM2QmCG8NPilk86rOJmKv/4i/9138bv0UoLvvNM+ge75GX6ZCJ2Gw5Xvgz36RpqBprQwnhNChANnAVcLITpIKe+yfWj2t+bb/RSkV9j0nCGxPpx33amXcRRCMHz4cIQQ3HPPPdx99902jUFRWoMN2Rt4cs2TlNaW8lT/p7ih6w2IRtZeqk1JIfPRx3Dv2pXIV19p9PFWOfAnLBwH0f3g2s9AZ+O1vpuRps7DuAf4SEppdS0p5V/r1q0jKiqKvLw8hg0bRteuXTn//POdHZaiNAtmaWburrm8v/V94v3i+fDiD+kS1Pg5DKaKCjLufwDh6krsB+/j4ulp+2APr4dvxkJYV7jpO9DbabZ4M9HUhDEXuFcI4Q18KaXcZruQHKehloC9REVFARAWFsbo0aPZsGGDShiKApTVlfHM2mdYlb6KkQkjeWHQC3i5NX41ZmkykTlpEnWHD2vlyqPtMMM6cwt8eR34x8DYH8EzwPbXaGaa+qDtIbRk4wq8Z7twWr/KysqjK+1VVlaybNkyevbs6eSoFMX5koqSuH7J9azNWMuT/Z/kjfPfaFKyAMh7620q/1pNxLOT8R7QuA5y6y6wV5vF7RkIt/wMPs1vsTZ7aGoL4yDQCfhZSvmIDeNp9XJzcxk9Wlsn2Gg0cuONNzJixAgnR6UozvVz8s+8nPgy/np/Ph3xKb3Dejf5XMXffUfRZ58ROHYsgdfbYR5EUQp8fhXo9HDrzy2+PlRjNDVh7EZbe3ucEOItKeXJq3wpx2jfvj3bt293dhiK0iwYTAbe2PgG3yR9Q/+I/rx5/psEewY3+XyV/2wg58WX8B48mPAnn7BhpBalmfD5lWCq1cqUB9mpaGEz1dSE0RnIBz5Gm8inKIrSKMU1xUxcNZFNuZu4vcftPNTnIVxdmr6oUF1aGpkPPYQ+Lo7od6ciXG28QFFZFsy7HKqK4dZFENZ81qsxmyW7s8rYn1uOq07QJcKXLuG+Nh8V1tQ/0a5oa2DMAA6j9WkoiqJYZX/xfh5a8RD5Vfm8ft7rXN7+8tM6n6msjPTx9wIQ++FMdH5+tgjzX2VZ8NnlUJEPN/8A0X1se/7T8MeeXF7/bS+H8iuP/izAy42tz9q+hlVTE0YA8ATwOKparaIojbAibQVPrXkKbzdv5o2cR8+Q0xv0IY1GMh+ZSF1aGnGffII+Pt5GkVqUZVuSRa62AFKsHTrRm8BoMvPi4j18kXiYzuE+vH1tL/rEBWAwSfLLa+0y56SpCeMloKuUMkkIYbZlQIqitE5SSmbvnM37W9+nZ3BPpg+dTphX2GmfN3fKG1SuW0fkKy/bfkRUWbb2GOpIsogbYNvzN1Gd0cyEBVv5bVcOd53Xjscu6Yre9d9Br10ifO1yXasShhBCB2QAz0op50gpMyzvkVI+aZfIFEVpNWqMNTy37jl+S/2NS9tdyouDXsTD1eO0z1v89dcUz59P0G23EXDNNTaItJ4jyaI8B8Z+32yShZSSp37YyW+7cph8WTfuPM9xHe9WJQwppUkIsQvoYOd4FEVpZYpqinhoxUPsyN/BhD4TGNdznE0el1SsXUfOK6/ifcH5hD32qA0irac4FT4fBZUFcNNCiBto2/Ofhhkrk/l+SwYPX9zJockCGvdIygt4XAgxDMiy/ExKKUfZPqzWraSkhDvvvJNdu3YhhGDu3Lmcc845zg5LUWwutTSV+5bfR15VHlOHTOXi+Ittct6affvInDAB944diX7nHYROZ5PzApCfpM2zMFRpk/Ka0Wp5q5LyeHvZfkafFc2EixpeXdDWGpMwjnyi9bG8AKRtw2kbJkyYwIgRI1i4cCF1dXVUVVU5OyRFsbktuVt4aOVD6ISOTy75hF6hvWxyXkNuLun3jMfFx4fYj2bZdiGkrG0wfwwIHdz+K4T3sN25T1NhRS2PLdxB53AfXh9zhn0KKTagMQnDTiuOtC1lZWWsXr2azz77DAC9Xo9eb90iMIrSUvye8jtPr32aaJ9oZl40k1i/WJuc11RRQfo94zGXlxP/1Ze4RUTY5LwAHP4bvroOPALglp8guPk8gT/Sb1FaZWDe7f3xcLNhi6oRrE4YUsrD9gzEGVZ+9jF5hw/Z9Jxh8e258LaTlys/dOgQoaGh3H777Wzfvp2+ffsyffp0vL1bd5VLpW2QUjJ311ymbZlGn7A+vDf0Pfzd/W1zboOBzIcfofbAAWJnzcKja1ebnBeAvUvg+zu1QoK3/KT92ox8uymdZXtyeebSbnSPsvEck0Zonat8NGNGo5EtW7Zw7733snXrVry9vZkyZYqzw1KU02Y0G3kp8SWmbZnGyHYjmT18tu2ShZTkvPQylWvXEvHC8/icd65NzgtA4iytRHl4D63cRzNLFqkFlby4eA/ntA9m3LnOfdBj47nzLcupWgL2EhMTQ0xMDAMGaEP0rrnmGpUwlBavxljDY6sfY1X6Ku48404ePOtBXITtvo8Wzp5DyXffEXzPPQRee61tTmo2w7LJkDgDul4OY2aDvmnVce3FaDLz8DfbcHURvHNdL1xcHN9vUV+j/0aFEFfYI5C2IiIigtjYWJKSkgBYvnw53bt3d3JUitJ0pbWl3PPHPfyV/hdPD3iaCX0m2DRZlC75hfypU/G77DJCJ9ioClFdFXx3q5YsBtwL133e7JIFwAcrk9mWXsIro88gKsAOC0A1UlNaGK8Ci20dSFvy/vvvc9NNN1FXV0f79u359NNPnR2SojRJbmUu4/8cT2pZKm9e8CYjEmxbqr9q40ayn3oKr379iHz9NYQt1souToUFYyF3F1zyGpxz/+mf0w62phXz/opkruodxZW9opwdDtC0hOHcNlEr0Lt3bzZt2uTsMBTltKSUpjD+j/GU1Jbw4cUfMjDStpPbapKSSL/vftxiY4n54H1cbDGa8OBKWHg7SLM2Ia+TbeaF2FplrZFHvtlGhJ8HL45qPgusNSVhqLkXitLG7czfyX3L78NFuDB3xFx6BNt2vkJdRibpd96Fi5cXcXNmowsIOL0TSgl/fwB/PAchXeD6L5vVsNnjvbxkD4eLqvj6roH4e7o5O5yj2nSnt6Iojbc+cz0Pr3qYII8gPhr2EfF+tq0OaywqIv3OOzHX1hI//wvcok7zcUxlIfx8P+z/DbpdAVd9CO72Kc5nC7/vymHBxnTGX9CBge2bvpiUPaiEoSiK1X499CvPrH2G9gHtmXXxLEK9bLuWtbmykvR7xmPIziZu7id4dO58eidMWQM/3AVVhTBiCgwYD06YIW2tnNIanvxhB2dE+zNx2Gneux00JWHk2jwKRVGave/2f8fLf79Mn/A+vD/0fXz1tv2WLuvqyHhoAjV79hDz/nt49e3b9JMZa+GvN2DNVO3R043fQKRtSpPYi9ksmfjtNmoNZqZf3/uYcuXNRaMThpTS9ss4KYrSrH2590umbJjCudHn8u6Qd21Smrw+aTaT9cxkbV2LV1/Bd+jQpp8sY5P2CCp/H/QeCyPfAHcb1puyk4/XHGL9wULeuPoM2oc2z3jVIylFUU7pk52fMG3LNIbGDuWtC95Cr7Nt7TMpJXlvvEnZ4sWEPvIIAVdf3bQT1VXCytcgcSb4RsKN30Hn4TaN1V62pBXzzrIkRvaM4Lp+tqm7ZQ8ObfMIIUYIIZKEEMlCiP8svCQ071m27xBC9Dluu04IsVUIscRxUdtWUlISvXv3Pvry8/Nj2rRpzg5LcQYptQlklQVQmqEt2FORD1VF2oefdO6ARCklH277UCv1kTCSt4e8bfNkAVD48WyK5s0j8OabCb77rqYECjsXwgdnayOh+t4G9yW2mGRRUFHLffO3EOHv4bQqtNZqUgtDCDFRSjnV8vsuUsokK47RATOAYWir9W0UQiySUu6pt9tIoJPlNQD40PLrEROAvYDzqm+dpi5durBt2zYATCYT0dHRjB492rlBKfZhNmmTxPL2QN4+KDoIZVlQnq2t4lZbzilHqevcwTNQe3kFQ0AsBMSBv+XXkE7aN2k7fMBIKZm2ZRpzd83lyg5X8tKgl9C52L5CatEX88l/9138Lr+c8KeebPyHZeZm+P1pSE/U+iiumdusFjtqiNFk5sGvtlJcVcf39w4iwKt5V65uVMIQQgQA7wJdhRA1wA5gHHC7FYf3B5KllIcs51oAjALqJ4xRwOdSSgkkCiEChBCRUspsIUQMcBnaTPOJjYm7uVq+fDkdOnQg3taL1ivOUVcJ6f9AWiIcXq99mBnqrXXiGwV+URDaBdoPAQ9/cPMCvTe4emiTycxGLdEYqqCmRGttVBdrrZCU1VrCqZ9k3P0hrCuEdoWwbhBxJkSeeVrDRqWUvLHxDb7c+yXXdr6WyQMn27TUxxElP/xI7quv4nPRRUQ1dhZ39nZY+bo2VNY7FK58H3rfBHZIavb01tIk/j5UyNvX9qJntG0KNdpToxKGlLIEuF0IcRmQAwwHfrDy8Gggvd77DI5tPZxsn2ggG5gGPA6c8n+CEOJu4G6AuLi4UwZUsvggdVmVDUfeCPoobwKusG5C0IIFC7jhhhtsen3FwcqyYf/vkPQbHFoFploQLtoHd59btF/DumqTxWzR8Wqsg7JMKDkMBQcgb6/Wubt3MWyZZ9lJQEhniO4DUWdBVB+I6AluDdciMkszryS+wnf7v2Nst7E8fvbjdnlEUvb7UrInT8Z70CCi352KcLNicpqUkPY3rP8Akn7REu6Fk2HAPeDR8h46fLMxjY9WH2LswDiu6du8KuSeTFM7vS8A3gMGApFYV1vqRP/qjm+Pn3AfIcTlQJ6UcrMQYsipLiKl/Bj4GKBfv37NdlZ6XV0dixYt4vXXX3d2KEpj1VVq6yds+1L71o+EgHg4exx0vBhi+9tvYpirHoLaaa/2Q/79uZRQkad9887aAllbIXk5bP9a2+7iCmHdtSQS3Vd7hXY95hu5yWziufXPsejgIsb1HMeEPhPskiwq/vqLzMcew7N3b+tKftRVwe4f4Z9ZkLNDW+BoyNMwcLyWNFqgNQfyefrHXZzXKYTnr2g+q/o1pKkJIwB4Au0b/zgrj8kA6nf/x/Dv2uAN7XMNcKUQ4lLAA/ATQsyXUo5tfOj/srYlYA+//fYbffr0ITw83GkxKI2UnwSJH2odrHXlWpIY8iR0H6V9+Dqzs1II8A0H3+H/dvZKqT3CytqqJZHMLbDrR9j8mbbdzVt77h/dB0NUb57OWcnvWWu4v/f93HPmPXZJFpUbNpDx0AQ8OnUi9qNZuHidpEKsyQgpf8HO77TWU12FlvCumA5nXNcsK8taa19OGffN30KnMB9m3tQHN13zm29xMk1NGC8BXaWUSUIIs5XHbAQ6CSHaAZnA9cCNx+2zCHjA0r8xACiVUmYDT1leWFoYj55usnC2r7/+Wj2Oagmk1D64/p4BB5ZpHdE9r4azxkLcOWCL6qn2IgT4R2uvbpdrPzOboeiQ1r+StQUyN1O3YTaPBfuywtuLieV13L5rORSXaI+yovuAd4hNwqnesYOM8ffiFhND7JzZ6HyPa4WV58DBFZD8p/ZrdbHWR9NzDJz5P4gf3KxnaVvjYH4FY+dswMtdx9zbzsbXo/nUibJGkxKGlDIDrTWAlPI/w2NPcoxRCPEAsBTQAXOllLuFEOMt22cBvwKXAslAFdZ1prc4VVVV/PHHH3z00UfODkU5GSm1PomVr0LGRq1jdcjT0O8O8LFtOQyHcnGBkI7aq9f/qDHW8MjKh1mbtY4nI4Zwk79ZSyYH/uDoE2PvUK1PJKST9mtwJ21VOr9I7fGQFR/i1bt2k3bnXeiCg4mb8xGu5iLYvwny92otn8wtUJpmuV4YdB4JXUZCp+FUml3ZkFpE2t+HMZklUQGeDGgXRKB38x5RdLzDhZXcODsRKSVf3jmwWaxv0VhNHVY7A/CWUt4mhBgupVxmzXFSyl/RkkL9n82q93sJnLI4vZRyFbCqsTE3J15eXhQWFjo7DOVk0hJh+ctweC34RcPl70KvG8HNtrObna3KUMVDKx5iQ84Gnj/nea7pfM2/G2vLLf0hW7VHcQUHYM/P2rf++ty8wDdCG/ar99FGfOl9tL4Rswmkier0YtI+24fODeIGl+H28RkgTf+eIyAOYvrCgLuh3fkQfga4uJBTWsN7Sw7ww5YMagzHPsgQAi7sEsbd57dvdgX6TuRQfgU3f7KBWqOZr+8aSMew5lv88FSa+kiqjn9rSg0FrEoYitKslWZo5a93fQ8+4TDyTehza6tLFAAVdRXcv/x+tuVv49VzX+WKDsctpOnuCwnnaq/6Kguh8IA2UqssW5tTUpalJZK6SqjIhdoKbYiwiws1BYK0xQZc3HXE3d4ZfWSklmCCO0BQBwjuCN7HfuBLKfnqn8O8/us+6kxmRveO5opeUXSN9EUnBIcKKlmxL5dvNqZz/ceJDOsezrOXdScuuHn2a+zMKOW2TzcggfnjBtAtsuWN6DqiqQmjCvAXQrgBpx67qijNnaEa1r0Ha98FJFzwBAyeoH1bboVKa0u598972Vu4lzfPf5NLEi6x/mDv4P98wJ9Mzb59pN16Gy5BXsR/8Tn6mIaHjtYYTEz+aRcLN2dwXqcQXrmqJ/HBx/499PXW0zc+kAeHdmLuuhQ+WJHMJdNW8/Rl3Rg7IK5ZzZRecyCf8V9sJsBLzxfj+jfbGlHWamrCKAKq0WZur7NdOIriYKlrYdGDWkdw96tg+MvaI5JWqqimiHv+uIeDJQeZOmQqF8ZdaJfr1CQlkXbb7QgvL+I/n2dVsqiqM3LbpxvZkFLEwxd34qGhnXBxOfmHv4ebjvuGdGTMWTE8tnA7z/60iz/25PLWNWcS7ufcVqGUktlrDjHlt310Dvfls9v7E+Hf8luqjRriYZl5/SlwpDrY50A/m0elKPZWUwZLHoHPLtMen9zyM1w3r1Uni4LqAu74/Q5SSlN4f+j7dkwW+7Vk4eFB/LzP0Mc2XEyvus7EuM82sSm1iOnX9+bhizufMlnUF+Hvwed39OflUT3YkFLI8HdXs2j78SP2HaesxsBDC7bx2q/7GNEzgu/vHdQqkgU0Yaa3EGIKkAAUAGdi/UxvRWkeDq6Anx/UnsMPvB+GPtNqHz8dkVOZw13L7iK3KpeZF82kf2R/u1ynZt8+0u4Yh9DrtWTRQLUF0B5D3f3FJhJTCpl6XS9G9Y5u9HWFENx8TgKDO4Yw8dvtPPT1VpbtzuHlUT0dOppq/cECHvtuB9ml1Tx2SRfuG9KhWT0iO11NeSQ1DkiRUi4FNts4HkWxH2MtLH9Jq2ga0gXG/QGxZzs7KrvLrMhk3NJxlNSW8NGwjzgr7Cy7XKd6xw7S7rwLF29v4j+di96KGmm1RhPj529mbXIBb159JqPPOr0SGe1DfVg4/hxm/XWQaX8eYENKEW9cfSYXdg07rfM2pKiyjneWJfHlP2m0C/Hm+3sHcVZcoF2v6QxNSRjFwHghRBdgO7BNSrnVtmG1bu+++y5z5sxBCMEZZ5zBp59+iodH62iyNlsFB2DhHVppibPvhOGvWFVbqaU7XHaYcUvHUW2sZs7wOfQM6WmX61Rt2kT6PePRBQUR/9mnuEU33EqoM5q5/8strErKZ8qYM7jWRutAuOpceGBoJ4Z0CWPit9u4/bONDO8ezjOXdftPB/rpqjGY+OqfNKb9uZ/KOhO3D07gsUu64KVvnUsNNWXFvdeFEMuB/UBv4HxAJQwrZWZm8t5777Fnzx48PT257rrrWLBgAbfddpuzQ2u9tn4Jvz4Kru5w/VfQ9TJnR+QQB0sOcueyOzGZTcy9ZC5dgrrY5ToV69aRcf8DuEVFEffpXNysKHdjMJl58Ost/Lk3j5ev6sn1/W3fd9Qz2p9FD5zLJ2tTmLEymWFTV3N9/1juPLf9aQ/BLa0y8M2mNGavSSG/vJZzO4bw3BXd6RzeMudXWKvRCUMI8RLaTO1taK2LVTaOqdUzGo1UV1fj5uZGVVUVUVFRzg6pdTLWwm+Pa7WTEs6DMR9r5cXbgKSiJO5adheuLq58OuJTOgTYp25a+YqVZE6YgL5DB+I+mYNrcMNDbo0mMw8v2MbS3bm8cEV3bh5ov/L+Hm467r+wI9f2jWHqH/v5ekMa8xMPc3G3cEb1jmZo1zA89daVRK+oNbI+uYDFO7JZujuHOqOZwR2DmX59b85pH9yq+ipOpiktjOeEEM+hjbC6WgjRQUrZhGWynO+3334jJyfHpueMiIhg5MiRJ90eHR3No48+SlxcHJ6engwfPpzhw1vGymAtSmkGfHuLVubi3Edg6LMtbq2EptpVsIt7/rgHLzcv5gyfQ7yffT6Qy377jczHHsejWzfiZn+MLiCgwWNMZsmk77bzy85sJl/WjdsGt7NLbMcL8/NgytVn8vDFnflsfSoLN2ewbE8uelcXesX40zs2gLhgbyL9PPBw0yEElFYbKKioZX9uOXuyytiRUYrRLPH3dOOGs2O5tl9si1jDwpaa+qBtLnAn4A3MtF04rV9xcTE///wzKSkpBAQEcO211zJ//nzGjm3RtRSbl5TV8N3tYKyB676A7lc6OyKH2Zq3lfv+vA9/d38+ueQTon0aP+LIGiULF5L93PN49jmL2Fmz0Pk0PCHNZJY8+t12ft6WxRMjunLnee3tEtupRPh78OTIrjx2SRf+OVTIyqQ8NqYWM2/9YepMJ66j6uvhStcIX+48rz0XdA6lb3wgetdmXHTSjpqaMB5CKw/iCkxH68docU7VErCXP//8k3bt2hEaqhWwGzNmDOvXr1cJw1Y2zoFfH9dKT/zvSwjt7OyIHGZjzkbuX34/4V7hzB4+mwjvCJtfQ0pJ4Ucfkz9tGt7nnUfM9GknL1Fez5Fk8ePWTB4d3pl7hzhvaQEAnYtgUMcQBnXUKvGazZK88lpyymowmMyYLC2JYG89ob7ubeJxkzWamjAOoq27/bOU8hEbxtPqxcXFkZiYSFVVFZ6enixfvpx+/dTcx9NmNsGyyZA4EzpdAlfPaZGrsDXVusx1TFg5gVjfWGYPn02Ip21KktcnzWZyX3ud4vnz8bvyCqJefdWqlfKOTxYPDO1k89hOl4uLIMLfo9VMsLOXprardgMrgHFCiI02jKfVGzBgANdccw19+vThjDPOwGw2c/fddzs7rJatthwW3KgliwH3wg1ft6lksSJtBQ+ueJB2/u2Ye8lcuyQLc10dWY8+SvH8+QTddhtRU6ZYlSzqjGYe/mZbs04WivWa2sLogDYf42PLr0ojvPjii7z44ovODqN1KM2Ar66HvD1w6dvQv0WOv2iypalLeXL1k3QP7s7Mi2fi7277TlhTRSWZDz1I5fq/CXvsUYLHWbfIZkWtkXvnb2bNgQKeHNmV8Rc49zGUcvqamjDSpZQrhBCRQJ4tA1IUq+XshPnXaGW1b/wWOl3s7IgcavHBxUxeN5neob2ZcdEMfPS2r4RqLCwk/e57qNm3j8jXXydg9FVWHVdQUcsdn21kd1YZb15zJtfZaFKe4lxNTRgjhBD70arVHkbrBFcUx0ldB19fr63bMG4ZhHd3dkQOtXD/Ql76+yX6R/bnvQvfw8vN9mtB1CYnk37PeIyFhcR88D6+F1pXrDApp5y7Pt9EXnkNH9/cl4u6qXXrW4um9mEEAE8AjwO1NovGQbSF/Zqv5h6f0+1dAl+M1hbiaYPJ4su9X/Li3y9ybvS5fDD0A7ski8rERFJvuBFzbS3xX3xudbL4fVcOo2euo9pg4qu7Bqpk0co0tYXxEtBVSpkkhDA1uHcz4uHhQWFhIcHBzXNmppSSwsJCVVvqZDZ/ppUlj+oDN30HXkHOjsih5uycw/Qt07ko7iLePP9N9DrbV2It+f4Hsp9/Hvd2CcTOmmVVXSijycy0Pw/wwcpkesUG8NHYvmrEUStkVcIQQuiADOBZKeUcKWWG5T1SyiftGJ/NxcTEkJGRQX5+vrNDOSkPDw9irFhwpk2REla/DStfgY7DtLUrWnlJ8vqklMzYNoOPdnzEpe0u5dVzX8XVxbYF7qTZTP5771E46yO8Bw0ievo0dL4N10ZKL6piwoKtbEkr4bp+Mbw0qicebm1jVn1bY9W/OCmlSQixC210VIvm5uZGu3aOKUeg2IiU8PtT8M+HcOb/YNQM0DU8pLO1kFLy9qa3+XzP51zd6WqeHfgsOhuXOTHX1JD99DOU/forAddeQ8RzzzU4bFZKycLNGby0eA8IeO+Gs7iyV9uo1dVWNeYrihfwuBBiGHBkOSsppRxl+7AUxcJs1irNbvoEBt4Hw18Fl7ZTlsEszbya+Crf7v+WG7veyBP9n8BF2Pb+DTk5ZDzwIDW7dhE6cSLBd93Z4OPalIJKnvlxJ+sPFnJ2QiBTr+tNbJDt+1KU5qUxCeMcy699LC8A1Tur2I/ZDEsehi3zYPAEuPhFaIb9TvZiNBt5fv3zLDq4iHE9xzGhzwSb97tVbdlKxkMPIauqiJnxAb4XXXTq/euMfLz6EDNXHcRd58Kro3tyw9lxVi+nqrRsjUkY6jmO4jhmEyx6CLbNh/MehaGT21SyMJgMPLnmSZYdXsYDvR/g7jPvtnmyKP7uO3Jeehm3qEhiP52Le6eTz8I2msx8tzmDd//YT155LZedEclzV3Qn3E91bLclDSYMIcSRlU1O2Jqot71ESllmq8CUNsxsgp/ugx0LYMhTcMETbSpZ1JpqmbhqIqszVvNYv8e4pcctNj2/NBjIfX0KxV99hffgwURPfQed/4lniNcZzfy0LZNZfx3kUH4lfeICmHlTH/oltK3RaYrGmhbGPLRkcar/sRL4DPjcBjEpbZnJCD/eA7sWwoWT4YLHnB2RQ1UZqpiwcgKJ2Yk8O/BZrutynU3Pb8zPJ3PiJKo2biTojjsIm/gIwvW/HwPFlXV8vyWDT9amkF1aQ7dIP2aN7cMlPSKa5XB0xTEaTBhSSutm7CjK6TIZ4Ps7Yc9PcPEL2sJHrZjJLNmRUcLmw8UczK8kp7yYJKZRTjKD/R9AVzGI5LxyOoT62ORDunLDBjInTcJcXkHUm2/gf+Wx64SYzJJ/DhWyYGM6v1tWlOvfLojXx5zBBZ1DVaJQmjxxT1Fsy1gHC2+HfUu0kVCDHnB2RHaTU1rDZ+tT+WlrJjllNQAE+dZAxGwMuhy8Sm/lz6RYfk/cDkCglxt944Po3y6Q/u2C6RHlh5vO+pFS0mymcPYc8qdPRx8fT9ycT/Dooq0TUl1n4p+UQpbuzuWPPTkUVNTh6+HK9WfHcv3ZcXSPajtVf5WGqYShOJ+xFr69Ffb/BiPegIHjnR2RXeSV1zBjRTJfb0zHZJYM6RzKU5d2JSG8hqf+fpCC6iLeHzKDwdGDMZjMHC6sZMvhEjamFrExtYg/9+YC4Ommo098AGcnBNEnLpAOYT5E+nmccKSSqaSErCeepOKvv/AZOZKaCY+zolyy6/d9/JNSxI6MEgwmibdex4Vdw7ikRwTDuoeriXfKCYnWXLeoX79+ctOmTc4OQzkVQw18ezMcWNZqy5ObzZKvNqTxxu/7qK4zcU3fGO6/sCOxQV4cKD7APX/cQ62plpkXz6RXaK+TnievrIaNqcVsTC3in5Qi9uWUceS/r4ebC9EBngR46QnwdEPnIgjLPMjlP36Ad0UxC84ew7fRAzBYViHVuQjOiPZnQPsgBrYP5pz2wSpJKAAIITZLKU+4qptKGIrzGKq1hY8OroDLp0G/250dkc0l5ZTz1A872JJWwqAOwbxyVU/ah2plyLflbeP+5ffjrnPno2Ef0SmwcYsLlVYb2JNVxqGCCg7lV5JVUk1ptYGyylou2LqUkRt/ptQ7kMVX3Y+xc3fCfN3pEOpDlwhfOoT64KlXCUL5r1MlDPVISnGOuiqtPHnKarjyA+hzs7Mjsqkag4n3lh/g49WH8PVw5Z1rezGmT/TRjuN1met4ZNUjhHqG8tGwj4jxbXztMH9PN87pEMw5HYKP/syQk0PW409QtWEDviNG0O3FFxh8kiGzSusgzZKq3FIyk9LISE4hv6AAo8nITc/cY/NrqYShOF5thZYsDq+Dqz6E3jc4OyKbWnMgn8k/7eJwYRXX9I3h6Uu7EeT9b1XZ31N+56m1T9HBvwOzhs2y2ZKqZUuXkf3cc0iDgchXX8V/zGg1sqkVkVJSnVdO1v7DpB9IIT8/n5LqCkpkFVXi31UmdNIFP5Mek8mETmfbVqRKGIpj1ZbDl9dBeiKM/hjOvNbZEdlMXnkNryzZy6LtWbQL8earuwYwqMOxyeDbpG95JfEVzgo7i/cveh8//emPQjJXVpI7ZQol3y3Eo2dPot9+C31CwmmfV3EOKSW1hZVkJR0mfX8K+fl5FFeVUyqrqDgmMQi8TW74Sx1R7v4EBPkR3iGamC4d8fKJsHmyAJUwFEeqKYMvr4GMTXD1J9BzjLMjsgmTpVP7zd/3UWswM+GiTtw7pMMxnchSSt7f+j6zd87mgpgLeOuCt/B09Tzta1du2ED2089gyMwk+K67CH3wAYTe9mtkKLYnpaSupFpLDEkp5OXmUlxVTpmsopyao1OlXaTAx+SGj9QRrvcnIMiXsHZRhETHo9MFU15kpCSvipLcapLWV7FxcTpefrncNmWwzWNWCUNxjOoSmD8GsrfDtZ9C99ZR5HhLWjEvLt7D9nStU/vlq3rSIfTYtbUNJgPPr3+exYcWc3Wnq5k8cPJpr2Vhrqoib+q7FM+fj1tsLPGfz8Pr7LNP65yK/dSWVpOTlEZ60iFyc3IpqSqj1FRNuahGWhKDkAIfsxteZh2hen8CAn0IigrHPyQGCKa8yEBJbhWl+dVkJlVjMuYC2lBrV3cdAWGehMT60rFfGAHhXkgpbf5I0qEJQwgxApgO6IA5Usopx20Xlu2XAlXAbVLKLUKIWLSyIxGAGfhYSjndkbErp6GqSFtSNXc3XPc5dL3M2RGdtrTCKt5Yuo9fdmQT4uPOu//rxVW9o//zH7SiroJHVj1CYnYiD571IHedcddp/yeu2riRrGcmY0hLI3DsWMImPoKLlyot3hwYymvITkonPekQedk5FFeWUWquoowapNBGpAoJ3mY93lJHiKsffn4++AQH4+MfidkcRHmRkdK8anIOVpG+xwSUACW4uAr8QzwJCPcirkcwAWHa7wPCvPDy1zukv8phCcOyat8MYBjaan0bhRCLpJR76u02EuhkeQ0APrT8agQmWZKHL7BZCPHHcccqzVFVEXx+JeQnwf/mQ5cRzo7otOSV1/DRX4f44u/D6FwED13UiXvOb4+3+3//K+VW5nLf8vs4VHKIVwa/wqiOp9eqMldWkjdtutaqiIkh7vN5ePfvf1rnVJrGWFVHzv500vYeJC8rW0sMxmrKRDXmeonBy5IY2rn64uXphZdfIO5eEZiMAZQXGijJrSYzx2A5aw1CZOEb7EFAuBcRHSIJCPMiINyTgDAvfIJOPDnTkRzZwugPJEspDwEIIRYAo4D6H/qjgM+lNjkkUQgRIISIlFJmA9kAUspyIcReIPq4Y5XmprIA5l0Jhclw/dfQ6WJnR9RkOaU1zPrrIF9vSMNollzdJ5pJw7uctLx3cnEy9y6/l7LaMmZcNINB0YNO6/rlK1aQ8/IrGLOzCbzxRsIenaRaFQ5grDGQtz+TtL0HyM3MpqiijFJj1TGJAQneZje8za7E6Xzw1Hui9/DD1S0MQ60fZQVGygvqKD96VhPeARUEhHvSvk+olhQsrQW/EE90rs13gTBHJoxoIL3e+wy01kND+0RjSRYAQogE4CzgnxNdRAhxN3A3QFxc3Il2URyhIk9LFsUpcOM30KFl1rBMzqvg03UpfLcpA7OUjOkTzX1DOpIQcvL1xDdkb+DhVQ/jofNg3sh5dA3q2uTrG7KzyXn1VSr+XI57p05Ef/UVXn3OavL5lBMz1xnJO5BJ2p5kcjKyKSovodRUTRnVmIT56H5elsQQK3xwd3XH1dUHKYOorfKjothMpYRKy74ePm4EhLkR280Pf8ujo4BwT/xDvXBzb5mTJh2ZME7Uljp+mvkp9xFC+ADfAw+fbO0NKeXHwMegzfRuWqjKaSnL1h5DlWbATd9Bu/OdHVGjmM2Svw7k8+m6VFbvz0evc+GafjHce0GHBpch/W7/d7yW+BrxfvHMvHgmUT5NW+NamkwUf/kl+dOmI81mwh6dRNCttza4zrZyamaDiYJD2RzedYCc9EyKykqPthiM9RKDpyUxROGNu4seF+GFoc6fqnI/zEZXqtA6Wd08dASEeRHR3vPfpBDmhX+YJx7ere/vypEJIwOIrfc+hn/XBm9wHyGEG1qy+FJK+YMd41ROR2kGzLtCa2HctBASbD+0z16KK+v4cWsmXyQeJqWgkjBfdyYN68wNA+II8XE/5bEms4m3N73N/L3zGRw9mLfOfwtfvW+T4qjauJGc116ndu9evM8/j4jnnkMf0/iZ4G2Z2WiiMCWXw7uSyEnPoqhUSwylVGMUpqP7HUkMkdILN/Rg9qSmype6mgCE0FMD1LoI/II9CI7xokO4F4HhXlpnc7gXXn6O6WxuLhyZMDYCnYQQ7YBM4HrgxuP2WQQ8YOnfGACUSimzLaOnPgH2SimnOjBmpTGKD2vJoroYbv4RYpt/h6zJLFl9IJ/vNqXz55486kxmescGMP363ozsGYneiufJFXUVPL76cdZkrmFst7FM6jepScNmDZmZ5L79NuW//Y5rZCTR097F95JL2tQHUmOZTWaK0/I4vCOJ7LRMikpKjiYGQ73E4GF2xdvsRrjZEzfphtngTlW5NxB6NDHg7UZAuBfR3Y5NCv6hzbtfwZEcljCklEYhxAPAUrRhtXOllLuFEOMt22cBv6INqU1Ga/EdqUY3GLgZ2CmE2Gb52dNSyl8dFb/SgMKDWp9FXQXc8jNE93F2RKeUUlDJws3pfL9ZW5Mi0MuNsQPjubZfDN0irZ99nVGewYMrHiS1NLXJK+SZq6oonPMJhZ98AkIQ8uADBN9xBy6epz+xr7Uwm8yUZBaQtn0/WYczKCopptSgJYY6YTy6n7vZFW+zK2FmT1xNOoy1emqq/BBCSwxGncA71JOAuH8TQmCEN4HhXnj4tL5HSLamqtUqpy9/v9ZnYaqDm3+CyDOdHdEJZZVU88uObBZtz2JnZikuAoZ0CeO6fjEM7RpuVWuivs25m3lk5SMYpZF3h7zLgMjjx3CcmjSZKF28mPxp0zHm5OB32WWEPToJt8jIRp2nNZFSUpZZSOr2JLIPp1NYXEJpXSWlVFNbLzHopQ4fkxseJh06oyumajfq6vxAhCKEO55++mNaCUd+7xfigUsjFp9qi1S1WsV+cvfA55b5BbcugfDuzo3nOAUVtfy2U0sSG1OLATgzxp/Jl3Xjil5RJx0WeypSSr7a9xVvb3ybGN8Y3h/6Pgn+CY06vmLVKvKnvkvtgQN4dO9O9Dtv49W3b6NjaamklFTklJCyfR/ZKWkUFBVTVqe1GGqE4eh+bpbEEGRyR1fnhanWDYPBD0kobm5e+IZ5EhhRPyl4ExDuibuXai3Yg0oYStPl7NSShYsb3LoYQjs7OyIAiirr+HNPLot3ZLH+YCEms6RTmA+ThnXmil5RpxwS25BqYzUv/v0ivxz6hSGxQ3jt3Nca1bldtXkzee9MpXrLFtzi44h+d6rWT+HSOr/1SimpzC8ldXsSWQcPU1BURGmtNvO5WtQd3c9VuuBr0hNg0qOr9cBscMdY54uZUHwD/Y9pJQREaL9vDhPZ2hqVMJSmSd+oFRLU+8CtiyC4g1PDySypZtnuHH7flcPG1CLMEmKDPBl/QXuu6BVF14jTrwqbXp7OIysfYX/xfh7o/QB3nXkXLsK6D/qaPXvIf+99KlatwjU0lIgXXiDg6jGtaphsZWEZqVv3aYmh8EhiqKaqXmLQWRKDv9GNoDoPpEFrMbi4hhEUGXxcUvDGP8wTvYf6mGou1N+E0ngHV8CCm8A3QuuzCIx3eAhSSg7mV7B0dy5Ld+ewI6MUgM7hPtx/YUcu6RFBjyg/m40wWpu5lidWP4FEMuOiGZwXc55Vx1Xv3EnBzA+pWLkSFz8/QidOJOjmsS26Q7u6pJLULXvJPJhKQUERpTWVlFFD5XFrMviY9fga3Ag0eCANeox1Prh5RxMSFUxgpNbRHBihJQffQA+Eai00eyphKI2z+yf4/k4I7QJjfwDfcIddurrOxN+HCliVlM+qpHzSiqoA6B0bwBMjunJJj/Cjy5/aitFsZOa2mczZOYdOgZ2YNmQasX6xDR5XtWUrBR9+SOWaNej8/Ql9eAKBN92EzrdpczOcoaasitRt+8jcn0pBQYGWGMw12poM9Utvm/X4GFwJMLpDnR6jwQevwFhCYkIJjPCyvLwJCPdqlZPZ2hKVMBTrbZ4HSx6GmP5auQ/PALtezmSW7MspI/FQEauS8vgnpYg6oxlPNx2DOgRz1/ntGdYtnAj/xndcWyOnMofHVz/O1rytjOk0hifOfgIvt5PP9JZSUrluPYWfzKHq70R0gYGETppI4A03ovNper+JvdVW1nB46z4yklIozC+g5GhiqDmm9LavWY+30RV/gzsY9EizLz7B8YS2C9WGplpaCwGhXujcWmefTFunEoZinbXT4M/noeMwrUS53vaF7yprjWxLL2FjahGbDxezNa2EilptKGWHUG9uHhjPkC6hnJ0QdMziRPawMm0lz65/FoPJwJTzpnBZ+5OXZDfX1VG2eAlFn31G7YED6EJDCHv8cQKv/1+zKhBoqK4lbdt+0vcdJD8vn5LqSsrNNZSL2mNKb/uY3fE0uuJn9AODGy4uAfiHxREaH6G1FsK9CYz0wjvAXU0qbGNUwlBOzWyG5S/AuunQYwyM/ghcbbOiW05pDZsOF7EptZhNh4vYm12OySwRArqE+3LVWVH0iw+iX0IgMYGO+eCtNdUybfM05u+dT7egbrx1wVvE+524j8ZYXEzJN99Q9OWXmPILcO/cmcjXXsPv8stwceKqd8ZaA2nbk0jfY0kMVRWUmWspF/9dk8HL5IavwRdh0OOmD8A/MoHwhMijrYXACG/cPdXHhKJR/xKUkzPWwk/3wa6F0G8cXPoWuDT9m31mSTVrD+Tz98FCNh0uJqO4GgBPNx29YwO4b0gH+iUEcVZcAH4ejn/WvbdwL0+vfZrkkmRu7Hojk/pNQq/77wd/9a7dFC/4mrIlvyBravAePJig16fgPXiQQ79xG+sMpO84QPqeZPJz8imuLKdcaonhmNLbUo+X0RVfoy8uRj3unoEExbbXEoOltdDcy2orzYNKGMqJVRfDgrFweC1c9Dyc+wg08sOwrMbA3wcLWXuggHXJBRwq0Ao/h/q6c3ZCILcPbsfZCYF0i/TDzYmzb41mI5/s/IRZ22cR6BHIjItmcH7MsRV2zdXVlP36G8ULFlCzcyfC0xO/yy8j6OZb8Ohi3/knJqOJzN3JHN51gLysPEoqyimX2qOkY0pvSz3eRjcijb64mt3x8A4iJK49ER2iCYjwIijC22Ersymtk0oYyn8VH4Yvr4WiQzBmDpx5rVWHGUxmtqWXsOZAAWsP5LM9oxSTWeKl1zGwfTA3DYznvE4hdArzaTYfWimlKUxeO5kdBTsYmTCSZwY+g7+7/9HtNUn7Kf3he0p+/AlzWRn6jh0If+YZ/Eddic7v9Od21Gc2mclOSuHwjv3kZORQUlFGuamWcpeaY0pve0ntUVKEwQc33PH0DiK0fQeiOsUe7XxWcxcUe1D/qpRjZW2Fr/4Hhhqt4my7k883kFKSnFfB2uQC1h4oIPFQIZV1JlwEnBmjPWI6t2MIZ8UFNrpOk70ZzAbm75nPzG0zcXd1563z32JEO235WGNREWVLllDy00/U7tkLbm74DRtG4A3X49mv32knO7PZTEFKFinb9pJ9OIvistKjicHwn9LbboTV+aCX7nj5BhGW0IGoLnEERXkTEOaFq75lLsSjtEwqYSj/2v0j/HgveIdoFWfDuh2zWUpJamEVfx8sZP3BAhIPFVFQoU3WSgj2YnSfaM7tGMo57YPxb8a1fHYV7OKF9S+QVJzEkNghPDvwWUJcAyhbtozSn36mYvVqMBrx6NGD8MmT8bvsUlwDA5t0reKMPA5t3kVmSibFJaWUm6opc6k9tsKqdMXHrCe0zht34Y6XdyBh7dsT3a0dwVE++IV6olMF85RmQCUMRRsJteo1WP2WNsfif/MxeIVyMKeMPVmWV7b2KqnSCsOF+7lzbsdgzukQzKAOIQ2uRNccVBoqeX/r+3y972tCPEKYNvht+me4U/7iVA6sWIG5vBzX0FCCbr2FgKuuwr1TJ6vPXV5QzMGNu8g4kEZRcTEVxhrKRC01LscW0vOVeoJrPfHAHS/vAELbtyP+jE4ERfriG6xqIynNm0oYbV1tOYaFd+F24DcORI3iU7+H2PnZAZJyt1Bn1J6bu7u60DXCl5E9I+kZ7cc57YNpF+LdbPohGiKl5NeUX3l387sUlufyUN25XLzLm5q3niWjvBwXPz98hw3Db+QIvM85B+F68v8W1aXlHNy0m7S9KRQVFlNurKZC1FLpcly9JOlOoNEDd/zw9g4gJC6edr27EhLrj3eA6nhWWiaVMNqYgopadmWWsjurjJzUPdye9gzx5nReNN7Mp4dGEORdTI8oP24flED3KD+6R/rRLsQb1xb6SGRn/k6m//Uqrht2cleaL2ckuyMqVlHj64vvxRfjN+ISLUkcN2+irrqGlM17SNmZTGF+IRUGLTFUiNqjs59dpMAHd3yNekLxxdvLj9C4WNr16U5YfBCevs6bi6Eo9qASRitWWWtka1oJmw8XszOzlF2ZpeSU1QAwwmUDb+s/RrjoWHLm+5zXYzj3RPoT7tc6Zu9m7dnE8q/fwPOfXTycAToz6IJd8Rl+Eb7Dh+EzaBBCr8dYZ+DQtr2k7tDmMpTVVlFBLRUutUfnMggJPrjjZXQjGG+8vfwIiYmhw9k9CG8XotZeUNoMlTBakao6I+uTC0k8VMjG1CJ2ZZUdnTndIdSHge2DODPSi5E5M4nc+xlE94VrP2NUQJyzQz9tpooKqjZsoHD1SvJXLcMnp4x+QHlsEIHjRuE/5CIKXb3Yv20/uev2U758GxXUUu5y7FwGb6HH2+RGgCkAbw9fQqKj6NC/B1GdItVQVaXNU/8DWrjUgkqW78vTivMdKqLOZEbv6kLv2ADuvaADZ7cLok9cAL4ebtr8ioW3Q+ZmGHAvDHvJZmU+HE0aDFTv2EHluvVU/v031Tt2gMlEtRsc6ByBYcAQ3H3iqTIYSCyppXzRr8cOWRVu+Jj0RJn88dZ7ERQRSbu+PYjtHqMqqirKSaiE0QKlF1WxZEc2S3ZksTurDICOYT7cOiieC7uE0TchEHfXeuPzpYTt38Cvj2rvr/scuo9yQuRNZ66ro2bXbqo2b6J602aqNm6kXOdOflxXiqI7U3n5mdS4CSp1hn/Xfjbl4S60IavhBh+83LwJDAkjrndX2vVqj6evW6t4/KYojqISRgtRXWdiyY4sFmxMZ/NhbW3q3rEBTL6sG5f0iDj5sNaqIq0k+Z6fIXYgjJ4FQe0cF3gTmSoqqd66larNmyjavIO0ShMlIVFU+PpRHdKeistjqT5myKoBX5M7IQZvvHSe+AWFENuzM+3O6ohfsKdKDIpiAyphNHP7c8v5MvEwP2zNpLzGSIdQbx4f0YUrzoxqeO7D/mWw6AEtaVz8Agx66LSKB9qLNJupSz1MyabNHNqWRFaZgXI3d6o8dVS6Gqns8G8fi04a8DW54G9wx8+sx8VLT6ceZ9D73LMJCPNR8xgUxY5UwmiGpJRsTC1m1l8HWbEvD73OhZFnRHBj/zj6twtq+NtyRR78/pRWZTasO9y0ECLPdEzwVqjOzOLA0tUcTs6kxGCk0lVQ6WqiwqUWqQdCwEXW4Wt2x9foTii+mPSwV5/KBr/teIa5MqbLaK7rci1BHkHOvh1FaTNUwmhGpJSs2JfHzFUH2Xy4mCBvPROHdWbswHiCvK3onDabYesX8MezYKiGC56E8yaCq7v9gz8Bk8nE4XWbSP5nFwVFpVRgotLVRPmRIat6EG7gIy1DVo1e+Pj4ExoXR0jvGDaa/+a39F/ZU7gHgeD8mPN5pctzDI4ajK4ZtpQUpbVTCaOZ+OdQIW/8vo8taSXEBHry4pU9uK5fLJ7WFpfL3KK1KtITIf5cuPxdCLVv2e36cpMPs2/5P+Rm5lJuqKVSZ6JcV/fvyCR38DJrQ1ZjDH54uXoSEhtLx3N6EdU5Ajd3HUnFSazOWM2PGZ+wc8tOJJLuwd15tN+jjEgYQbi349YPVxTlv1TCcLI9WWW8uXQfq5LyCfdz5/UxZ3BN3xjr14cozYTlL8GOBeAdCld+AGeNbfTaFdYqzS0kafVmMpJSKK2qotLFQLmu7t+RSS7grnfFx6gnvMYLT1wJCAik/cCzaD+g69FJblJKMisy2ZK3hbmbN7Euax15VXkA9Azuyb2972VkwkgS/BPsch+KojSeShhOUlJVx9vLkvjqnzR8Pdx4amRXbh2UYP1a1VVF8PcM7SXN2gJH504ED9us0VBTXknSmq2k7kiipLycSgxU6AxU1auZ5Ormgq/JneBaDzxNOvw8PInp1oFOF/fHL8z/mPOV1payrWgL+1L2sbtwN1tyt5BblQuAr96XgZEDOS/6PM6LOY8QzxCb3IOiKLalEoaDmc2Sbzal8+bv+yitNnDLOQk8Mqwz/p5WTharKoLEmZA4C+rKoefV2op4gSded7ohhto6Dm7YyaGNuyksKqZSGqh0MWgd0EdqJrkKfM3u+Bv0hBvc8XZ1IyIijK5D+xDUowMuOi3JSSnJr84nqWw/h/cfJq0sjZSyFPYX7SerMuvoNcO8wjgr7Cz6hvelb3hfOgZ0xEW0zFpVitKWqIThQNvTS3ju511szyilf0IQL47qQbdIK1sEpZmwcTZsmKMliu6j4IInILyHVYebTCbSdxwged028nPzKTfVUaUzWEpjWNZ/1mkd0N5GV4Jq9HgLV0JDAuh0Tk88zoiiSJZTUF1AYXUhB6oL+Lv6ZwrWFVBQrb2yK7OpNlYfvabeRU+sbyxnhp7JdV2uo1tQN7oEdSHYM7ixf3SKojQDKmE4QEWtkbeXJjHv71RCfNyZ9r/ejOod1fDwWCkhYyMkfqhNvENCtyvhgsdPmShyD6azb9UmctKzqKirodLFeGwHtA68LDWTomt9cDdL9B4Cc3sdBZ1N5LiUHU0CBVUFFKYUYjpk+s91PF09CfEMIcQzhA4BHRgUNYh4v3ji/OKI94snwitCjWZSlFZEJQw7W7Y7h+cX7SanrIabB8bz6CVd8PNo4PFTZaE2h2Lbl5C9Hdz9YeC90P/uYx49leQWsvfPf8hKTqOstopKFyMVOgM14t8Z0Ho3V3xNesJrPHE1GKmjksP+aSyL2U+ue8V/Lq07pCPYI5hgz2BCPEPoEtiFEM+Qo+9DPUOPJgkvt+a/aJKiKLajEoad5JTW8PyiXSzdnUvXCF9m3NSHPnGnWOazrhKSl8OOb2D/UjAbILIXXPo21e1HsWftLtJnLqO0ooJKFyOVOsMxi/Yc6YAOqtWjq3OhxlRKqnsKq6L2UxhgwNPNi1DPUEK9Qgn1DGOYZ3dCvSwf/h7/JoRAj0DVn6AoygkJKaWzY7Cbfv36yU2bNjn0miazZH7iYd5amoTBZObhiztz53ntTjxMtqoI9v8Oe5fAweUY6gzsN53PIc6m2ORBlYukUmegwqUOaelncJFaB7SnUYdbnYk6YwWFHrlkdirHs0MkkT5RhHmFHU0OIZ4hhHmF4e3m7dA/B0VRWiYhxGYpZb8TbVMtDBtan1zAS0v2sC+nnPM6hfDKVT2JD673QW2ohrRETAdWkrJ1P7vzQinVhVHj2psqt15aB7SbGTCAq+FoB3RAtQ7MtRh9aqGHF0G92hHlG0OkTySR3pF4uno67Z4VRWk7VMKwgd1ZpUz/8wDL9uQSE+jJzJv6MLJnBKI8h4zffmB74kGKqlypcdFT7SYp17lhEF3BH8CEp9mAj8mNyFpPdCYjrt4Sv97htDunL/FB7fB3928oBEVRFLtTCaOJzGZJ4qFCPlmbwvJ9ufQT2bzsVoAolGTP38QMV7QOaBcDCMDbiF6Cr0lPWI0HbiaJh5cLkb3i6TnsAoJ8Q1UJbkVRmjWHJgwhxAhgOqAD5kgppxy3XVi2XwpUAbdJKbdYc6wjGE1mNmzdQ9KS3zCV1iBc9fR1E3TVG6l0qeMggBe4SqPWAV2nR290xd3dhbBuMZx12UUEBYY5OmxFURSbcFjCEELogBnAMCAD2CiEWCSl3FNvt5FAJ8trAPAhMMDKY22qvKSUNV99S0FqHkazjjo3HVWWSqtSSPAHIWu0EtwGN0KMOvQ6M6Htwjhr9EhCw6LsFZqiKIpTOLKF0R9IllIeAhBCLABGAfU/9EcBn0tt6FaiECJACBEJJFhxrE0UZufwxYx5lOtqMQkzeAEY8Da742N0xb/GE3dMBEX70vuqy4hKaP6r1ymKotiCIxNGNJBe730GWiuioX2irTwWACHE3cDdAHFxcSfa5ZSCIyPwNLrgU+eBq9mIt787/a68iHa9ejf6XIqiKK2JIxPGiXp0j58EcrJ9rDlW+6GUHwMfgzYPozEBHnHPlMeacpiiKEqr5siEkQHE1nsfA2RZuY/eimMVRVEUO3JkDYiNQCchRDshhB64Hlh03D6LgFuEZiBQKqXMtvJYRVEUxY4c1sKQUhqFEA8AS9GGxs6VUu4WQoy3bJ8F/Io2pDYZbVjt7ac61lGxK4qiKKqWlKIoilLPqWpJqbKkiqIoilVUwlAURVGsohKGoiiKYhWVMBRFURSrtOpObyFEPnC4iYeHAAU2DKclUPfc+rW1+wV1z40VL6UMPdGGVp0wTocQYtPJRgq0VuqeW7+2dr+g7tmW1CMpRVEUxSoqYSiKoihWUQnj5D52dgBOoO659Wtr9wvqnm1G9WEoiqIoVlEtDEVRFMUqKmEoiqIoVmnTCUMIMUIIkSSESBZCPHmC7UII8Z5l+w4hRB9nxGlLVtzzTZZ73SGEWC+E6OWMOG2poXuut9/ZQgiTEOIaR8ZnD9bcsxBiiBBimxBitxDiL0fHaGtW/Nv2F0IsFkJst9zz7c6I01aEEHOFEHlCiF0n2W77zy8pZZt8oZVJPwi0R1ugaTvQ/bh9LgV+Q1vxbyDwj7PjdsA9DwICLb8f2Rbuud5+K9BK7F/j7Lgd8PccAOwB4izvw5wdtwPu+WngDcvvQ4EiQO/s2E/jns8H+gC7TrLd5p9fbbmF0R9IllIeklLWAQuAUcftMwr4XGoSgQAhRKSjA7WhBu9ZSrleSllseZuItrphS2bN3zPAg8D3QJ4jg7MTa+75RuAHKWUagJSypd+3NfcsAV8hhAB80BKG0bFh2o6UcjXaPZyMzT+/2nLCiAbS673PsPyssfu0JI29n3Fo31BasgbvWQgRDYwGZjkwLnuy5u+5MxAohFglhNgshLjFYdHZhzX3/AHQDW15553ABCml2THhOYXNP78cuaZ3cyNO8LPjxxhbs09LYvX9CCEuREsY59o1Ivuz5p6nAU9IKU3al88Wz5p7dgX6AhcBnsDfQohEKeV+ewdnJ9bc8yXANmAo0AH4QwixRkpZZufYnMXmn19tOWFkALH13segffNo7D4tiVX3I4Q4E5gDjJRSFjooNnux5p77AQssySIEuFQIYZRS/uSQCG3P2n/bBVLKSqBSCLEa6AW01IRhzT3fDkyR2gP+ZCFECtAV2OCYEB3O5p9fbfmR1EagkxCinRBCD1wPLDpun0XALZbRBgOBUilltqMDtaEG71kIEQf8ANzcgr9t1tfgPUsp20kpE6SUCcBC4L4WnCzAun/bPwPnCSFchRBewABgr4PjtCVr7jkNrUWFECIc6AIccmiUjmXzz68228KQUhqFEA8AS9FGWMyVUu4WQoy3bJ+FNmLmUiAZqEL7htJiWXnPzwHBwEzLN26jbMGVPq2851bFmnuWUu4VQvwO7ADMwBwp5QmHZ7YEVv49vwx8JoTYifa45gkpZYstey6E+BoYAoQIITKA5wE3sN/nlyoNoiiKolilLT+SUhRFURpBJQxFURTFKiphKIqiKFZRCUNRFEWxikoYiqIoilVUwlAUKwghAoQQ99V7HyWEWGina10lhHiugX3eFkIMtcf1FeVk1LBaRbGCECIBWCKl7OmAa60HrjzVHAEhRDwwW0o53N7xKMoRqoWhKNaZAnSwrB/xlhAi4cg6BEKI24QQP1nWWkgRQjwghJgohNgqhEgUQgRZ9usghPjdUuxvjRCi6/EXEUJ0BmqllAVCCF/L+dws2/yEEKlCCDcp5WEgWAgR4cA/A6WNUwlDUazzJHBQStlbSvnYCbb3RCsZ3h94FaiSUp4F/A0cqQT7MfCglLIv8Cgw8wTnGQxsAZBSlgOrgMss264HvpdSGizvt1j2VxSHaLOlQRTFxlZaPuDLhRClwGLLz3cCZwohfNAWp/quXkVc9xOcJxLIr/d+DvA48BNaaYe76m3LA6JsdQOK0hCVMBTFNmrr/d5c770Z7f+ZC1AipezdwHmqAf8jb6SU6yyPvy4AdMfVe/Kw7K8oDqEeSSmKdcoB36YebFlzIUUIcS0cXW/5ROul7wU6Hvezz4GvgU+P+3lnoMUWDFRaHpUwFMUKlnVB1gkhdgkh3mriaW4CxgkhtgO7OfFSsauBs8SxKzl9CQSiJQ0ALB3hHYFNTYxFURpNDatVlGZGCDEdWCyl/NPy/hpglJTy5nr7jAb6SCmfdVKYShuk+jAUpfl5DW1BI4QQ7wMj0dY1qM8VeMfBcSltnGphKIqiKFZRfRiKoiiKVVTCUBRFUayiEoaiKIpiFZUwFEVRFKuohKEoiqJY5f+cvfGIe0NVLQAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -127,7 +127,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -153,7 +153,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -179,7 +179,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] diff --git a/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb b/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb index 98b32fc30..d9be0df4d 100644 --- a/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb +++ b/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb @@ -81,8 +81,8 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, "execution_count": 6, diff --git a/examples/rmvs_swifter_comparison/9pl_18tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb b/examples/rmvs_swifter_comparison/9pl_18tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb index d0d223ce7..cd1a5aab8 100644 --- a/examples/rmvs_swifter_comparison/9pl_18tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb +++ b/examples/rmvs_swifter_comparison/9pl_18tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb @@ -163,7 +163,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -198,7 +198,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAElCAYAAADgCEWlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAriklEQVR4nO3deZxcdZ3v/9e7qzvpTrqzhy0JJGwicoGBgHhxAUdGYMYfOi6DOoqKIuPoeH9uMDP+HJfxqtfRmfHnwmW4iKgjDx03HBFcccGNBMISMpEshDQB0mRfupPuqs/945xOqitVne6iqk519fv5eNSjz/I9pz59urs+/f1+z/l+FRGYmZkNa8s6ADMzay5ODGZmNoITg5mZjeDEYGZmIzgxmJnZCE4MZmY2ghODlSXpg5K+ki4fK2m3pFzWcY1G0vMkrW7we4akE5/mOVZKuqA2ER1y7oo/R0lHSvqFpF2SPqXEFyVtk/T7esRjE4MTQ4uS9IikF5Vse4OkX433XBHxaER0R0S+dhGOz1g+gCPilxHxjEbFVCsR8ayIuBNGfpDX4X1Kf45XAU8BMyLi3cBzgYuAhRFxbj1isInBicFagqT2rGOYgI4DHoqDT7keBzwSEXvGeyJf/9bixDCJSTpG0jcl9UlaL+lvKpRbnP7H3l503K2StkpaI+ktRWVzkv5O0tq0iWK5pEXpvlMk/Sg9brWkVxUdd5Okz0n6fnrc7ySdkO77RVrsvrQp5C8kXSCpV9I1kp4Avji8reiciyR9K/3+tkj6bIVr0C9pTtG2P5L0lKSOdP1NklalTSx3SDquwnWaKenm9P02SHq/pLai/W9Jz7NL0kOSzkq3PyLpRZIuBv4O+Iv0+7xP0islLS95n3dL+k6FGJZI+nn6Hj8C5pX7OUq6CbgCeF/6Xm8FbgCek65/KD3mzyStkLRd0q8lnV50vkfS638/sCc973lpue1p/BcUlb9T0kck3ZXG90NJxfE9t+jYjZLekG6fKumfJD0q6UlJ10nqSvfNk/Sf6TFbJf2y+JpblSLCrxZ8AY8ALyrZ9gbgV+lyG7Ac+AAwBTgeWAe8ON3/QeAr6fJiIID2dP3nwOeBTuBMoA/443Tfe4EHgGcAAs4A5gLTgY3AG4F24CySZoxnpcfdBGwFzk33fxW4pSj2AE4sWr8AGAI+AUwFutJtven+HHAf8M/pe3cCz61wrX4KvKVo/ZPAdenyS4E1wDPTuN4P/LpcXMDNwHeBnvSa/QG4Mt33SuAx4Jz0upwIHFf6syq+7un61PS6PLNo273Ayyt8L78BPp0e93xg1yg/x5uAfyz3+5GunwVsBp6dXs8r0linFsW9AliUXv8FwBbgUpLfr4vS9flp+TuBtcDJafk7gY+n+45NY3010EHyO3Nmuu9fgFuBOem1/R7wsXTfx4Dr0mM6gOcByvrvb6K/Mg/Arzr9YJM/2t3A9qLXXg4mhmcDj5Yc87fAF9PlAx9QxR8o6YdAHugpOu5jwE3p8mrgsjLx/AXwy5Jt/xv4h3T5JuCGon2XAv9VtF4uMewHOku2DSeG55AkrPYxXKs3Az9Nl0WSwJ6frv+A9MM9XW9Lr+NxxXGRfHDuA04tKvtW4M50+Q7gnaP8rMomhnTbF4CPpsvPAraRfjiXlDuWJFlOL9r27+V+jkXXfLTE8AXgIyXvsRp4QVHcbyradw3w5ZLydwBXpMt3Au8v2vc24Pai371vl/meBOwBTija9hxgfbr8YZJkfGLpsX5V/3KVq7W9NCJmDb9I/hCHHQcck1bBt0vaTtKMceRhznkMsDUidhVt20Dy3yIkiWNtmeOOA55d8n6vBY4qKvNE0fJeoPswsfRFxECFfYuADRExdJhzAPwHSRPKMST/ZQfwy6K4/7Uo5q0kH1YLSs4xj6TmtaFo21iuy1h8CXiNJAGvA74eEfvKlDsG2BYj+wg2lCk3VscB7y75mS1K32fYxpLyrywp/1zg6KIylX7Gla7PfGAasLzonLen2yGp3a0BfihpnaRrx/9tWil3GE1eG0n+6zppnMdtAuZI6ilKDseSNJMMn/cE4MEy7/fziLio2oDLGG1o4I3AsZLaD5ccImK7pB8CryJpMvpapP+Opuf5aER89TCxPAUMknboptvKXZfDOeR7iojfStpP0kzymvRVzuPAbEnTi5LDseXOOUbD3/tHxxjvRpIaw1sqFT7Me5W7E+opoJ+kyfGx0p3p7+C7SRLYs4CfSbo7In5SRQyWco1h8vo9sDPtPOxS0ml8mqRzRjsoIjYCvwY+Jqkz7Yy8kqRPAJIOzI9IOkmJ0yXNBf4TOFnS6yR1pK9zJD1zjPE+SdIPMp7v73Hg45Kmp7GeP0r5fwdeD7w8XR52HfC36YfOcAfzK0sPjuQW0K8DH5XUo6SD+l3A8K2nNwDvkXR2el1OVPlO7CeBxWU6UG8GPgsMRUTZW44jYgOwDPiQpCmSngu8ZJTv+XD+Dbha0rPTmKdL+lNJPRXKfwV4iaQXp79PnUpuCFg4hvf6KvAiSa9KO7HnSjozIgppHP8s6QgASQskvThd/rP0WgrYSdLMmdlt1a3CiWGSSj/IXkLSebye5D+zG4CZYzj81STt1ZuAb5P0E/wo3fdpkg/IH5L8of4foCv9z+5PgMvT457gYMfxWHwQ+FLanPCqwxUu+v5OBB4Fekn6OSq5FTgJeDIi7is6z7fTOG+RtJOkJnRJhXO8g6Q9fB3wK5IEc2N6nm8AH0237QK+Q9KZWuob6dctku4p2v5l4LT062heQ9J/tBX4B5KEUpWIWAa8hSQhbSNpsnnDKOU3ApeRNEn2kdQC3ssYPmci4lGSfqV3p7GvILlxAZK+izXAb9OfwY9Jbm6A5Gf2Y5L+tN8An4/0mRCrng7WmM2sWaW3Z24GzoqIh7OOx1qbawxmE8NfAXc7KVgjuPPZrMlJeoTkTqiXZhuJTRZuSjIzsxHclGRmZiM4MZjVkaTXps9IHK5c3UZVrYaSsav+Mes4LBtODNY0dHC+gOFXSNpTtP68Ks55yPDjJfsvkFRIz79LyeB+b6wy/hGDDQJExFcj4k+qOZ9ZVtz5bE0jvZf9wDAYkgI4IyLW1PmtN0XEwvQhqcuA/5D0u4h46HAHDpOHnbYW4hqDTQiqYuhlSV8mGRLie2mN4H2jvUckvkPyMNep6VO+90raqWQY6A8WxTNcO7hS0qMkI7QODw++PX2/56hkciRJz9LBoceflPR3Fb7f0YavfoOScYF2KRku/bWjXLN/kbQpff2LpKnpvuFhy98tabOkxyvVlCQ9KOklResdSoYlP3O062kTlxODTRSfIBmu+UySp5kXkAwZDsnTsr0kA6sdSfLkbUTE60ieen5JJDOX/a/R3iBNJi8DZpEMHb6HZJiMWcCfAn8l6aUlh72AZHylF5MMwAcwK32/35Scv4fkKd3bSQaiOxE4ZEwfSQuA7wP/SPJ09HuAb0qaL2k68BngkojoAf47yVPC5fw9cB7JNTuDZCyi9xftP4rkSfcFJMOafE7S7DLnuRn4y6L1S4HHI6LS+9oE1xKJQdKN6X89pQO3VXOuC5VMTDL8GijzYWANlDbxvAX4fyNieGTX/0kyvAYkg9cdTTIU9mAkU3yO5z7sY5SM2vkUyTASr4uI1RFxZ0Q8EBGFiLgf+BpJIij2wYjYExH9Y3ifPwOeiIhPRcRAROyKiN+VKfeXwG0RcVv63j8iGQPp0nR/AThNUldEPB4RKyu832uBD0fE5ojoAz5EMjrrsMF0/2BE3EYyrES5qVG/AlwqaUa6/joOPzSHTWAtkRhIxpW/uBYnioifRcSZEXEm8EKSoYEPe1eJ1VW9h17elA5NPif92d8CoGTwuJ8pmZFtB3A1RTOipTYecrbKxjr0dsXhq9NRU/8ijeVxJTPenVLhPMdw6DDgxUNmbykZebbsUOcRsQm4C3i5pFkkY0UdbrRZm8BaIjFExC9IBt46QNIJkm5XMrXkL0f54xnNK4AfRMTemgRq1Soeenl4fomZEdENydDLEfHuiDieZOC8d0n64/TYp/ME57+TDK63KCJmkoy0qpIyUWG5nLEOvT08fPWsotf0iPg4QETckQ5ffjTwXySjj5aziSTJDDs23VaNL5HUZF4J/KbcENjWOloiMVRwPfCOiDibpI3281Wc43KS5gPL0NMcenm8w3UX6yGZlGhA0rlUngdhWB9JM0+l9/tP4ChJ/yPtGO6R9Owy5SoOXy3pSEn/T9rXsI+k+afSMNNfA96f9k3MI+mTqfZZie+QTPX5Tp7GiK02MbRkYpDUTdIp9w1JK0imkDw63ffn6V0Wpa87Ss5xNPDfSKYmtOxVO/Tyx0g+HLdLes843/NtwIcl7SL5UP36aIXTmuVHgbvS9zuvZP8uknmQX0Iy7PjDwIVlzjPa8NVtJJ3tm0hqyS9g5Mx8xf6RpG/ifpLO9HvSbeOW9qF8E1gCfKuac9jE0TJjJUlaDPxnRJyWdpKtjoijD3PYaOd7J0nTxVW1itFsIpP0AeDkiPjLwxa2Ca0lawwRsRNYr3SmLSXOOMxhpV6Nm5HMAJA0h+SW1uuzjsXqryUSg6SvkTQhPCN9aOdKklv1rpR0H7CSpGo+1vMtJrmD5Od1CNdsQpH0FpLmrB+kN3pYi2uZpiQzM6uNlqgxmJlZ7Uz4gb/mzZsXixcvzjoMM7MJZfny5U9FxPxy+yZ8Yli8eDHLli3LOgwzswlF0oZK+9yUZGZmIzgxmJnZCE4MZmY2ghODmZmN4MRgZmYjODGYmdkITgxmZjaCE4OZWRPYfddd7Fu3PuswgBZ4wM3MrBVsvPLNADzzv1ZlHIlrDGZmmYtCIesQRnBiMDPLWGHXrgPLQ1u2ZBhJwonBzCxj+W3bDiwPrFyZYSQJJwYzs4wNbXViMDOzIvntBxPDUN9TGUaSaFhikHSjpM2SHqywX5I+I2mNpPslndWo2MzMsnSgKUkiv3vX6IUboJE1hpuAi0fZfwlwUvq6CvhCA2IyM8vccGLoOHYRhV27M46mgYkhnUR86yhFLgNujsRvgVmSjm5MdGZm2Rnatg1NnUrH/CNG3KGUlWbqY1gAbCxa7023HULSVZKWSVrW19fXkODMzOolv207udmzaevpIb97EtUYxkBltkW5ghFxfUQsjYil8+eXnbLUzGzCyG/dSm7ObNp6ul1jKNELLCpaXwhsyigWM7OGyW/bRvusWeS6XWModSvw+vTupPOAHRHxeNZBmZnVW2HvHtq6e2jr6aGwezcRZRtLGqZhg+hJ+hpwATBPUi/wD0AHQERcB9wGXAqsAfYCb2xUbGZmWSr0D9DW1UmupxvyeWLvXjR9embxNCwxRMSrD7M/gL9uUDhmZk2jMDCAOrto6+4BIL97N20ZJoZmakoyM5uUor+fts5O2nq6ATLvgHZiMDPLUEQkNYauTnIzZgCQd2IwM5vEBgchn09qDN1pjSHjO5OcGMzMMlTYtw8AdXaS60n6GNyUZGY2iRX6+wFo6+yiLU0M+YzHS3JiMDPLUAwMACS3qx5oSnKNwcxs0ir0J4lBnV1o2jSQKOzZk2lMTgxmZhmKgbQpqasTSbRNm+bEYGY2mR2sMXQC0DZ9OnknBjOzyatwoMbQlXzt7qaw24nBzGzSOtD5XFRjcFOSmdkkVq4pyYnBzGwSi32uMZiZWZEDNYa0jyHXPd1DYpiZTWYHbledOjX56hqDmdnkVugfgI4O1NEBODGYmU16hYH+A/0LkCSGGByksH9/ZjE5MZiZZSj6B0oSQzpeUoa1BicGM7MMJZP0dB1YH57S04nBzGySioH+Ax3P4MRgZjbpFfpdYzAzsyKlnc+57jQxZPgsgxODmVmGYmAf6hp5VxK4xmBmNmklNYaipqR0Frd8hvM+OzGYmWXokNtVe2YAUMhw3mcnBjOzDCW3qxY3JU2Dtjbyh5n3Ob9zJ5HP1yUmJwYzswxF/8imJEm09fRQ2Dl6Ynj4BRew+Z8+VZeYnBjMzDISEUmNoXPqiO25nh7yu3ZWPK6wfz/R309u5sy6xOXEYGaWkRgchEJhRI0BoG3G6DWGwo4dAORmzqhLXA1NDJIulrRa0hpJ15bZP1PS9yTdJ2mlpDc2Mj4zs0aK/uH5njtHbM/1zBi1jyF/IDFM8BqDpBzwOeAS4FTg1ZJOLSn218BDEXEGcAHwKUlTGhWjmVkjFQaGp/UsqTH0dI9aYxhODG0zJnhiAM4F1kTEuojYD9wCXFZSJoAeSQK6ga3AUANjNDNrmEgTQ9kawyjPMeR3JP0PE77GACwANhat96bbin0WeCawCXgAeGdEFEpPJOkqScskLevr66tXvGZmdXWwxlCSGGb0UBg1MaRNSbMmfmJQmW1Rsv5iYAVwDHAm8FlJh/SuRMT1EbE0IpbOnz+/1nGamTXEwT6Gkqak7h4Ku3dXfE4hv2M7ALkZE7/zuRdYVLS+kKRmUOyNwLcisQZYD5zSoPjMzBpquMbQVqbGAJUH0ivs3Anp8w710MjEcDdwkqQlaYfy5cCtJWUeBf4YQNKRwDOAdQ2M0cysYQppjaG0KWl4WIxK/Qz57TvIzZiB2urzEd5el7OWERFDkt4O3AHkgBsjYqWkq9P91wEfAW6S9ABJ09M1EfFUo2I0M2ukqFBjaOtJp/eslBh27KCtTh3P0MDEABARtwG3lWy7rmh5E/AnjYzJzCwrhf6087mkjyE3XGPYUf7p5/zOnXW7Iwn85LOZWWYKA2nnc2kfw+xZwMG7j0rld+yoW8czODGYmWUm+ss/4JabPRuA/NYtZY/L79juGoOZWSsq7BvuYxg5iF57mhiGtmwte1x+67YDyaMenBjMzDIS/QOoowO1j+zuVUcHuZkzy9YYCgMDFHbtor2Oz3A5MZiZZSSZpKer7L7c3LkMbd12yPahp5IbNZ0YzMxaUAz00zZ1atl9uTmzyW85tMYwtDkZBqj9iPolhsPerirp2DGea3tEVJ5ZwszMRij0V64xtM+Zy761aw/ZPpSOD9c+b17d4hrLcwxfIhnTqNxYR8MCuAm4uQYxmZlNCoX+/kPGSRqWmzuH/O9/f8j2oafSxFDHpqTDJoaIuLB0m6SjIuKJ+oRkZjY5RP/eQ55hGNY+Zy75HTuIoaERndNDfX2QyzXlXUmvr2kUZmaTUKF/AE2rUGOYMxsiyG/fPmL7UF8f7XPmoFyubnFVmxguk/R2Sc+oaTRmZpNI0pQ0rey+9rlzARgq6YAeeuqpujYjQfWJ4c+BNcDLJN1Qw3jMzCaN6O+v2JTUcdRRAAxuGjk7wdDmvronhqoG0YuIJ4Hb05eZmVWh0N9fsSmpY+FCAAZ7HzuwLSIY3LCBaUuX1jWuqmoMkj4n6aZ02aOhmplVYbSmpNzcuairi8He3gPb8lu2UNi7lynHjvUpgupU25S0n4MT6LywRrGYmU0qhYGBik1JkuhYcAz7HzuYGPZv2ADAlMXH1TWuahPDXmCmpA6gvqnLzKwFxeAgDA7SVqEpCWDKgoUjmpL2b3g02d6kNYatwFrgc8BdtQvHzGxyODCtZ4UH3CDpZxjs7SUigLTGkMvRccwxdY1tXIlB0ixJXwRenm66GahvL4iZWQsanr2trXP0xFDYvfvAswz7N2ygY+EC1NFR19jGlRgiYjvwceBDwO+Ak4Bv1T4sM7PWFv17AUZtSup8xskADKx8KPn6wAN0nnxy3WOr5nbVK4H1EXEHsLzG8ZiZTQqFgfLzPRfrPP0MyOXov2c5U49fwuBjjzHnivoPPFFNYtgGXJ0+9XwfsCIi7q1tWGZmra2wd3i+58qJIdc9nc5TTmHv8nuYsmQJANPOOafusY07MUTExyT9BPgDcCbwfMCJwcxsHApjaEoC6DrrLLZ/4xuovZ22nh6mNqApadx3JUn6MHAZcBHwWET8a82jMjNrcZE2JVUadnvY7Fe9EiLYc9ddzHnDFXUdPG/YuBNDRHwA2Jce+3JJ/1bzqMzMWtxwU5JGaUoCmHrSSRzzT59k9mtezby3vrURoVU3VhJwI/BmYDrw+dqFY2Y2OYy1KQlgxkUXMeOii+od0gHVPuD2NyRJpR1wU5KZ2TiNtSkpC9UmhrVAJ/DdiHh+DeMxM5sUDjQltVBiWAn8FLhS0t01jMfMbFIoDPRDLlf3p5irUW0fwwkkzzNcn341M7NxKOzdS1tXF5KyDuUQ1dYYNkbErSSzuK0a60GSLpa0WtIaSddWKHOBpBWSVkr6eZXxmZk1tcKePbRNn551GGVVW2O4WNIfSEZX3UDSGT0qSbm0/EVAL3C3pFsj4qGiMrNI7nK6OCIelXRElfGZmTW1wp69TZsYqq0xzAKuAd5H8kzDWJwLrImIdRGxH7iF5EG5Yq8BvhURjwJExOYq4zMza2rNXGOoNjF8mOSOpNVAfozHLAA2Fq33ptuKnQzMlnSnpOWSyo4WJekqScskLevr6xtv7GZmmWuJxCDpjOHliOiNiB+ny2X7Csqdosy2KFlvB84G/hR4MfD/STpkYJCIuD4ilkbE0vnz54/x7c3Mmkdhzx7auid4YgDulXS/pPdJWlTFe/UCxcctBDaVKXN7ROyJiKeAXwBnYGbWYgq7d5Ob6DUG4FMkQ2B8HFgv6WeS3jSO4+8GTpK0RNIU4HLg1pIy3wWeJ6ld0jTg2Yzjriczs4miJZqSIuK9EXECyVSeN5AMt339OI4fAt4O3EHyYf/1iFgp6WpJV6dlVgG3A/cDvwduiIgHx/oeZmYTRTMnhjHfrippLvAy4BXAhSR9Bo+O580i4jbgtpJt15WsfxL45HjOa2Y2kcT+/cTg4MRPDMATJDWMbcAXga9ExK/qEpWZWQvL79kDQNu0iZ8Yvg18BfhBRAzWKR4zs5ZX2JMOud3dnXEk5Y05MUTEq+oZiJnZZFHYsxugaZuSqn3AzczMqlQYbkpqlcQg6SX1CMTMbLI4mBimZRxJedXUGD5a8yjMzCaRlqsxUH5oCzMzG6PhxNAKTz4PKx3fyMzMxuFAjaFJ70py57OZWYPld+0CWqspyczMnobCzl20TZuG2qudK62+qkkMT9Y8CjOzSSS/cydtM2dmHUZF404MEXFRPQIxM5ss8rt2kuvpyTqMityUZGbWYIUdO8nNmJF1GBU5MZiZNVh+1y7aWi0xSHpX0fIzaheOmVnry+/c0dQ1hnF1iUuaBfwzcIqkAZIJda4E3lj70MzMWlNhx07aZjRvH8O4EkNEbAfeKOnFwFPA6cC36hCXmVlLiqEhCnv2kJvRvHclVXsT7WBELJe0Cdhcy4DMzFrZ8MNtzdyUVG3n88WSFgLXkTQtmZnZGBSGn3pu4qakahPDLOAa4H3AvppFY2bW4vI7dgK0ZFPSh4FnRMRqSflaBmRm1sryO3cAkGviGkO1ieFvgenAT4Cf1S4cM7PWdrApqfX6GPYD69LlC2sUi5lZy8tvH64xtF5i2AvMlNQBHFvDeMzMWlp+21YAcnPmZBxJZdUmhn8A1gKfA75au3DMzFrb0NZttHV30zZlStahVFRtH8PfRMSnwUNimJmNR37r1qauLUB1Q2J8ATguHRLjPuDNeEgMM7MxyW/bSvvs2VmHMapxD4khqRf4BfA74Aw8JIaZ2ZgNbd1Gx9FHZx3GqKrpY9gCXA28Pl3vHeuBki6WtFrSGknXjlLuHEl5Sa+oIj4zs6aVNCW1UI0BICI+LumnwB+AM4HnAfce7jhJOZLO6otIksndkm6NiIfKlPsEcMd4YzMza2YRwdC2bbS3Uh8DgKQPAzlgBbAiIu4c46HnAmsiYl16nluAy4CHSsq9A/gmcM54YzMza2aFXbtgcJDc7OZODNXM+fwB4DPALuDlkv5tjIcuADYWrfem2w6QtAB4GcngfBVJukrSMknL+vr6xhy7mVmW8luHn2Fosaak1FuB/x0Rt4/jGJXZFiXr/wJcExF5qVzx9KCI64HrAZYuXVp6DjOzpjS0dRtA6zUlpW4E/krSdOCrEbFiDMf0AouK1hcCm0rKLAVuSZPCPOBSSUMR8Z0q4zQzaxr5rVsAWq8pKfU3JEmlnaRZaSzuBk6StETSFOBy4NbiAhGxJCIWR8Ri4D+AtzkpmFmrGEqbvtuPOCLjSEZXbWJYC3QC342I54/lgIgYAt5OcrfRKuDrEbFS0tWSrq4yDjOzCWPwySchl6N93tysQxlVtU1JK0k6kq+U9MmIGNMdRBFxG3BbybayHc0R8YYqYzMza0pDm/tonzcP5XJZhzKqahPDCcA2kg7gbbULx8ysdQ09+WTTNyNB9YlhY0T8VNLRwOZaBmRm1qqGNm+m47jmn6mg2j6GiyUtJHne4J9rGI+ZWcsa3LyZjglQY6g2McwCrgHeB+yrWTRmZi2qMDBAYccO2o84MutQDmvMiUHSGUWrHya5I2k1kK95VGZmLWZoc9Lq3n5kCyUG4F5J90t6H6CI+DFARFQcJdXMzBKDTzwBQMeRrdWU9ClgOvBxYL2kn0l6U33CMjNrLYO9jwHQsXBhxpEc3pgTQ0S8NyJOIBm24gbg+aTjFZmZ2egGe3uhra3pJ+mBcdyuKmkuycinrwAuJBkU79E6xWVm1lIGH+ul/agjUUdH1qEc1nieY3iCpIaxDfgi8JWI+FVdojIzazH7N/YyZUHzNyPB+BLDt4GvAD+IiME6xWNm1pIGe3uZfv75WYcxJodNDJKGH9N7T/r16ApzJWyPiJ21CszMrFUU9u1LnnpeuODwhZvAWGoMX+LghDqVZs8J4Cbg5hrEZGbWUgYfS+5ImjIB7kiCMSSGiLiwEYGYmbWqfWvXAjDl+OMzjmRsqh0Sw8zMxmj/2nUATFnixGBmZsD+9etoP+ooct3Tsw5lTJwYzMzqbN/adUydIM1I4MRgZlZXEcH+desmTP8CODGYmdXV4GObKOzdy9QTT8w6lDFzYjAzq6OBVQ8B0HnqMzOOZOycGMzM6mjfqlWQyzH15JOzDmXMnBjMzOpo4KFVTD1+CW2dnVmHMmZODGZmdTSwahVTnzlxmpHAicHMrG4GH3+coSefpOu0/5Z1KOPixGBmVid7l98DwLSlZ2ccyfg4MZiZ1Un/Pctpmz59QnU8gxODmVnd7F22nK4zz0Tt45n6JntODGZmdZDfsYN9Dz9M19lnZR3KuDkxmJnVQf+KFRDBtLOXZh3KuDU0MUi6WNJqSWskXVtm/2sl3Z++fi3pjEbGZ2ZWK3uXLYf2drpOn1h3JEEDE4OkHPA54BLgVODVkk4tKbYeeEFEnA58BLi+UfGZmdXS3nvuofPUU2nr6so6lHFrZI3hXGBNRKyLiP3ALcBlxQUi4tcRsS1d/S0wMebBMzMrUti3j4H772fa0onXjASNTQwLgI1F673ptkquBH5QboekqyQtk7Ssr6+vhiGamT19A/ffTwwOOjGMgcpsi7IFpQtJEsM15fZHxPURsTQils6fP7+GIZqZPX17ly0DiWkT8I4kgEbeXNsLLCpaXwhsKi0k6XTgBuCSiNjSoNjMzGpm793LmHryyeRmzsw6lKo0ssZwN3CSpCWSpgCXA7cWF5B0LPAt4HUR8YcGxmZmVhMxOMjeFSsmbDMSNLDGEBFDkt4O3AHkgBsjYqWkq9P91wEfAOYCn5cEMBQRE/fqmtmkM7BqFbF374QbH6lYQ5/TjojbgNtKtl1XtPxm4M2NjMnMrJb2LlsOQNfZEzcx+MlnM7Ma6r/3HjqOPZaOI47IOpSqOTGYmdXQwMqH6DrttKzDeFqcGMzMamRo2zYGN22i81mlgzpMLE4MZmY1sm/VKgA6T3ViMDMzYOChhwDonGBzPJdyYjAzq5F9Dz9M+5FHkps1K+tQnhYnBjOzGtm3bj1TTzg+6zCeNicGM7MaiAj2r1/PlMVLsg7laXNiMDOrgaG+Pgq7dzPleNcYzMwM2L/+EQCmLFmcaRy14MRgZlYD+9evA2CqawxmZgawf/161NVF+5FHZh3K0+bEYGZWA/vWrWfKksWobeJ/rE7878DMrMFicJCBhx4i9u8/sG3/+vVMbYE7ksCJwcxsXPb87veseeEfs/7PX07vu95F5PMUBgYYfOyxlrgjCZwYzMzG5fH3vx91dTHniivY/eOfsOO7t7J/w6MQ0RJ3JIETg5nZuAxt2ULPC1/IEddeQ8eiRey87Tb2r1sLtMYdSdDgGdzMzCayyOeJvXtp6+5GEjMuvpgtN95IbuZM1NXFlBNOyDrEmnCNwcxsjAp79gCQ6+kGYMafXgr5PDu//32mnXsObVOmZBlezTgxmJmNUWH3bgDaupPE0HnKKUw77zwAus8/P7O4as2JwcxsjPK70sQwvfvAtnlv+ytys2fT/cIXZhVWzbmPwcxsjAp7RtYYAKafey4n/+bXWYVUF64xmJmN0XBTUq57esaR1JcTg5nZGJX2MbQqJwYzszE60MfQ05NxJPXlxGBmNkYHagzTXWMwMzPSzmeJtmldWYdSV04MZmZjlN+9m7bp01tiaO3RtPZ3Z2ZWQ4Vdu1u+4xkanBgkXSxptaQ1kq4ts1+SPpPuv1/SWY2Mz8xsNIXduw8Mh9HKGpYYJOWAzwGXAKcCr5Z0akmxS4CT0tdVwBcaFZ+Z2eEU9uxu+Y5naOyTz+cCayJiHYCkW4DLgIeKylwG3BwRAfxW0ixJR0fE47UO5v9/zZvIF/K1Pq2ZtbwpcPkVWQcBQK4txzv+/caan7eRTUkLgI1F673ptvGWQdJVkpZJWtbX11fzQM3MJrNG1hhUZltUUYaIuB64HmDp0qWH7B+LemRZM7NW0MgaQy+wqGh9IbCpijJmZlZHjUwMdwMnSVoiaQpwOXBrSZlbgdendyedB+yoR/+CmZlV1rCmpIgYkvR24A4gB9wYESslXZ3uvw64DbgUWAPsBd7YqPjMzCzR0PkYIuI2kg//4m3XFS0H8NeNjMnMzEbyk89mZjaCE4OZmY3gxGBmZiM4MZiZ2QhK+nsnLkl9wIYqD58HPFXDcOrFcdbORIgRHGctTYQYofFxHhcR88vtmPCJ4emQtCwilmYdx+E4ztqZCDGC46yliRAjNFecbkoyM7MRnBjMzGyEyZ4Yrs86gDFynLUzEWIEx1lLEyFGaKI4J3Ufg5mZHWqy1xjMzKyEE4OZmY0waRODpIslrZa0RtK1GcfyiKQHJK2QtCzdNkfSjyQ9nH6dXVT+b9O4V0t6cR3julHSZkkPFm0bd1ySzk6/vzWSPiOp3IRMtY7zg5IeS6/pCkmXZhmnpEWSfiZplaSVkt6Zbm+q6zlKnE1zPSV1Svq9pPvSGD+Ubm+2a1kpzqa5lhVFxKR7kQz7vRY4HpgC3AecmmE8jwDzSrb9L+DadPla4BPp8qlpvFOBJen3katTXM8HzgIefDpxAb8HnkMyQ98PgEsaEOcHgfeUKZtJnMDRwFnpcg/whzSWprqeo8TZNNczPV93utwB/A44rwmvZaU4m+ZaVnpN1hrDucCaiFgXEfuBW4DLMo6p1GXAl9LlLwEvLdp+S0Tsi4j1JHNXnFuPACLiF8DWpxOXpKOBGRHxm0h+w28uOqaecVaSSZwR8XhE3JMu7wJWkcxn3lTXc5Q4K2l4nJHYna52pK+g+a5lpTgryexvqNRkTQwLgI1F672M/stfbwH8UNJySVel246MdPa69OsR6fasYx9vXAvS5dLtjfB2SfenTU3DzQqZxylpMfBHJP9BNu31LIkTmuh6SspJWgFsBn4UEU15LSvECU10LcuZrImhXPtclvftnh8RZwGXAH8t6fmjlG222IdViiureL8AnACcCTwOfCrdnmmckrqBbwL/IyJ2jla0QjxZxdlU1zMi8hFxJsm88OdKOm2U4pldywpxNtW1LGeyJoZeYFHR+kJgU0axEBGb0q+bgW+TNA09mVYhSb9uTotnHft44+pNl0u311VEPJn+URaAf+Ngc1tmcUrqIPmw/WpEfCvd3HTXs1yczXg907i2A3cCF9OE17JcnM16LYtN1sRwN3CSpCWSpgCXA7dmEYik6ZJ6hpeBPwEeTOO5Ii12BfDddPlW4HJJUyUtAU4i6ZhqlHHFlVbpd0k6L72T4vVFx9TN8AdE6mUk1zSzONNz/h9gVUR8umhXU13PSnE20/WUNF/SrHS5C3gR8F8037UsG2czXcuK6tmz3cwv4FKSOy7WAn+fYRzHk9yJcB+wcjgWYC7wE+Dh9OucomP+Po17NXW8OwH4GklVd5Dkv5Yrq4kLWEryy78W+CzpE/d1jvPLwAPA/SR/cEdnGSfwXJLq//3AivR1abNdz1HibJrrCZwO3JvG8iDwgWr/Zup8LSvF2TTXstLLQ2KYmdkIk7UpyczMKnBiMDOzEZwYzMxsBCcGMzMbwYnBzMxGcGIwKyJplqS3Fa0fI+k/6vReL5X0gQr7dqdf50u6vR7vb1aJE4PZSLOAA4khIjZFxCvq9F7vAz4/WoGI6AMel3R+nWIwO4QTg9lIHwdOSMfJ/6SkxUrneZD0BknfkfQ9SeslvV3SuyTdK+m3kuak5U6QdHs6KOIvJZ1S+iaSTgb2RcRT6foSSb+RdLekj5QU/w7w2rp+12ZFnBjMRroWWBsRZ0bEe8vsPw14Dcn4Nh8F9kbEHwG/IRmqAJJJ3d8REWcD76F8reB84J6i9X8FvhAR5wBPlJRdBjyvyu/HbNzasw7AbIL5WSTzFOyStAP4Xrr9AeD0dFTS/w58o2iSrallznM00Fe0fj7w8nT5y8AnivZtBo6pTfhmh+fEYDY++4qWC0XrBZK/pzZgeyRDLY+mH5hZsq3S+DSdaXmzhnBTktlIu0imtKxKJHMXrJf0SkhGK5V0Rpmiq4ATi9bvIhnlFw7tTziZgyNwmtWdE4NZkYjYAtwl6UFJn6zyNK8FrpQ0PGJuuWljfwH8kQ62N72TZJKmuzm0JnEh8P0qYzEbN4+uapYRSf8KfC8ifnyYcr8ALouIbY2JzCY71xjMsvM/gWmjFZA0H/i0k4I1kmsMZmY2gmsMZmY2ghODmZmN4MRgZmYjODGYmdkITgxmZjbC/wWUDs+mQLA8xQAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaYAAAElCAYAAACvVUZ1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABYEklEQVR4nO2deZicVZX/P6eW7uo1nc6+J4SwBIQAAUEERUCWQYI/RcAFUBRRGXXGDXRchtERx3EZBhSBYR0VcSWMKPu+BwiBACEhZF+60/veXVXn98e9VV1dqequqt4q5Hyep5563/vee9/zvknqm3PvueeKqmIYhmEYxUJgvA0wDMMwjFRMmAzDMIyiwoTJMAzDKCpMmAzDMIyiwoTJMAzDKCpMmAzDMIyiwoTJKEpE5Hsi8r/+eK6ItItIcLztGgwROU5E1ozxPVVE9h1mH6tF5L0jY9FufWf9cxSRaSLyqIi0ichPxHGTiDSJyLOjYY+xZ2DCZIwKIrJBRE5KK7tQRB7Pty9V3aSqlaoaGzkL8yMXAVDVx1R1/7GyaaRQ1YNU9WEYKCSjcJ/0P8eLgV1Atap+BXg3cDIwW1WPGg0bjD0DEybDGAFEJDTeNuyBzANe1f5V/vOADarakW9H9v7fXpgwGeOGiMwUkT+KSL2IvCUiX8xSb773WEIp7ZaLSKOIrBORz6TUDYrIN0XkTT9E9LyIzPHXDhCR+3y7NSLykZR2N4vINSLyV9/uGRFZ6K896qu95IeizhGR94rIFhH5hojsAG5KlKX0OUdE/uSfr0FErs7yDrpEpDal7DAR2SUiYX/+KRF5zQ9x3SMi87K8pwkicqu/30YR+RcRCaRc/4zvp01EXhWRw335BhE5SUROBb4JnOOf8yUROVtEnk+7z1dE5C9ZbFggIo/4e9wHTM705ygiNwMXAF/39/oscANwjD//V9/mDBFZKSLNIvKkiByS0t8G//5XAR2+36N9vWZv/3tT6j8sIv8mIk94++4VkVT73p3SdrOIXOjLS0XkP0Vkk4jsFJFrRaTMX5ssIv/n2zSKyGOp79woEFW1j31G/ANsAE5KK7sQeNwfB4Dnge8AJcA+wHrgFH/9e8D/+uP5gAIhf/4I8AsgAiwB6oET/bWvAS8D+wMCHApMAiqAzcAngRBwOG4Y6SDf7magETjKX/81cHuK7Qrsm3L+XiAK/AgoBcp82RZ/PQi8BPzM3zsCvDvLu3oQ+EzK+Y+Ba/3xWcA64EBv178AT2ayC7gVuBOo8u/sDeAif+1sYCtwpH8v+wLz0v+sUt+7Py/17+XAlLIXgQ9leZangJ/6dscDbYP8Od4MfD/T3w9/fjhQB7zTv88LvK2lKXavBOb49z8LaABOx/39OtmfT/H1HwbeBPbz9R8GrvTX5npbzwPCuL8zS/y1nwPLgVr/bu8Cfuiv/RC41rcJA8cBMt7//vb0z7gbYJ+358f/aLQDzSmfTvqF6Z3AprQ2lwM3+ePkD2TqD5r/EYoBVSntfgjc7I/XAMsy2HMO8Fha2a+A7/rjm4EbUq6dDryecp5JmHqBSFpZQpiOwQlmKId39WngQX8sOAE93p//DS8u/jzg3+O8VLtwP9w9wOKUup8FHvbH9wBfGuTPKqMw+bJfAj/wxwcBTXhxSKs3FyfWFSllv8n055jyzgcTpl8C/5Z2jzXAe1Ls/lTKtW8At6XVvwe4wB8/DPxLyrXPA39P+bv35wzPJEAHsDCl7BjgLX98Be4/A/umt7VP4R9zOY3R5CxVrUl8cD8ECeYBM/0QSLOINOOGkaYN0edMoFFV21LKNuL+twxOuN7M0G4e8M60+30MmJ5SZ0fKcSdQOYQt9araneXaHGCjqkaH6APgD7ghrJk4L0OBx1Ls/q8UmxtxP5az0vqYjPM8N6aU5fJecuEW4KMiIsAngDtUtSdDvZlAkw6cI9qYoV6uzAO+kvZnNsffJ8HmtPpnp9V/NzAjpU62P+Ns72cKUA48n9Ln3305OO92HXCviKwXkcvyf0wjHZswNMaLzbj/dS7Ks902oFZEqlLEaS5umCrR70LglQz3e0RVTy7U4AwMlpp/MzBXREJDiZOqNovIvcBHcEN2v1X/33Hfzw9U9ddD2LIL6MMHFPiyTO9lKHZ7JlV9WkR6ccNUH/WfTGwHJopIRYo4zc3UZ44knv0HOdq7GecxfSZb5SHulSkScBfQhRvy3Zp+0f8d/ApOQA8CHhKR51T1gQJsMDzmMRnjxbNAq5+8LhMXtHCwiBw5WCNV3Qw8CfxQRCJ+Mvwi3JwQuAn0fxORReI4REQmAf8H7CcinxCRsP8cKSIH5mjvTtw8WD7Ptx24UkQqvK3HDlL/N8D5wIf8cYJrgcv9j14iwOHs9MbqQrDvAH4gIlXiAiT+GUiEft8AfFVEjvDvZV/JHESxE5ifYQL/VuBqIKqqGUP+VXUjsAL4VxEpEZF3Ax8Y5JmH4nrgEhF5p7e5QkT+QUSqstT/X+ADInKK//sUEReQMjuHe/0aOElEPuKDKCaJyBJVjXs7fiYiUwFEZJaInOKPz/DvUoBW3DDzuC1reLtgwmSMC/6H9AO44IW3cP8zvQGYkEPz83DzFduAP+Pmie7z136K+4G+F/dD8T9Amf+f7fuBc327HfQHLuTC94Bb/HDOR4aqnPJ8+wKbgC24ea5sLAcWATtV9aWUfv7s7bxdRFpxnuBpWfr4R9x8yHrgcZzA3ej7+T3wA1/WBvwFN5mfzu/9d4OIvJBSfhtwsP8ejI/i5g8bge/iBK0gVHUF8BmcIDbhhswuHKT+ZmAZbki4HucFfY0cfudUdRNuXvEr3vaVuMAZcHNX64Cn/Z/B/bjgGnB/Zvfj5lOfAn6hfk2YUTjSP2JgGIaRGR8eXQccrqprx9se4+2NeUyGYeTC54DnTJSMscCCHwzDGBQR2YCLBDxrfC0x9hZsKM8wDMMoKmwozzAMwygqTJgM422MiHzMr5Eaqt6oZRUvBHG5C78/3nYY44MJk2F4pH+/oMRHRaQj5fy4AvrcbfuPtOvvFZG4779NXHLZTxZo/4BktwCq+mtVfX8h/RnGeGHBD4bh8WtZkmmIRESBQ1V13SjfepuqzvaLNJcBfxCRZ1T11aEaJhDb9sF4G2Eek2HkgBSw9YGI3IZLyXOX94i+Ptg91PEX3GLSxT7LwYsi0ipuG4bvpdiT8I4uEpFNuAzlie05mv39jpG0zRlF5CDp3/pjp4h8M8vzDrZ9xIXi8sK1iduu5GODvLOfi8g2//m5iJT6a4ltQ74iInUisj2bpygir4jIB1LOw+K2BVky2Ps09lxMmAwjN36E2y5hCS6bwyzclh3gsgVswSX2nIbLPKCq+glc1ocPqNu59T8Gu4EXsw8CNbitOzpwaYpqgH8APiciZ6U1ew8uv94puASwADX+fk+l9V+Fy1Lwd1wi1H2B3XK6icgs4K/A93HZIb4K/FFEpohIBXAVcJqqVgHvwmVJyMS3gKNx7+xQXC66f0m5Ph2X6WMWLq3UNSIyMUM/twIfTzk/Hdiuqtnua+zhmDAZxhD4IbbPAP+kqonM5v+OS28ELnnqDNxWFH3qtljPZx3GTHFZq3fh0vh8QlXXqOrDqvqyqsZVdRXwW5wQpfI9Ve1Q1a4c7nMGsENVf6Kq3arapqrPZKj3ceBuVb3b3/s+XA680/31OHCwiJSp6nZVXZ3lfh8DrlDVOlWtB/4Vl508QZ+/3qeqd+PS+mTamv5/gdNFpNqff4KhUyMZezAmTIYxNKO99cE2vzVIraouUdXbAcQlL31I3I60LcAlpOwI69m8W2/ZyXXri6zbR/is4ed4W7aL2/H3gCz9zGT3bThSt6xoSMu8nnGrEVXdBjwBfEhEanC5AofKtm7swZgwGcbQpG59kNhfaoKqVoLb+kBVv6Kq++ASt/6ziJzo2w5nBftvcMld56jqBFymcUmro1mOM5Hr1heJ7SNqUj4VqnolgKre47cPmQG8jsu+nYltOJFLMNeXFcItOE/ubOCpTFtQGG8fTJgMYwiGufVBvttlpFKF2xSxW0SOIvs+SAnqccNs2e73f8B0EfmyD0yoEpF3ZqiXdfsIEZkmImf6uaYe3PBbtm0efgv8i5+bmoybkyt0rdRfcFutf4lhZCw39gxMmAwjNwrd+uCHuB/nZhH5ap73/DxwhYi04X7U7xissqp24ra2eMLf7+i0623AyTivbgewFjghQz+DbR8RwAV7bMNtD/EeBu5MnMr3cXNTq3DBHC/4srzxc2h/BBYAfyqkD2PPwXLlGYaxRyAi3wH2U9WPD1nZ2KOxRXmGYRQ9IlKLCyn/xFB1jT0fG8ozDKOoEZHP4IYT/6aqjw5V39jzsaE8wzAMo6gwj8kwDMMoKmyOaZhMnjxZ58+fP95mGIZh7FE8//zzu1R1SqZrYypMInIq8F9AELghsWAv5br466fjVoFfqKovDNbWT4r+DpgPbAA+oqpNIjIJ+ANwJHCzql7q61cBj6Xcdjbwv6r6ZRG5ELeKP7F472pVvWGwZ5o/fz4rVqzI/2UYhmHsxYjIxmzXxmwoT0SCwDW4dCKLgfNEZHFatdNwa0IWARcDv8yh7WXAA6q6CJeQMpEOphv4Ni4BZRK/Sn9J4oNLk5K6LuJ3KdcHFSXDMAxj5BnLOaajgHWqul5Ve4HbcYv4UlkG3OrT/z8N1IjIjCHaLsOlK8F/nwXgE1s+jhOojIjIImAqAz0owzAMYxwZS2GaxcCEk1t8WS51Bms7TVW3A/jvqXnYdB7OQ0oNTfyQiKwSkT+IyJw8+jIMwzBGgLEUpvTkk7B70slsdXJpWwjn4vJ5JbgLmK+qh+BSzNySqZGIXCwiK0RkRX19/QiYYRiGYSQYS2Hagku7n2A2u2cazlZnsLY7/XAf/rsuF2NE5FAgpKrPJ8pUtUFVe/zp9cARmdqq6nWqulRVl06ZkjGoxDAMwyiQsRSm54BFIrJAREpw3srytDrLgfPFcTTQ4ofnBmu7HLjAH18A3JmjPecx0FtKCFuCM4HXcuzLMAzDGCHGLFxcVaMicilwDy7k+0ZVXS0il/jr1wJ340LF1+HCxT85WFvf9ZXAHSJyEW4b67MT9xSRDUA1UOK3pH6/qr7qL3+E/h05E3xRRM4EorjMyReO2AswDMMwcsJSEg2TpUuXqq1jMgxjT2bDyueZOHMWE6ZOH7N7isjzqro00zXL/GAYhrGX88cffheRAP98e/rsyvhgufIMwzAM3EbNxYEJk2EYhlFUmDAZhmEYRYUJk2EYhlFUmDAZhmHsxRRjZLYJk2EYxl6Mxosn6CGBCZNhGMZeTNyEyTAMwygmNBYbbxN2w4TJMAxjL8Y8JsMwDKOoiMfNYzIMwzCKCAt+MAzDMIqKeMocU7GEjpswGYZh7MWkekzxWHQcLenHhMkwDGMvJtVjivb2jqMl/ZgwGYZh7MWkekwmTIZhGMa4kxqVZ8JkGIZhjDvmMRmGYRhFxcA5pp5xtKQfEybDMIy9mNTMD9G+vnG0pJ8xFSYROVVE1ojIOhG5LMN1EZGr/PVVInL4UG1FpFZE7hORtf57oi+fJCIPiUi7iFyddp+HfV8r/WeqLy8Vkd/5ezwjIvNH7WUYhmEUAbo3e0wiEgSuAU4DFgPnicjitGqnAYv852Lglzm0vQx4QFUXAQ/4c4Bu4NvAV7OY9DFVXeI/db7sIqBJVfcFfgb8aBiPbBiGUfTE9/I5pqOAdaq6XlV7gduBZWl1lgG3quNpoEZEZgzRdhlwiz++BTgLQFU7VPVxnEDlSmpffwBOFBHJ5yENwzD2JPb2qLxZwOaU8y2+LJc6g7WdpqrbAfz31BztuckP4307RXyS91HVKNACTMqxP8MwjD2O1Ki8WN/eJ0yZPI/0xEzZ6uTSNh8+pqrvAI7zn08Mcf8BiMjFIrJCRFbU19cPwwzDMIzxZW/P/LAFmJNyPhvYlmOdwdru9MN9+O86hkBVt/rvNuA3uKHCAfcXkRAwAWjM0P46VV2qqkunTJky1O0MwzCKloHrmPay4AfgOWCRiCwQkRLgXGB5Wp3lwPk+Ou9ooMUPzw3WdjlwgT++ALhzMCNEJCQik/1xGDgDeCVDXx8GHtRiSbdrGIYxCgyYYyqScPHQWN1IVaMicilwDxAEblTV1SJyib9+LXA3cDqwDugEPjlYW9/1lcAdInIRsAk4O3FPEdkAVAMlInIW8H5gI3CPF6UgcD9wvW/yP8BtIrIO5ymdOwqvwjAMo2goxswPYyZMAKp6N058UsuuTTlW4Au5tvXlDcCJWdrMz2LKEVnqd5MibIZhGG93Bu7HVBybBlrmB8MwjL2YVI+pWHazNWEyDMPYi0n1mFKPxxMTJsMwjL2YgTvYmjAZhmEY40zchvIMwzCMYiI1XDz1eDwxYTIMw9iL0ZgN5RmGYRhFRGIoTwIBG8ozDMMwxp+ElxQKlxCPmTAZhmEY40zCSwqGwzbHZBiGYYw/CTEKhsM2lGcYhmGMP0mPKRS24AfDMAxj/EmIUTBswmQYhmEUAQmPKRQK2RyTYRiGMf4kxCgQsjkmwzAMowjQeJxAMEggELChPMMwDGP8icdiSCCABIOoDeUZhmEY4008HicQCBIIBgYkdB1PTJgMwzD2UPp6e3j9iUdwm38XhnqPyQ3lmTAZhmEYw+DNFc/w16t+TPPO7QX3EfdzTBIIojbHZBiGYQyHvu5uAKI9PQX3oXHvMQWDe+dQnoicKiJrRGSdiFyW4bqIyFX++ioROXyotiJSKyL3icha/z3Rl08SkYdEpF1Erk6pXy4ifxWR10VktYhcmXLtQhGpF5GV/vPp0XsbhmEYwyPW1wcMb7uKfo8psPetYxKRIHANcBqwGDhPRBanVTsNWOQ/FwO/zKHtZcADqroIeMCfA3QD3wa+msGc/1TVA4DDgGNF5LSUa79T1SX+c8NwntkwDGM0ifb1AhCL9hXcRzw5x7R3DuUdBaxT1fWq2gvcDixLq7MMuFUdTwM1IjJjiLbLgFv88S3AWQCq2qGqj+MEKomqdqrqQ/64F3gBmD2yj2oYhjH6JDymWDRacB+ajMrbO4fyZgGbU863+LJc6gzWdpqqbgfw31NzNUhEaoAP4DytBB/yw4h/EJE5ufZlGIYx1kRHQJjisRiBQMBvFLj3eUySoSw9xjFbnVza5meMSAj4LXCVqq73xXcB81X1EOB++j2x9LYXi8gKEVlRX18/HDMMwzAKJjGEF48Nz2OSoPeY9sKhvC1AqgcyG9iWY53B2u70w33477oc7bkOWKuqP08UqGqDqibCW64HjsjUUFWvU9Wlqrp0ypQpOd7OMAxjZBmJobx43HlMgcDeOZT3HLBIRBaISAlwLrA8rc5y4HwfnXc00OKH5wZruxy4wB9fANw5lCEi8n1gAvDltPIZKadnAq/l8XyGYRhjSswHP8SHPccUIBAMFE3wQ2isbqSqURG5FLgHCAI3qupqEbnEX78WuBs4HVgHdAKfHKyt7/pK4A4RuQjYBJyduKeIbACqgRIROQt4P9AKfAt4HXhBRACu9hF4XxSRM4Eo0AhcOCovwzAMYwRIzDENR5hcVF4iXLw4PKYxEyYAVb0bJz6pZdemHCvwhVzb+vIG4MQsbeZnMSXTnBWqejlweZY2hmEYRcWIReUF9+IFtoZhGMbIMTJzTPGiW8c0pMckInNz7KtZVVuHaY9hGIaRIyMTlRfrz/ywpwgTLmQ6W8h2AgVuBm4dAZsMwzCMHIj2JjI/DGeOKZ7MlVcsO9gOKUyqekJ6mYhMV9Udo2OSYRiGkQsJj2m4Q3mhcNjPMRWHx1ToHNP5I2qFYRiGkTexEYjKS+zHtKcN5WVimYh0Avep6pqRNMgwDMPIjWS4+DDmmBLZxQOBIOAzQQTGNy6u0Lv/P9xaow+KiGXgNgzDGAdGKvNDYo4pcT7eFOQxqepO4O/+YxiGYYwDIzHHlMgunvCS4rEYwVB4ROwrlII8JhG5RkRu9sfvH1GLDMMwjJxIROUNaygvlsiV5+QgEZnXFe0avoEFUuhQXi+QyMj9vhGyxTAMw8iDkfKYBgzlxeI8sOkBjvr1UbzR9MaI2JkvhQpTJzBBRMJArgtwDcMwjBEk1jsSufKiBEKh/qG8eIwntj4BwF/X/3X4RhZAocLUCLyJ2+78iZEzxzAMw8gFVSU6Ah5TLOYyPyQ8Jo3Hae9rB+DRLY8O39ACyEuYRKRGRG4CPuSLbgWWjrhVhmEYxqDEYzFQt1/qcNcxuZREiaG8GBtaNgCwrnkdDV0Nw7Y1X/KKylPVZhG5EpgP7AIOAf40CnYZhmEYg5DYiwkgNozgB+cxhZLBD9FoHxtaNzCjYgbbO7ZT31XPpLJJw7Y3HwoZyrsI2EdVn1fVm1T1rpE2yjAMwxicxOJaGGbwQyxGMGUor76jjq5oF0dOP9Kdd9YPz9ACKESYmoBLROTnIvJJETlspI0yDMMwBicRkQfDG8qLxaJIMIh4YdrSugWApdPcLM2url3DsLIw8l5gq6o/FJEHgDeAJcDxwIsjbJdhGIYxCImIPBhm5oeo95j8UF5rdzMA+03cD9hDhElErsBtb74SWKmqD4+wTYZhGMYQjJTHFI/HCIRCyVx57T0uIm9q+VSqwlXUd+0BQ3mq+h2gx7f9kIhcP+JWGYZhGIOSyPoAhQc/xOMusi8Q6B/Ka+92+71Wl1YzuXzyuHhMha5juhE4EJgE/GLkzDEMwzByIeExhUpLC/aY4jGXfiiQMpTX3tNGWaiM0mApk8v2LGH6Im4YMAT818iZYxiGYeRCIrN4SaSs4DmmRI69AcLU20Z1STUAk8sm7zFReeCyPkSAO1X1+FwbicipIrJGRNaJyGUZrouIXOWvrxKRw4dqKyK1InKfiKz13xN9+SQReUhE2kXk6rT7HCEiL/u+rhIR8eWlIvI7X/6MiMzP+80YhmGMAQlhCkcihQtT1G1xEQiGkkN5HT3tTCidALDHeUyrgQeBi0TkuVwaiEgQl8LoNGAxcJ6ILE6rdhqwyH8uBn6ZQ9vLgAdUdRHwgD8H6Aa+DXw1gzm/9P0n7nWqL78IaFLVfYGfAT/K5dkMwzDGmrjPAh4ujRScXTyx91Ig1O8xdfR0JIWpNlJLd6x7zDONFypMC3HDeNcBn8yxzVHAOlVdr6q9wO3AsrQ6y4Bb1fE0UCMiM4Zouwy4xR/fApwFoKodqvo4TqCS+P6qVfUpVVVcWqWzMvT1B+DEhDdlGIZRTCQCHsKlpcPwmPxQXkrwQ1dvBxNKnDDVlNYA0NLTMkxr86NQYdqsqstxu9i+lmObWcDmlPMtviyXOoO1naaq2wH899Qc7NiSpa/kfVQ1CrTgAjwGICIXi8gKEVlRXz/246+GYRiJYbjwcIIfBnhMTpg6e/s9pomlEwFo6m4arrl5UagwnSois4FrcUNeuZDJ89Ac6+TSNlcG6yun+6jqdaq6VFWXTpkypUAzDMMwCicxfBcqjRQeLp6YYwr0D+V19nZSXeqCHxIC1dzTPExr86NQYaoBvgF8HbemKRe2AHNSzmcD23KsM1jbnX54LjFMV5eDHbOz9JW8j4iEgAm4LT4MwzCKings4TFFCvaYEoIWCPUHP8Rj0T12KO8KXETeGiCWY5vngEUiskBESoBzgeVpdZYD5/vovKOBFj88N1jb5cAF/vgC4M7BjPD9tYnI0X7+6PyUNql9fRh40M9DGYZhFBWJeaVwaSnxWIxCfqrUi1tqEldRSXpKNZEaAJp6xnYoL+eURCJyqKq+BKCqW/DzNKq6W9h3JlQ1KiKXAvfgUhrdqKqrReQSf/1a4G7gdNzcVSc+sCJbW9/1lcAdInIRsAk4O8XmDUA1UCIiZwHvV9VXgc8BNwNlwN/8B+B/gNtEZB3OUzo31/djGIYxlqR6TO48SjAUzquPmO9DUtYxifYP4Y3XUF4+ufJeFJFXgP8Ffquqm4dqkI6q3o0Tn9Sya1OOFfhCrm19eQNwYpY287OUrwAOzlDeTYqwGYZhFCvxlKg8cB5UvsKU6CMYDCU3CgyoJIfywoEwleHKoh7K+wlQgfNQ3vKLVz81OmYZhmEYg5GYVwqlCFPefSRSEgUCKUN5/Z4SuOOiDX5Q1a+p6kLcVuo34La7uG60DDMMwzCyE0sfyitImPqDHwLB3YfywAVANPutMMaKfOaYJgEfxAUFnIALrd40SnYZhmEYg9A/lOeEqTCPKZGSKIj4OaZASvADuACIohUmYAfOw2oCbgL+12dWMAzDMMaYhKiESkrc+TCFKRh0chAmRCQYSdapKa1hQ8uGYVqbH/kI059xgQ9/U9W+oSobhmEYo0c8FnOCEnI/44V5TIns4iGCYRc4UREoIzUTW01pzZgHP+QsTKr6kdE0xDAMw8gdJ0yhZCReIYlcUz2mgBe4cokMqFNTWkN7Xzt9sT7Cwfyi/gql0AW2hmEYxjgSj0a9oLhouuHOMSU8r4iUDqiTzP7QO3ZeU97CJCIfGA1DDMMwjNyJxWIEQqHk3NDwhClEIBBEBcqyCNNYBkAU4jH9YMStMAzDMPIiHou6VEIjNJQHEAsopVIyoE4iQm8s0xIVIky2P5FhGMY4E48m5pgK95gSbRLCFA8opTpwHmlixG19MZYBEIUIkyU1NQzDGGfisSiBUP8Gf4WEi2u832PqifUQE6WEgcKUHMobw+wPFvxgGIaxBxKLxWiLtvOZBy5259H8V/HEov3C1NrTSiyghAkOqDMeiVxNmAzDMPZAWjobaehppCXaBvTPF+VDwmMKhkK09LQQDyhhHShMZaEyIsFI0Qc/7BxxKwzDMIy8aO1uJR5Q4gE3uzKsOaZAkJbeFmIBJRjfXRbGOpFr3sKkqiePhiGGYRhG7nT3dqIBYWrlNKCwobxkVF4omPSYQrp7fNtYZ3+woTzDMIw9kO7eLkLBMPtO2g9wUXr5khSmQEKYIBDPLEzFHi5uGIZhjDO9fT2UhEvZp3Yh4DyofInHYogEkECA1l4X/BCI715vYmRicQ/lAYjIP6cc7z9y5hiGYbz9aW9s4L7rrmbVA/cU3EdvtIfSkgizJswBoKUzf48mHo8lUxq19LSgAdDo7spUG6mloauhYFvzJS9hEpEaEbkJOFtEPi8i7wYuGx3TDMMw3p489pubWfXA31l5718Lat/W24bGYpSWlDG9agYArd35zwHFo1ECgX5hklAoYwaJSWWTaO9rpyfWU5C9+ZLPtheoajPwSRE5BdgFHAL8aRTsMgzDeNvS1dYKQChcWLbube3bCMSFspLypDC1dbXm3U88luIx9bYQCoWI9e0eRDHp5T8D0NDVwMzKmQXZnA+FzjH1qerzwN+Bu3NtJCKnisgaEVknIrt5WuK4yl9fJSKHD9VWRGpF5D4RWeu/J6Zcu9zXX+PFFBGpEpGVKZ9dIvJzf+1CEalPufbpgt6OYRjGICQi6KIZRCAXGroaEIVIuIxpldOJo7R3t+XdTzwWG+AxhULhjGHnk7a86O7bvr0ge/OlUGE6VURmA9cCP8ulgYgEgWuA04DFwHkisjit2mnAIv+5GPhlDm0vAx5Q1UXAA/4cf/1c4CDgVOAXIhJU1TZVXZL4ABsZ6PX9LuX6DTm/EcMwjByJ9rkf/0zeSS40dDcQiAuRkjIioQgagI6ChCma3IeppaeFUElJxrDzST56r2HnSwXZmy+FClMN8A3g60Cug45HAetUdb2q9gK3A8vS6iwDblXH00CNiMwYou0y4BZ/fAtwVkr57arao6pvAet8P0lEZBEwFXgsx2cwDMMYNnH/4x/r6y2ofUNXAwEVIiXlAGhQ6OzpyN+OWDyZwLW1t5VwqDSzx1Q22d237pWC7M2XQoXpCuAvqroGyDV4fhawOeV8iy/Lpc5gbaep6nYA/z01j/udh/OQUhPTfsgPI/5BROZkehARuVhEVojIivr6+kxVDMMwspLwlIbjMQVVKAm73WYlECgwXDyaFKaWnhZKSkozzzFVuEW8DU1vFmRvvhQqTJcDn/DHD+XYJtN2GemZyrPVyaVtIfc7F/htyvldwHxVPQS4n35PbGAnqtep6lJVXTplypQhzDAMwxhI1Hslhc4xNXY3EtQAQR+4IKFgQcIU89uz98X7aO9rp6QkktFjKo1FqYzHaewcm/+IFypMvcB6f3xCjm22AKkeyGxgW451Bmu70w/34b/rcrmfiBwKhHwQBwCq2qCqiaHJ64Ejcnw2wzCMnOkfyis8+CGoQsDvXhsMhejr66U3lt/QoMZiBIPBZILWstKKzDbFepgUi9GghdmbL4UKUycwQUTCwNwc2zwHLBKRBSJSgvNWlqfVWQ6c76PzjgZa/PDcYG2XAxf44wuAO1PKzxWRUhFZgAuoeDblXucx0FtKCFuCM4HXcnw2wzCMnEn8+EcLnWPqdnNMCY8pFAoTiAt1nXVDtEyzIxZFgkEauxsBJ0zxWBSNpy2yjXYzKRajfoyEKa91TCl8Fxc1dw3w61waqGpURC4F7gGCwI2qulpELvHXr8WFnp+OC1ToBD45WFvf9ZXAHSJyEbAJONu3WS0idwCvAlHgC6qaOh/2EX+vVL4oImf6+o3Ahbm9DsMwjNxJDOVpPO5CtoPBIVoMpLGrEYmXI4GEMJUQUKjrrGN21eyc+4l7j6mh22V1qIhUAm6ILxRI8VuivUyLxni5JEO+olGgUGH6oqr+FPJLSaSqd5O27skLUuJYgS/k2taXNwAnZmnzA+AHWa7tk6Hsctz8mWEYxqgRTwnJjvX15SVMcY3T2O2EKbGteklJKYEeYWdnfrsSxWOxAR5TZaQqadOAxb+xHqZHlftFiWucgIxumtVCUhL9FviwT0l0LJaSyDAMIy9ifX2ESkoBiOa5XUVrTyvReBRUk4JWEo4QUGFnR77CFCUYDNHY5YWpzO1Wu9tapmgv02JR+oSkiI0meQmTT0m0BbgNeBrYD0tJZBiGkTOqSiwapaSsDIBYb37zTG5+yR0ngh/C4RLCGszfY4q6YcTG7kZCEqKi1A/lpQtTrIfpfluNfMWvEArxxxqAS4Dz/fmWkTPHMAzj7U0iHLu0vNyf5+cxNXY3JvdMSnhMwVCYiJTkLUzR3l5CJSU0djdSG6klVFICuOSuSeJxiEeZ7st2dO7I6x6FkPcck6peKSIPAm8AS4DjgBdH2C7DMIy3JYn5pZIyJ0zR3vyEyWV9cMeJOaZgKEQJ4QKEqYdQSSmNra8zsbQ62d+A9VU+o/j0mLvpjo4iFCYRuQIXGbcSWKmqD4+wTYZhGG9bEj/6hXpMDd0NSJrHFAgGCRPKO1y8r7eHcGkpTZuepDZYSnC6C3gY4DFFnTDVhispiSs7xyCRa95Dear6HeAqoA2Xvuf6EbfKMAzjbUoszWPKd5FtQ1cDIf/T3b/ANkxIA9R31hOL577FemIoryEYpLang6CPxBtgk1+0K5FqpsWibG/fmpe9hVBouPhngV+p6t9H0hjDMIy3OwlvJDmUl+ci28buRiaGawCSeykFQiFCGiSmMRq6G5haPnWQHvqJ9vYSDJfQEA8wKRZLZhofkJYo2u2+S6uZ07eTTW2bM/Q0shQajH4j8DkR+bGILBlBewzDMN7WJIbyhuMx1Za4beeCKSmJAn7ta67DeapKtLeHmETpDgSYFo0RSgpTik1RL5yl1cyNRtnUtpmBea9HnkKF6Ys4byuEG9YzDMMwciCWNseUbyLXhu4GJobdeqP+OaYQ4oUp13DuROqhbu0CYFo0SiDqEsEO8JgS26lHqpnf10d7tDOZKWK0KFSY3gQiwJ2qevwI2mMYhvG2ZrhzTI3djdSkCVMwFIK4j5rLMZw76tdPdcbdPk7TYjGC3bt2t8kHP1BazVy/weGm1k152ZwvhQrTauBB4CIReW4E7TEMw3hbE0ubY8pns0BVpaGrgQlBlzookT0iGApBLE44EM55KC8hTB0JYYrGCHlh6utN2f81kbE8Us08L0wbWzfmbHMhFBr8sBBoAq7z34ZhGEYODGcor6Ovg+5YN9XBStohuSA2EAoRi0aZWj4157VMUS8+rfEORJXJsRjd3W6/pb7urpSKCY+pipnRKCEJFq0wbVbVB9P2PzIMwzCGYPehvNw9pvouJxwTAgOFKRgKEevrY1r5tJznmPp6EsLUxuRYjDAQj7UD0NuVIkyx/uCHELCgfBpvNL2Rs82FUOhQ3qkiMhu4FvjZCNpjGIbxtiKucZ7Z/gxxddEJyZREBcwx1fsdZKukAugfyguVlKIaZ3pkKts7clsAmxjKa461My3m1j6FcWUDhCnFYwI4sHwWrza8OqqReYUKUw3wDeDrQM/gVQ3DMPZe/vbW3/j0vZ/mmpXXAP1CVFLAUF7CY6oMuASwCWEqiUQAmF06g+0d2+mLDd1nYiivId7KVJ+gNRDrJlRaSl9Pd0pFfxxxAReLy6fT0N2QtGU0yFmY/FbkCa7AReStAXJfZmwYhrGX8cCmBwC48eUbXWYGL0RhLyb5pCRKeEzluLbhUu8xlbrzGSXTiGucrTlkZ0h4TDtjrcxOhIdHuymJlNHb1dlfMWUoD+DAyGQAXmsYvQ2+8/GYXhSRVSLydUBU9X4AVbX9mAzDMDLQFe3i8a2Pc/Ckg4lqlJX1K5NDecFQmFC4JCkQuVDXVUdZqIyA15HEHFNC5KaXONHYnEN2hmS4uPQmw8Dp6/TClH0o74BwLQEJsGrXqpztzpd8hOknQAVuK/O3ROQhEfnU6JhlGIax5/Naw2t0Rbu46B0XEQqEeGXXK0kPKRQOEwyH8/KYdnXuYnLZ5KTXlRCmxFDe5FAtAJvahl5nlAgJjwWVOX1R5xH1dRMuKxs4lJcMF3dDeeWqHDzpYJ7e/nTOdudLzsKkql9T1YXAUuAG4HhcuLhhGIaRgYTnsmjiIvafuD+rd61OikowIUx5bHtR11XHlLIpyYi6UNh7TH4or1xLKQuVsaUtZZu8vm6481JoGxitl5hjigaVedE+KKuBaFd2jylSnTw/ZuYxvLLrFVp6WnK2PR/ymWOaJCKfBv4d+CQgwOhn8zMMw9hD2dy2mYAEmFkxk4MnH8zqhtXJpK3BUAEeU9cuppRPcfsohUuQgPsJTwzlRXt6mFM1Z+A6o7X3wIu3wd+/MaCv5BBiQNzutGUToa+LkkgkLVx84FAesR7eNfNdxDXOszuezeNt5E4+Q3k7gF/hPKabgONVdUE+NxORU0VkjYisE5Hd5qbEcZW/vkpEDh+qrYjUish9IrLWf09MuXa5r79GRE5JKX/Yl630n6m+vFREfufbPCMi8/N5PsMwjFQ2t21mRsUMwsEwiyctpr2vneaORsCtPQqFS+jLcY5JVanrdB5TtLeXkA98gH6Pqa+nm30m7MP6lvX9DUtcaDmdjQP6SwjT9EgFQUgKU7isnN4BC2y9fSVemKI9vGPKOzhhzglUhCtyexF5ko8w/Rn4IDBDVS9R1cfzuZGIBIFrgNOAxcB5IrI4rdppwCL/uRj4ZQ5tLwMeUNVFwAP+HH/9XOAg4FTgF76fBB9T1SX+k1gkfBHQpKr74tZn/SifZzQMw0hlS9sWZlfNBmBhzUIAGjp2EQgGkUCAcCRCNHU+ZxCaeproinYxq3KW33m2JHmtJOLCx3u7u1g0cRFb27fS3usWyxL32V27mwf0F/XDgXNKK11BpMZ7TGUDMz/EeiBYCsEQSBCi3YQDYa5631W8a+a78ngbuTOkMInIXBGZC3wVt2vtjERZ2qd6iK6OAtap6npV7QVuB5al1VkG3KqOp4Ean11isLbLgFv88S3AWSnlt6tqj6q+Bazz/QxGal9/AE4UERmijWEYRkY2t21mTtUcAPaZsA8ATR0NBENuQ75waYS+7tyEaVv7NgBmVs5MbvCXIOE99XX3sN/E/QBY17zOXexzufDoah7QX3d3JzFR9g9VOuEJl/tw8bShvGgvhLx3For0zzmNIrmkJLoFSCzxzfYjrcDNwK2D9DOLgXNSW4B35lBn1hBtp6nqdgBV3Z4YlvNtnk5rMyvl/CYRiQF/BL6vbhlz8j6qGhWRFmASsCvVSBG5GOfRMXfu3EEe2TCMvZW23jaaepqSwlRVUsW08mk0b25iot/3qCQSobO1Naf+EsI0q3IWr/c+Sbikfygv4TH1dXexaKKbAXmj6Q2WTF0CvX5NUvfAQIVd7XXEgsoBgQoIRyBc5sLFy8ro6+5GVRERt8A26EUwVFIcwqSqJ4zQvTKJWnpOi2x1cmmbz/0+pqpbRaQKJ0yfwIlqTvdR1evwEYlLly4d3R2zDMPYI0lE5CWECdxwXlvXDiaH3QBTOFJGX31u6UYTwjSjcgYv9/Qksz6Ai/ATCdDX08PMiplUhCv689n1ZRamxrZ6osE4+1PiPKFwmQsXj5ShGifa2+Pmrvq6oMRlqXAeU24e3nAoNCVRIWwB5qSczwa25VhnsLY7/XAfaUlls7ZR1a3+uw34Df1DfMk2IhICJgADZwwNwzByIJswdXa1J4fe8hnK29q+laqSKqpLqncbyhMRwpEIfT3diAiLJy3m5V0vu4sJYUIhJVVRc3sj8aAwO44TnFDEh4u7QIrkcF5vO5T4eahgSf+6plFkLIXpOWCRiCwQkRJcYMLytDrLgfN9dN7RQIsfphus7XLgAn98AXBnSvm5PtJuAS6g4lkRCYnIZAARCQNnAK9k6OvDwIM62nsIG4bxtiSjME1YSCCqEHZxWOFIZGCgwSBs79jOzIqZALtF5aX3ddjUw3i98XU6+jr6h/IA2vo3EWzpaCRcUorEevo9Jo1TUuLmv5KReb0d/ZF94XJ3PsoUuu1F3vg5m0uBe4AgcKOqrhaRS/z1a4G7gdNxgQqduPVSWdv6rq8E7hCRi4BNwNm+zWoRuQN4FYgCX1DVmIhUAPd4UQoC9wPX+77+B7hNRNbhPKVzR++NGIbxdmZL2xZqI7UDQqoX1izkyagQjbhIuYSXkwtb27cmRS49Kg9c3rzEwtvDpx5OXOOsql/FMX0pQtK2A2rm0NzdTE9nB1MqZ7oFuIk5JiDsRTPpyaUKU6QaetryexEFMGbCBKCqd+PEJ7Xs2pRjBb6Qa1tf3gCcmKXND4AfpJV1AEdkqd+NFzbDMIzhsLltczJUPME+NfsQigk94nexLY0Qi0aJRfuSkXqZiMVjbGrdxHGzjgOcMKUGP4Cbr0p4OYdOOZSABHh+5/Mck+ox+UwNK3auoKQvwMTpUyC6rn8oDygJu4G0nk4vaL0dUOljykqroLOhgLeRH2M5lGcYhrHXkBoqnqC6pJqIltApzrMJJ6PpBo9029q+ld54LwsmuJwGfWnBD+DmqxJroipLKjlk8iE8suURF7yQwA/DPb39aSLREFMmznTBDKGIG6YDysucQHa1+mCJvhSPqXRsPCYTJsMwjBGmN9bLjo4duwkTQETDtKkTiHDErz8aYjjvrZa3AJLClB78AC70vDclkOKkeSfxeuPrbO5pTHpD9HbQF+/j3g33Uh4NU15VnSJMPt9emeu3o6U52aZfmKpMmAzDMPZEtrZvRdGMwhSOBWmKtxGNR5MeU+8QARCJFEP71LhFuhmDH9Ii/E6adxIAd/fWQYUfiuvt4KltT9Hc1USgN05pRaWbYwqVJj2mstIAiNCZSZgi1dCd27qr4WDCZBiGkQfrnnt6SCHJFJGXIBiF3kCU9S3rk6HZifRA2Vjfsp7JZZOpLqkmHosRj0V3D36IRJLBD+AW4h4781h+E2+ku9Lt06Tdrdyy+hamBScBEKms8sJTmfSqAvEeyqqq6WxuhnjMhZuHU4byol0Dws5HAxMmwzCMHGneuYM7//P7/P0XPxu0XjZhUlW0L0pfUHmt4bVk8tWhhO7N5jeTKY0S21Ukgx962uCtRykpK6ens31Au4vecRGNEue60jhIgAda3+DZHc/y8X1cwHGkshJ629wQnY/Ko6+Ligk1bigvsQYqdY4pcc9RxITJMAwjRxJzQdvXrhm03pa2LZSFypgUmTSgPBaNovE4Eg7yasOrye0qBltk2xfr4/XG1zlo0kFAf1bwZPDDXV+CWz5AeQn0dHQkd8gFOHL6kXywN8j12sil06dxWcPTHFh7ICdMeTcAkYpK6GmH0soBwlQ+oYbO1ub+NUupc0wAPaM7nGfCZBiGkSO9nc6D6G5vH7ReIiIvPQd0QtgmV01ldcPq/hx3gwQ/vNH0Bn3xPg6a7ISpu8Pdu7Tcpwna5VIPlZe4XABdbQNF41vtUT5eMpPXwyGOD9fyq5N/RazT3S8SCYPG/FCeF6ZotxOmluYUYUpkIPce0yjPM5kwGYZh5EhPl/uhTgynZSNTqDj0zyXNnDiHVxteJRZ0wjXYUN4ru1ximoMnHwxAd7sbRotUeZHww2tlQedJJYMWPKW9HXyj+mDu74jw0/B8JkYmJsUtUuKFM3Uor7fDCVNzs0tHBBk8JhvKMwzDKAp6OvsXq2bLVhaNR9nStoW5VbvvPJDwjBZM3pe+eB9rO9505YMM5a3atYraSG0yHVFXmxOFskovEl4sytWJSGfrwGStLnih3ImLF5qkuCVSLJRW9XtDPa2UT6ihr6ebvvZmV2ZzTIZhGMVJb2d/ep/0IbME6YthU0kI0L5T90cQVja/PKA8HVXlme3PcPjUw5PDgklRSQhTwKlLWbzJ2ZUqTPGYW6dUUuGG4/zQXGIoMhL081Elle4TCEFXExUTagDoaKjvvw4pwmRDeYZhGEVBqsfUWrczY531zQPXHKWS8JgmVNRyQO0BPFP3LBIIZJ1jWt+ynp2dOzl21rHJsv6hPC9M3gsqj7pt4zpbUoQpkfUh3WPqaKekrIxAzF8vrQIRKKuFzkaqp0wDoKXeP2PqOiYwYTIMwygWelI8ptaEN5FGcjHshEzClEhFVMp757yXlfUvEU7fMTaFx7c+DsCxM/uFqautDZEApWU++MEHIkQ6tyOBAF1tqcKUCPcud5F33mPqaGqkfEJN/5BcYnv1sonQ1UTtTLenauNOv4tQ+hxTd2syOnA0MGEyDMPIkVSPKeG5pLO+ZT1Ty6ZSVVK127WEZxQujXDSvJNQlHgkuPu8kOfejfeyb82+zKicMeC+kcpKJOB/vr33Im1b3cLY1OCHRPRcabX3mJwwte6qo3ryVBcq7q+33PV/dLVWuKG8ibWEI2U07fLb0SWEKRSBQIju1ib++8Kzeem+v2V9V8PBhMkwDCNHejtdxBpkDxlf37yeBTW7zy9Bf1ReqLSURTWLmF89n+ZQJ12tzbv307KeVfWrWLZw2YDyrva2/og86Pd62rb79Ucpw2yJXWsjE9w8kRei1l31VE+Z6hbXAj3bG9n2ta+x4dYdtL+2ExFh4oyZNDX49glhEoGyidRv20E8FnN9jAImTIZhGDnS09VJxcRaguFwRo+pL97H2ua17Ddxv4ztUz0mEeGc/c+hQdpobNx9vuqONXcQlCBnLDxjQHnCY+ov8EIUj1JeWeEWxiYNThUmN8cU7e2lo6mRqklTkqLW+uCTySbNq5x41c6cTVNTuwuISCSBBZg4n7qtbsPBqfN3H64cCUyYDMMwcqS3s5PS8nIilVUZhenN5jfpifVw8KSDM7ZPRN8lUhGdte9ZRMsCNDfWDwg/39a+jTvW3MFZ+57F5LLJA/robmvrDxWP9bncdTUuNL2yuoK2hl0plb0wlVb7yDqlbecWAOft9LQDQtt9D1K+dCk171pAx2Yl3tvLxBkzaWnrpa98hvOUEkxcQF19GxUTa6momZjrq8sLEybDMAzc0NmXH/oyq3etzlqnp7OD0vIKIhWVGYfyEm0Ti2HTSQ1+AL9v0twjCHbHuOP13wFuy4zLH7ucUCDEJYdeslsfXe2t/aHiCW+pZp77mlhNe8Ou/ii/7jSPCWjd7vL4VU+eCr3txKikZ906Ko47jqql+xGPCp1PPMrU+QsB2Kn981sA1O5DXZswdd78rO9puJgwGYax19MV7eJLD36JBzY9wIV/vzCZhDWdns5OSsuye0yvNLxCVUlVxqwPrn0H4dIIgUAwWXbUwmMRhP987If800P/xDn/dw4v1L3AFe+6gukV03fro7u9nbKqtJx13mOaWOOyNzTv2O4r++uJOSagtS7VY2qlu92VRxYfSPmSxUhA6XjiMWYdeBCgbO6sGfgMFbNp6Cln2vSBeQBHEhMmwzD2eh7Z8ggbWjfw7aO/TUxj3LL6loz1ejs7KCmvoKwqszC9VP8SB086eLcceQk6W5opnzBhQFnFhFoAzp59FqvqVxEKhLjqhKs4dcGpu7Xv6+mmr7uLsirfR0KYJjghnFjldp9t2rHNlXe3gASdt1Tu7tO6fQuIUDVpEvS009PsvLfIAQcQmDCVssm9dD77HGWVVUyJdLGlaaBMvLUziiLMm7V71OFIYcJkGMZez0ObHmJi6UQ+tOhDnLnwTP689s80dTcNqKOq9HR1uqG8yiq6OgYO5e3q2sXaprUcNeOorPfpbG1JRvUlSGRZOGfOB3ngIw/w+w/8nhPmnpCxfWu9W1eUjIbrTvOYyt08VdP2FGGKVLs5okq3aLZu00ZqZ84mGApDTxvdjQGCUyYTmjIFymspn9pD99oNxHZuZk55E9vqugas33pz7VbKgr3MLGnI+pzDZUyFSUROFZE1IrJORC7LcF1E5Cp/fZWIHD5UWxGpFZH7RGSt/56Ycu1yX3+NiJziy8pF5K8i8rqIrBaRK1PqXygi9SKy0n8+PXpvwzCMYqAv3sdjWx/j+NnHEwwE+diBH6M33stdb941sF53FxqPZw1+eHb7swAcM+OYrPdyHlPNgLIy70FlW8vElhWw9j4AWny2iQlT/RBfIlTcC1NJvIOKibU0bd/qr7e6YTyAKtemblsd0/bZ15V1N9O9S4kceKA7r5hCxfQeUKXjoXtZXL2TaCzO6ofvT9r45ksvsXB6mMCTP4eGN7M+63AYM2ESkSBwDXAasBg4T0QWp1U7DVjkPxcDv8yh7WXAA6q6CHjAn+OvnwscBJwK/ML3A/CfqnoAcBhwrIiclmLD71R1if/cMGIvwDCMouTVhldp623j+NnHA7Bo4iIOnXIof1j7hwGRcsmM3JVVRCoqifb0DMh+8OS2J6kuqeaA2gOy3quztYXy6oFDeQmh6mxuztzohhPh1x8G3EaFADXTvDAlghuqZ7ohu64mamfOZtemjf3XE8JUMYWOWCnt7d1MW+CEKd64lZ5dvUQO8MJUuw9lk5VgeQntjz7KtLIOZsydxYq//oWutlae+sNviPb0sPTT36WnI4Ju7A8zH0nG0mM6ClinqutVtRe4HViWVmcZcKs6ngZqRGTGEG2XAYkB4VuAs1LKb1fVHlV9C1gHHKWqnar6EIDv6wVg9ig8r2EYewAv7HwBgMOnJQdo+PB+H+atlrd4oe6FZFky8WllZTIqLuE19cZ6eWjzQ0mvKxMaj9OVYSgvUlFJqLSU1l11gxva101L3Q5CpaWUJcSt0w+nVUx2AtTdzKz9D6Ruw5v0dnU6YUokXg0E2aku1dC0BQsh2kPP1gaIK5HFXphCpcjU/alYWEb7sy+jcXjvOR+hs6WZG790MSvv+SuHnHwa1ZPmsf7PERpXRhkNxlKYZgGpoS5bfFkudQZrO01VtwP478RS5CHvJyI1wAdwnlaCD/lhxD+ISMbQGhG5WERWiMiK+vrM+bIMw9gzeH7n88yvnj9gvdAp80+hKlzF79/4fbIsNat3ujA9sfUJWntbOW1B6uDLQLo72onHYrt5TCJC7YzZNG7bMrihTW/RUreTmqnT+4MrOhvcAtjSaiirga5mZh/4DjQeZ+ua1wZ6TMCWnskEBKYu2Adat9LT5IIlkkN5ANMPpmpqM7H2Ljoaa5i55Dg++PXvMn/JERz30Qt53ycvpuXO5RCPU3Xi+wa3uUDGUpgyhamkb2iSrU4ubfO6n4iEgN8CV6nqel98FzBfVQ8B7qffExvYiep1qrpUVZdOmTJlCDMMwyhW4hrnxboXB3hLAGWhMs5YeAb3briXnR1uXidVmMp8SqBE+p8/rfsTE0sncszMweaX3LBbWZrHBFA7azaNWzMIU+qeTw1v0lK3gwnTUkLIuxpdRnARiNRAdzMz9zuAQDDIlldfdsERkRrflbKuIcKcmj5KysqheTPdzWECZRHCc1L+Dz79HVTWbidYEqd5+ywIlTDvkCX8wxe/xlHLPowgtPzxj5QtPYKSefOyPu9wGEth2gKkeiCzgW051hms7U4/3If/TvjDQ93vOmCtqv48UaCqDaqa2JryeuCIXB7MMIw9k3XN62jtbeWIabv/Uz9/8fnENc7Nq28GUobyKiqpmuy8q7aGeta3rOfhzQ9zzgHnEA6Es94rkSqoIoswte6q2337i+7+gIh4/Rs079jeP78EzmMq9+uJvMcUjkSYdcBBvPH0E2hXS3KrioYtm2jqUBZV+8SsLVvobgpTut/C/oSwAHPeSSAIE+Z30vZ6C71btg4wqfXuv9G7cSMTzz0v67MOl7EUpueARSKyQERKcIEJy9PqLAfO99F5RwMtfnhusLbLgQv88QXAnSnl54pIqYgswAVUPAsgIt8HJgBfTr15QuA8ZwKvDfOZDcMoYpLzS1MP3+3a7KrZnLnwTH635ndsbN2YEvxQSVWtE6bW+jqufvFqIsEI5x0w+A91wmNKH8oDqJ05B1T7w7wTdPRPFdSvf51obw/TF6bk4etsTK5PSnhMAO848RSad25nY1MwOZT3/F/vJBgQ9i3dCPEY2riR7qYwZUvSnn3OUXDWtdSecjgSLqHuRz9KBoFEm5qo++lPKD3gAKpPzz5sOVzGTJhUNQpcCtyD+8G/Q1VXi8glIpLIu3E3sB4XqHA98PnB2vo2VwIni8ha4GR/jr9+B/Aq8HfgC6oaE5HZwLdw0X0vpIWFf9GHkL8EfBG4cHTehmEYxcDzO59navlUZlWmT3c7vnj4FykNlvKdJ75DZ1sLwXCYUEkpoZISKmom8vqGl7hv431cfMjF1EZqB71XR7NbF5Ue/ADOYwJo2JqWcaK9PyBi+0YnWjMWpUT9pQpTxRRorwdVFh31Lsqrq3i0bgHRipnsWPcGqx+5n0MP25eKYA80rKP79dfQmFC25LDdjV1yHuEv3Mnkz3+etvvuY8cVV9Dx1FNs/uwlxOp3MeN73x3oZY0woaGrjByqejdOfFLLrk05VuALubb15Q3AiVna/AD4QVrZFjLPP6GqlwOXD/oQhmG8LVBVXtj5AkdMOyJrpobJZZP51tHf4vLHLme/Dcqkispk3cCEcl596wUWH7CYCw+6cMj7NW3fSklZWX9EXQq1M2cTjpSx9fVXOfDY9/RfSHhMk/dn++udlE+YOXCric4GKH+n72SB28aiYxehyimcsux9/Pm2O7n15vvp6LiLqklTeOc5F8JNN8Jbj9L10ioAIu84JKvNkz7zaaK76mm69Taaf3s7gepqZv70J5QtWTLk8w6HMRUmwzCMYmFt81rquuo4eubRg9Y7Y58z2Nq2lVeev51YvIKfPf8ztrZvpad3LVN7yrn6fVcTDmafW0rQuHUTk2bNzSiCwVCIOYsPZtPLKwde8MKk0w9hy9MbmXHo/v3tVfuDHwBq/RYUjeuhcgr7TIUzZ73KCxVnMW3/GRx33gWUT57i0hc9dwPdm5oJVk8mPGtmVptFhOnf/Ca1H/0ovZu3EDn4IEITRyejeComTIZh7JVk2rY8G5899LP8qnIl23Ubt6y+hQmlEzhj1gGEX6pjciS3ZKYNW7cw/5Dd57ISzD14CetfeK5/d1nwwiTskLm09u3gmENTvJueVohH+4MfUoVp7juh8S0WTepi0Td/MnDbigXHoy/+mo6d0yg/ZmlWbzGVkvnzKZk/P6fnHAksV55hGHslj215jP0m7se0imk51S+LhlgydykvfOIFHjnnEU56xxnE+vqypxJKobu9nY6mRibNzpx1HGD+oU601jz1eH9hex2UT+K1DW0EJc6i/VJyASQW1yaEqWYeSMAJE0DTWzBxwUBRAjj2y/TOPJNoV5CK92ScBRl3TJgMw9jrqOus4/mdz3PCnMzJUjPR3d5OpKKKgLifzdqZTmTqN20Ysm0iqKF2VnZhmjR7DnMWv4MX/3YX8VjMFbZtp6N0Jq+sXMe+VbsojaYklu30Yd+J4IdQiRumSwhT43o375TOlP3oKHs/ABXHvmtI28cDEybDMPY67l5/N4rygYUfyKm+xuN0tjZTVl2dLJu+7yIQYcfaNUO237l+HQBT5s4ftN4RZ3yQtoZ6nvnLHe6+Ldt4cEMtsWiMY6dshNbt/ZVb/ILcyhSPr3YfqH/diVbDOpiSOW9f24MPUrJgASWzizMbm80xGYaxVxHXOH9a9ycOmXwI86pzy1zQ1rCLWF8fE6f3BwqUllcwadYctq8bWpg2rnqBmukzBkbUZWCfw4/kwONO4Mnf/4am7dvoXBlkY1uMd5/zMSauegRaU9Y51b8OCExOWde070lw77fg4Svd/NPiM3e7R19dHZ3PPMPkz31uSLvHC/OYDMPYq3ho80O81fIWH1/88ZzbJBa+1kwfGME2Y9H+bFu7ZkAW8nSifX1sWr0qOYc0GCLCyRdfymGnnsGbzz1NfWcJJxy7kKM+eK6bS2pLEaa6V91QXUl5f9mh57os48/+ygnW9N1DwVvvvhtUqf6H04e0Z7wwYTIMY68hGo9yzcprmF05m5PnnZxzu8SOsBNnDBSmWQccRHdbKzvWvZG17aaXVxLt6ckuTBufGuAJhUtKed+Fn+Uff/5jPrffMxx+3JEucm7SvrDz1f52da/B1LSdgyomw/FfhXnvhtN/vFvgg8ZiNP3mt5QdeiilCxfm8OTjgwmTYRh7Dbe9ehtrm9by1aVfJRTIfSajaftWQqWlVE4cmN1h0VHHECopZfUjD2RpCS/8bTkVE2szC1M8BjedCr/IkPw1IVbVXgznvBO2vQh9XRDtcZv0TT1w93YnfBM++VfY5727XWq7/wH6Nm2i9pMXZrW3GDBhMgxjr2DFjhVc9cJVnDj3RN43N7/tGpp3bGPitBm7peEpLa9g0VHH8PoTj2QMG9/6+qtsXPUih51yhtvKPJ2mDe67uxlifQOvJYSpygvT3GMg3ufEadtK0FhmYcqC9vZS/9OfUrLPPlSddFLO7cYDEybDMN72vLDzBS598FJmV83mimOvyGlRaSq7Nm9i4ozM+fSOOuts+nq6efCmXw2Ya+pobuJvv/gp1VOmcdipZ2TuuC4lT/SmpwZey+QxAbz1KLxwC4QrYN/chyN3XXc9vRs3Mu0bX0dCxR33VtzWGYZhDIPuaDc3vXIT1718HbMqZ3H9+6+nuqR66IYpNG7bSmv9TpZ+4IMZr0+eM4+jP3QuT97xa+KxKIecdBptDfU8/cff0dnazIe/9X23/1Em6lOEad39sOD4/vO616B8cnLbCiomwcL3wRP/5YYAl3y0/9oQtD/+BLt+8QsmLDuTyve8Z+gG44wJk2EYbyui8SgbWjZw38b7+NO6P7GjYwenzj+Vfzn6X5hQunsC1aF468UVAOxz2NKsdY7+f+cSCAR5+k+/Y+0zTwIwafZczv6XHzBzv8xriQCoe90tiq2aAZueGXht05MwNy2P37Jr4IaTYdI+8J6v52R/x9NPs+WLX6R0v/2Y9u1v59RmvDFhMgxjj6Szr5M/r/szz+14jsbuRtp62+iJ9bCzYye98V4E4cjpR/Lv7/53jpx+ZMH3Wfvsk9TOnM2EqdOz1hER3vnBj3DIyaexa+NblFZUMnnuPAKB4OCd17/uFsFOPQCe+RX0dUM44hbSNm2AIz8zsH71TPjn1Rm7SkdjMRpvu426n/yU0vnzmHPdrwhWVubUdrwxYTIMY4+jrrOOz93/Od5oeoN51fOYWj6VuVVziYQinDj3RBbWLOToGUczvSK7mOTClldfYevrq3nPxz+VU/2yyirmHJR9G4kB9HU5YdrvFJh5ODz537B9pfOSNj7h6szLvlX7YHSvWcP273yH7pdWUfm+9zHzh/9OcEL+3uJ4YcJkGMYeRSwe4xuPfoPNbZv5xYm/4LjZxw3ZZudbb/Lyg/fynk98inBJaU736evu5sGbrqWiZiKHvn8UFqPuXO2yM8w8zEXcBcKw8jcuyOGpq90Q3/RD8+pS43Eab76Fup/9jGBVFTN//B9Un3FG3sEe440Jk2EYexR/XPtHVuxcwb8d+285iZLG49x33X+zc/06uttamb34Hcw7ZMmA9ELpdLW38X8/u5Jdmzfxwcu+S7g0MpKP4Nj2ovueeZgLbDjyInj2eujrdNeWXQPB3H+iNRpl61e+Sts991B18klMv+KKMdk7aTQwYTIMY4+ho6+Da1Zew+FTD2fZwmU5tXntiUfYuX4dk2bPZc1Tj7HmqceQQIBDTz6dYz507oCtztsad/HqIw/y/N130tPRwSmf+xILlhwxOg+z7UW3HXq1D0M//uuw9Xl4+few9FNwyLl5dVf34/+k7Z57mPq1r1H7qU/ucV5SKiZMhmHsMdy8+mYauxv57/f9d04/vO1NjTxy2/8wfd/9OPdff0RnSwvxWJTnlv+Jl+69m5fuu5vJc+ZRUlZOa30dbQ1ux9i5Bx/Cez7xaabO32d0HqSvG9be54btEs9RMQk+fb+bewqX5dVd1+rVNN52GzXnncuki3KbDytmTJgMwyga1jSu4cFND9IX76M8XM7CCQt5x5R3MLlsMm82v8ktq2/hlPmncMiU7AEGvV2dNGzZzMZVL/LiPf9Hb3cXJ3/mUoKhMFWTJgNw0qc/z2GnfYDXH3+YnW+9SV93N7MXH8yk2XPZ7+hjBx3mGxFe+QN01MGRn9792hCiFO/ogECAQJmrp7EYO/71CoK1tUz9p38aDWvHnDEVJhE5FfgvIAjcoKpXpl0Xf/10oBO4UFVfGKytiNQCvwPmAxuAj6hqk792OXAREAO+qKr3+PIjgJuBMuBu4EuqqiJSCtwKHAE0AOeo6oZReBWGYaTx6JZHufSBS1GUkISIajR57cDaA9nZuZPyUDlfXfrVjO01HucvP/431r/wXLJszkGHcMKFF2fcB2nSrDkce84nRvw5diPaC68th/1OhdJKaNkK938Ppr8jYz67wYi1trLupJOJt7ZSdsQRTP/WN+la9TLdq1Yx88f/QbA6v8XDxcqYCZOIBIFrgJOBLcBzIrJcVVPS5XIasMh/3gn8EnjnEG0vAx5Q1StF5DJ//g0RWQycCxwEzATuF5H9VDXm+70YeBonTKcCf8OJWJOq7isi5wI/As4ZvbdiGAaAqnL1i1czp2oOv/mH3zChdALtve2sa17Hczue48ltT7JkyhI+v+TzWUPAX37oPta/8BxLTjmDuQcfwoxFB+yWdHVcePxn8PC/u23O3/MNePQ/3HDd/7th923Ph6Bl+V3EW1upOvkkul5axYaPfgwJBil/5zupPiNL2qM9EBlsH5ERvZHIMcD3VPUUf345gKr+MKXOr4CHVfW3/nwN8F6cN5SxbaKOqm4XkRm+/f7p/YvIPcD3cF7VQ6p6gC8/z7f/bKKOqj4lIiFgBzBFB3lJS5cu1RUrVuT9Pv77o58iFo/l3c4wDKNYCAaC/ONvbiyorYg8r6oZ02mMZRLXWcDmlPMtviyXOoO1naaq2wH8d2KLyMH62pKlr2QbVY0CLcCk9AcRkYtFZIWIrKivr8/yuIZhGEYhjOUcUyafNd0TyVYnl7a53m+wvnK6j6peB1wHzmMawo6MFPq/DMMwjLc7Y+kxbQHmpJzPBrblWGewtjv9EB7+uy6HvmZn6SvZxg/lTQAac3o6wzAMY0QYS2F6DlgkIgtEpAQXmLA8rc5y4HxxHA20+OG5wdouBy7wxxcAd6aUnysipSKyABdQ8azvr01EjvZRgOentUn09WHgwcHmlwzDMIyRZ8yG8lQ1KiKXAvfgQr5vVNXVInKJv34tLkLudGAdLlz8k4O19V1fCdwhIhcBm4CzfZvVInIH8CoQBb7gI/IAPkd/uPjf/Afgf4DbRGQdzlPKb+m1YRiGMWzGLCrv7UqhUXmGYRh7M8USlWcYhmEYQ2LCZBiGYRQVJkyGYRhGUWHCZBiGYRQVFvwwTESkHthYYPPJwK4RNGe0MDtHjj3BRjA7R5I9wUYYezvnqeqUTBdMmMYREVmRLSqlmDA7R449wUYwO0eSPcFGKC47bSjPMAzDKCpMmAzDMIyiwoRpfLluvA3IEbNz5NgTbASzcyTZE2yEIrLT5pgMwzCMosI8JsMwDKOoMGEyDMMwigoTpnFCRE4VkTUisk5ELhtnWzaIyMsislJEVviyWhG5T0TW+u+JKfUv93avEZFTRtGuG0WkTkReSSnL2y4ROcI/3zoRucpvdzLadn5PRLb6d7pSRE4fTztFZI6IPCQir4nIahH5ki8vqvc5iJ1F8z5FJCIiz4rIS97Gf/XlxfYus9lZNO8yK6pqnzH+4LbueBPYBygBXgIWj6M9G4DJaWX/AVzmjy8DfuSPF3t7S4EF/jmCo2TX8cDhwCvDsQt4FjgGt0Px34DTxsDO7wFfzVB3XOwEZgCH++Mq4A1vS1G9z0HsLJr36fur9Mdh4Bng6CJ8l9nsLJp3me1jHtP4cBSwTlXXq2ovcDuwbJxtSmcZcIs/vgU4K6X8dlXtUdW3cHtnHTUaBqjqo+y+g3Bedonb1bhaVZ9S9y/s1pQ2o2lnNsbFTlXdrqov+OM24DVgFkX2PgexMxtjbqc62v1p2H+U4nuX2ezMxrj9G0rHhGl8mAVsTjnfwuD/+EYbBe4VkedF5GJfNk3dbr/476m+fLxtz9euWf44vXwsuFREVvmhvsSwzrjbKSLzgcNw/4Mu2veZZicU0fsUkaCIrATqgPtUtSjfZRY7oYjeZSZMmMaHTOOz4xm3f6yqHg6cBnxBRI4fpG6x2Z4gm13jZe8vgYXAEmA78BNfPq52ikgl8Efgy6raOljVLPaMl51F9T5VNaaqS4DZOK/i4EGqj9u7zGJnUb3LTJgwjQ9bgDkp57OBbeNkC6q6zX/XAX/GDc3t9C48/rvOVx9v2/O1a4s/Ti8fVVR1p/9RiAPX0z/cOW52ikgY92P/a1X9ky8uuveZyc5ifJ/ermbgYeBUivBdZrKzWN9lKiZM48NzwCIRWSAiJcC5wPLxMEREKkSkKnEMvB94xdtzga92AXCnP14OnCsipSKyAFiEmxgdK/Kyyw+ptInI0T6S6PyUNqNG4gfK80HcOx03O32f/wO8pqo/TblUVO8zm53F9D5FZIqI1PjjMuAk4HWK711mtLOY3mVWRjOywj6DRsycjos4ehP41jjasQ8uEuclYHXCFmAS8ACw1n/XprT5lrd7DaMYnQP8FjfU0If7X9tFhdgFLMX943sTuBqf8WSU7bwNeBlYhfsHP2M87QTejRt+WQWs9J/Ti+19DmJn0bxP4BDgRW/LK8B3Cv03M8rvMpudRfMus30sJZFhGIZRVNhQnmEYhlFUmDAZhmEYRYUJk2EYhlFUmDAZhmEYRYUJk2EYhlFUmDAZRhEhIjUi8vmU85ki8odRutdZIvKdLNfa/fcUEfn7aNzfMLJhwmQYxUUNkBQmVd2mqh8epXt9HfjFYBVUtR7YLiLHjpINhrEbJkyGUVxcCSz0++T8WETmi9/nSUQuFJG/iMhdIvKWiFwqIv8sIi+KyNMiUuvrLRSRv/ukvI+JyAHpNxGR/YAeVd3lzxeIyFMi8pyI/Fta9b8AHxvVpzaMFEyYDKO4uAx4U1WXqOrXMlw/GPgoLr/ZD4BOVT0MeAqXKgbgOuAfVfUI4Ktk9oqOBV5IOf8v4JeqeiSwI63uCuC4Ap/HMPImNN4GGIaRFw+p26eoTURagLt8+cvAIT4r97uA36dsMlqaoZ8ZQH3K+bHAh/zxbcCPUq7VATNHxnzDGBoTJsPYs+hJOY6nnMdx/54DQLO6rQ4GowuYkFaWLT9ZxNc3jDHBhvIMo7how20pXhDq9i56S0TOBpetW0QOzVD1NWDflPMncFnuYff5pP3oz0BtGKOOCZNhFBGq2gA8ISKviMiPC+zmY8BFIpLIGL8sQ51HgcOkf7zvS7hNIp9jd0/qBOCvBdpiGHlj2cUNYy9FRP4LuEtV7x+i3qPAMlVtGhvLjL0d85gMY+/l34HywSqIyBTgpyZKxlhiHpNhGIZRVJjHZBiGYRQVJkyGYRhGUWHCZBiGYRQVJkyGYRhGUWHCZBiGYRQV/x8mFRqIeSObdgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -622,7 +622,7 @@ " 1.17040422e-11])\n", "Coordinates:\n", " id int64 2\n", - " * time (d) (time (d)) float64 0.0 11.0 22.0 ... 3.63e+03 3.641e+03 3.652e+03
    • id
      ()
      int64
      2
      array(2)
    • time (d)
      (time (d))
      float64
      0.0 11.0 ... 3.641e+03 3.652e+03
      array([   0.,   11.,   22., ..., 3630., 3641., 3652.])
  • " ], "text/plain": [ "\n", From bfb987123cd51f8656f0dca6e265837c50f62330 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 16:40:12 -0400 Subject: [PATCH 17/19] Moved symba_getacch subroutines to the symba_kick submodule --- src/symba/symba_getacch.f90 | 90 ------------------------------------- src/symba/symba_kick.f90 | 86 +++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 90 deletions(-) delete mode 100644 src/symba/symba_getacch.f90 diff --git a/src/symba/symba_getacch.f90 b/src/symba/symba_getacch.f90 deleted file mode 100644 index d10e2267c..000000000 --- a/src/symba/symba_getacch.f90 +++ /dev/null @@ -1,90 +0,0 @@ -submodule (symba_classes) s_symba_kick_getacch - use swiftest -contains - module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) - !! author: David A. Minton - !! - !! Compute heliocentric accelerations of massive bodies - !! - !! Adapted from David E. Kaufmann's Swifter routine symba_kick_getacch.f90 - !! Adapted from Hal Levison's Swift routine symba5_kick_getacch.f - implicit none - ! Arguments - class(symba_pl), intent(inout) :: self !! SyMBA massive body particle data structure - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - ! Internals - integer(I4B) :: k - real(DP) :: irij3, rji2, rlim2, faci, facj - real(DP), dimension(NDIM) :: dx - - select type(system) - class is (symba_nbody_system) - associate(pl => self, cb => system%cb, plplenc_list => system%plplenc_list, nplplenc => system%plplenc_list%nenc) - ! Remove accelerations from encountering pairs - do k = 1, nplplenc - associate(i => plplenc_list%index1(k), j => plplenc_list%index2(k)) - dx(:) = pl%xh(:, j) - pl%xh(:, i) - rji2 = dot_product(dx(:), dx(:)) - rlim2 = (pl%radius(i) + pl%radius(j))**2 - if (rji2 > rlim2) then - irij3 = 1.0_DP / (rji2 * sqrt(rji2)) - faci = pl%Gmass(i) * irij3 - facj = pl%Gmass(j) * irij3 - pl%ah(:, i) = pl%ah(:, i) - facj * dx(:) - pl%ah(:, j) = pl%ah(:, j) + faci * dx(:) - end if - end associate - end do - call helio_kick_getacch_pl(pl, system, param, t, lbeg) - end associate - end select - - return - end subroutine symba_kick_getacch_pl - - module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) - !! author: David A. Minton - !! - !! Compute heliocentric accelerations of test particles - !! - !! Adapted from David E. Kaufmann's Swifter routine symba_kick_getacch_tp.f90 - !! Adapted from Hal Levison's Swift routine symba5_kick_getacch.f - implicit none - ! Arguments - class(symba_tp), intent(inout) :: self !! SyMBA test particle data structure - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step - ! Internals - integer(I4B) :: k - real(DP) :: rji2, fac, rlim2 - real(DP), dimension(NDIM) :: dx - - select type(system) - class is (symba_nbody_system) - associate(tp => self, cb => system%cb, pl => system%pl, pltpenc_list => system%pltpenc_list, npltpenc => system%pltpenc_list%nenc) - ! Remove accelerations from encountering pairs - do k = 1, npltpenc - associate(i => pltpenc_list%index1(k), j => pltpenc_list%index2(k)) - if (tp%status(j) == ACTIVE) THEN - dx(:) = tp%xh(:,j) - pl%xh(:,i) - rji2 = dot_product(dx(:), dx(:)) - rlim2 = (pl%radius(i))**2 - if (rji2 > rlim2) then - fac = pl%Gmass(i) / (rji2 * sqrt(rji2)) - tp%ah(:,j) = tp%ah(:,j) + fac * dx(:) - end if - end IF - end associate - end do - call helio_kick_getacch_tp(tp, system, param, t, lbeg) - end associate - end select - return - end subroutine symba_kick_getacch_tp - -end submodule s_symba_kick_getacch diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 85d3bb8f3..39721a098 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -2,6 +2,92 @@ use swiftest contains +module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) + !! author: David A. Minton + !! + !! Compute heliocentric accelerations of massive bodies + !! + !! Adapted from David E. Kaufmann's Swifter routine symba_kick_getacch.f90 + !! Adapted from Hal Levison's Swift routine symba5_kick_getacch.f + implicit none + ! Arguments + class(symba_pl), intent(inout) :: self !! SyMBA massive body particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + ! Internals + integer(I4B) :: k + real(DP) :: irij3, rji2, rlim2, faci, facj + real(DP), dimension(NDIM) :: dx + + select type(system) + class is (symba_nbody_system) + associate(pl => self, cb => system%cb, plplenc_list => system%plplenc_list, nplplenc => system%plplenc_list%nenc) + ! Remove accelerations from encountering pairs + do k = 1, nplplenc + associate(i => plplenc_list%index1(k), j => plplenc_list%index2(k)) + dx(:) = pl%xh(:, j) - pl%xh(:, i) + rji2 = dot_product(dx(:), dx(:)) + rlim2 = (pl%radius(i) + pl%radius(j))**2 + if (rji2 > rlim2) then + irij3 = 1.0_DP / (rji2 * sqrt(rji2)) + faci = pl%Gmass(i) * irij3 + facj = pl%Gmass(j) * irij3 + pl%ah(:, i) = pl%ah(:, i) - facj * dx(:) + pl%ah(:, j) = pl%ah(:, j) + faci * dx(:) + end if + end associate + end do + call helio_kick_getacch_pl(pl, system, param, t, lbeg) + end associate + end select + + return + end subroutine symba_kick_getacch_pl + + module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) + !! author: David A. Minton + !! + !! Compute heliocentric accelerations of test particles + !! + !! Adapted from David E. Kaufmann's Swifter routine symba_kick_getacch_tp.f90 + !! Adapted from Hal Levison's Swift routine symba5_kick_getacch.f + implicit none + ! Arguments + class(symba_tp), intent(inout) :: self !! SyMBA test particle data structure + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + ! Internals + integer(I4B) :: k + real(DP) :: rji2, fac, rlim2 + real(DP), dimension(NDIM) :: dx + + select type(system) + class is (symba_nbody_system) + associate(tp => self, cb => system%cb, pl => system%pl, pltpenc_list => system%pltpenc_list, npltpenc => system%pltpenc_list%nenc) + ! Remove accelerations from encountering pairs + do k = 1, npltpenc + associate(i => pltpenc_list%index1(k), j => pltpenc_list%index2(k)) + if (tp%status(j) == ACTIVE) THEN + dx(:) = tp%xh(:,j) - pl%xh(:,i) + rji2 = dot_product(dx(:), dx(:)) + rlim2 = (pl%radius(i))**2 + if (rji2 > rlim2) then + fac = pl%Gmass(i) / (rji2 * sqrt(rji2)) + tp%ah(:,j) = tp%ah(:,j) + fac * dx(:) + end if + end IF + end associate + end do + call helio_kick_getacch_tp(tp, system, param, t, lbeg) + end associate + end select + return + end subroutine symba_kick_getacch_tp + module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) !! author: David A. Minton !! From 29d5d6a565aac631d206e8b5dc69ece942a8605d Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 17:18:03 -0400 Subject: [PATCH 18/19] Refactored to simply loop indices --- .../swiftest_vs_swifter.ipynb | 262 +++++++++--------- src/symba/symba_kick.f90 | 46 +-- 2 files changed, 154 insertions(+), 154 deletions(-) diff --git a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb index 6e3effc7c..f1f15c4cb 100644 --- a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb +++ b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb @@ -81,8 +81,8 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, "execution_count": 6, @@ -91,7 +91,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -108,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -465,91 +465,91 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'px' (time (y): 199, id: 2)>\n",
    -       "array([[ 0.00000000e+00,  0.00000000e+00],\n",
    -       "       [ 0.00000000e+00, -7.12220460e-09],\n",
    -       "       [ 0.00000000e+00, -2.84900827e-08],\n",
    -       "       [ 0.00000000e+00, -6.41074152e-08],\n",
    -       "       [ 0.00000000e+00, -1.13980512e-07],\n",
    -       "       [ 0.00000000e+00, -1.78118202e-07],\n",
    -       "       [ 0.00000000e+00, -2.56531852e-07],\n",
    -       "       [ 0.00000000e+00, -3.49235353e-07],\n",
    -       "       [ 0.00000000e+00, -4.56245140e-07],\n",
    -       "       [ 0.00000000e+00, -5.77580189e-07],\n",
    -       "       [ 0.00000000e+00, -7.13262030e-07],\n",
    -       "       [ 0.00000000e+00, -8.63314745e-07],\n",
    -       "       [ 0.00000000e+00, -1.02776499e-06],\n",
    -       "       [ 0.00000000e+00, -1.20664199e-06],\n",
    -       "       [ 0.00000000e+00, -1.39997756e-06],\n",
    -       "       [ 0.00000000e+00, -1.60780612e-06],\n",
    -       "       [ 0.00000000e+00, -1.83016468e-06],\n",
    -       "       [ 0.00000000e+00, -2.06709291e-06],\n",
    -       "       [ 0.00000000e+00, -2.31863308e-06],\n",
    -       "       [ 0.00000000e+00, -2.58483014e-06],\n",
    +       "
    <xarray.DataArray 'px' (time (y): 199)>\n",
    +       "array([ 0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
            "...\n",
    -       "       [-4.44089210e-16, -5.00980628e-04],\n",
    -       "       [-1.22124533e-15, -5.18253726e-04],\n",
    -       "       [-3.33066907e-15, -5.36896942e-04],\n",
    -       "       [-4.44089210e-15, -5.57134011e-04],\n",
    -       "       [-5.44009282e-15, -5.79246689e-04],\n",
    -       "       [-5.44009282e-15, -6.03596238e-04],\n",
    -       "       [-5.32907052e-15, -6.30655877e-04],\n",
    -       "       [-5.21804822e-15, -6.61061384e-04],\n",
    -       "       [-5.10702591e-15, -6.95693612e-04],\n",
    -       "       [-4.99600361e-15, -7.35820563e-04],\n",
    -       "       [-4.99600361e-15, -7.83359285e-04],\n",
    -       "       [ 1.33226763e-15, -8.41403959e-04],\n",
    -       "       [ 4.77395901e-15, -9.15431516e-04],\n",
    -       "       [-2.22044605e-16, -1.01661465e-03],\n",
    -       "       [ 3.77475828e-15, -1.17430457e-03],\n",
    -       "       [ 1.29488925e-06, -1.53697214e-03],\n",
    -       "       [ 3.16460020e-03,  1.93749443e-03],\n",
    -       "       [ 3.17685641e-03,  3.61711129e-02],\n",
    -       "       [ 3.18905387e-03,  7.04843014e-02],\n",
    -       "       [ 3.20119234e-03,             nan]])\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        0.00000000e+00,  3.33066907e-16,  4.44089210e-16,  1.11022302e-16,\n",
    +       "        1.11022302e-16,  1.11022302e-16,  3.33066907e-16, -1.11022302e-16,\n",
    +       "       -3.33066907e-16, -4.44089210e-16, -2.22044605e-16, -5.55111512e-16,\n",
    +       "       -3.33066907e-16, -4.44089210e-16, -5.55111512e-16, -4.44089210e-16,\n",
    +       "       -7.77156117e-16, -4.44089210e-16,  0.00000000e+00,  0.00000000e+00,\n",
    +       "       -1.11022302e-16,  0.00000000e+00,  3.33066907e-16,  1.11022302e-16,\n",
    +       "        1.11022302e-16, -2.22044605e-16,  0.00000000e+00, -5.55111512e-16,\n",
    +       "       -3.33066907e-16, -1.11022302e-16, -4.44089210e-16, -4.44089210e-16,\n",
    +       "       -3.33066907e-16,  2.22044605e-16,  0.00000000e+00,  0.00000000e+00,\n",
    +       "        2.22044605e-16,  1.11022302e-16,  2.22044605e-16, -1.11022302e-16,\n",
    +       "        3.33066907e-16,  6.66133815e-16,  8.88178420e-16,  1.22124533e-15,\n",
    +       "        3.88578059e-15,  4.10782519e-15,  1.02750769e-03,  1.03179676e-03,\n",
    +       "        1.03606675e-03,  1.04031758e-03,  1.04454916e-03,  1.04876143e-03,\n",
    +       "        1.05295429e-03,  1.05712769e-03,  1.06128153e-03,  1.06541574e-03,\n",
    +       "        1.06953025e-03,  1.07362498e-03,  1.07769985e-03])\n",
            "Coordinates:\n",
    -       "  * id        (id) int64 2 100\n",
    -       "  * time (y)  (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1342 0.1348 0.1355
  • " ], "text/plain": [ - "\n", - "array([[ 0.00000000e+00, 0.00000000e+00],\n", - " [ 0.00000000e+00, -7.12220460e-09],\n", - " [ 0.00000000e+00, -2.84900827e-08],\n", - " [ 0.00000000e+00, -6.41074152e-08],\n", - " [ 0.00000000e+00, -1.13980512e-07],\n", - " [ 0.00000000e+00, -1.78118202e-07],\n", - " [ 0.00000000e+00, -2.56531852e-07],\n", - " [ 0.00000000e+00, -3.49235353e-07],\n", - " [ 0.00000000e+00, -4.56245140e-07],\n", - " [ 0.00000000e+00, -5.77580189e-07],\n", - " [ 0.00000000e+00, -7.13262030e-07],\n", - " [ 0.00000000e+00, -8.63314745e-07],\n", - " [ 0.00000000e+00, -1.02776499e-06],\n", - " [ 0.00000000e+00, -1.20664199e-06],\n", - " [ 0.00000000e+00, -1.39997756e-06],\n", - " [ 0.00000000e+00, -1.60780612e-06],\n", - " [ 0.00000000e+00, -1.83016468e-06],\n", - " [ 0.00000000e+00, -2.06709291e-06],\n", - " [ 0.00000000e+00, -2.31863308e-06],\n", - " [ 0.00000000e+00, -2.58483014e-06],\n", + "\n", + "array([ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", "...\n", - " [-4.44089210e-16, -5.00980628e-04],\n", - " [-1.22124533e-15, -5.18253726e-04],\n", - " [-3.33066907e-15, -5.36896942e-04],\n", - " [-4.44089210e-15, -5.57134011e-04],\n", - " [-5.44009282e-15, -5.79246689e-04],\n", - " [-5.44009282e-15, -6.03596238e-04],\n", - " [-5.32907052e-15, -6.30655877e-04],\n", - " [-5.21804822e-15, -6.61061384e-04],\n", - " [-5.10702591e-15, -6.95693612e-04],\n", - " [-4.99600361e-15, -7.35820563e-04],\n", - " [-4.99600361e-15, -7.83359285e-04],\n", - " [ 1.33226763e-15, -8.41403959e-04],\n", - " [ 4.77395901e-15, -9.15431516e-04],\n", - " [-2.22044605e-16, -1.01661465e-03],\n", - " [ 3.77475828e-15, -1.17430457e-03],\n", - " [ 1.29488925e-06, -1.53697214e-03],\n", - " [ 3.16460020e-03, 1.93749443e-03],\n", - " [ 3.17685641e-03, 3.61711129e-02],\n", - " [ 3.18905387e-03, 7.04843014e-02],\n", - " [ 3.20119234e-03, nan]])\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 3.33066907e-16, 4.44089210e-16, 1.11022302e-16,\n", + " 1.11022302e-16, 1.11022302e-16, 3.33066907e-16, -1.11022302e-16,\n", + " -3.33066907e-16, -4.44089210e-16, -2.22044605e-16, -5.55111512e-16,\n", + " -3.33066907e-16, -4.44089210e-16, -5.55111512e-16, -4.44089210e-16,\n", + " -7.77156117e-16, -4.44089210e-16, 0.00000000e+00, 0.00000000e+00,\n", + " -1.11022302e-16, 0.00000000e+00, 3.33066907e-16, 1.11022302e-16,\n", + " 1.11022302e-16, -2.22044605e-16, 0.00000000e+00, -5.55111512e-16,\n", + " -3.33066907e-16, -1.11022302e-16, -4.44089210e-16, -4.44089210e-16,\n", + " -3.33066907e-16, 2.22044605e-16, 0.00000000e+00, 0.00000000e+00,\n", + " 2.22044605e-16, 1.11022302e-16, 2.22044605e-16, -1.11022302e-16,\n", + " 3.33066907e-16, 6.66133815e-16, 8.88178420e-16, 1.22124533e-15,\n", + " 3.88578059e-15, 4.10782519e-15, 1.02750769e-03, 1.03179676e-03,\n", + " 1.03606675e-03, 1.04031758e-03, 1.04454916e-03, 1.04876143e-03,\n", + " 1.05295429e-03, 1.05712769e-03, 1.06128153e-03, 1.06541574e-03,\n", + " 1.06953025e-03, 1.07362498e-03, 1.07769985e-03])\n", "Coordinates:\n", - " * id (id) int64 2 100\n", + " id int64 2\n", " * time (y) (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1342 0.1348 0.1355" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "swiftdiff['px']" + "swiftdiff['px'].sel(id=2)" ] }, { diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 39721a098..611ca99be 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -104,7 +104,7 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) integer(I4B), intent(in) :: irec !! Current recursion level integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration ! Internals - integer(I4B) :: i, irm1, irecl + integer(I4B) :: k, irm1, irecl real(DP) :: r, rr, ri, ris, rim1, r2, ir3, fac, faci, facj real(DP), dimension(NDIM) :: dx logical :: isplpl, lgoodlevel @@ -125,28 +125,28 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) else irecl = irec end if - do i = 1, self%nenc - associate(index_i => self%index1(i), index_j => self%index2(i)) + do k = 1, self%nenc + associate(i => self%index1(k), j => self%index2(k)) if (isplpl) then - pl%ah(:,index_i) = 0.0_DP - pl%ah(:,index_j) = 0.0_DP + pl%ah(:,i) = 0.0_DP + pl%ah(:,j) = 0.0_DP else - tp%ah(:,index_j) = 0.0_DP + tp%ah(:,j) = 0.0_DP end if if (isplpl) then - lgoodlevel = (pl%levelg(index_i) >= irm1) .and. (pl%levelg(index_j) >= irm1) + lgoodlevel = (pl%levelg(i) >= irm1) .and. (pl%levelg(j) >= irm1) else - lgoodlevel = (pl%levelg(index_i) >= irm1) .and. (tp%levelg(index_j) >= irm1) + lgoodlevel = (pl%levelg(i) >= irm1) .and. (tp%levelg(j) >= irm1) end if if ((self%status(i) == ACTIVE) .and. lgoodlevel) then if (isplpl) then - ri = ((pl%rhill(index_i) + pl%rhill(index_j))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + ri = ((pl%rhill(i) + pl%rhill(j))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) rim1 = ri * (RSHELL**2) - dx(:) = pl%xh(:,index_j) - pl%xh(:,index_i) + dx(:) = pl%xh(:,j) - pl%xh(:,i) else - ri = ((pl%rhill(index_i))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + ri = ((pl%rhill(i))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) rim1 = ri * (RSHELL**2) - dx(:) = tp%xh(:,index_j) - pl%xh(:,index_i) + dx(:) = tp%xh(:,j) - pl%xh(:,i) end if r2 = dot_product(dx(:), dx(:)) if (r2 < rim1) then @@ -160,24 +160,24 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) ir3 = 1.0_DP / (r2 * sqrt(r2)) fac = ir3 end if - faci = fac * pl%mass(index_i) + faci = fac * pl%mass(i) if (isplpl) then - facj = fac * pl%mass(index_j) - pl%ah(:,index_i) = pl%ah(:,index_i) + facj*dx(:) - pl%ah(:,index_j) = pl%ah(:,index_j) - faci*dx(:) + facj = fac * pl%mass(j) + pl%ah(:,i) = pl%ah(:,i) + facj*dx(:) + pl%ah(:,j) = pl%ah(:,j) - faci*dx(:) else - tp%ah(:,index_j) = tp%ah(:,index_j) - faci*dx(:) + tp%ah(:,j) = tp%ah(:,j) - faci*dx(:) end if end if end associate end do if (isplpl) then - do i = 1, self%nenc - associate(index_i => self%index1(i), index_j => self%index2(i)) - pl%vb(:,index_i) = pl%vb(:,index_i) + sgn * dt * pl%ah(:,index_i) - pl%vb(:,index_j) = pl%vb(:,index_j) + sgn * dt * pl%ah(:,index_j) - pl%ah(:,index_i) = 0.0_DP - pl%ah(:,index_j) = 0.0_DP + do k = 1, self%nenc + associate(i => self%index1(k), j => self%index2(k)) + pl%vb(:,i) = pl%vb(:,i) + sgn * dt * pl%ah(:,i) + pl%vb(:,j) = pl%vb(:,j) + sgn * dt * pl%ah(:,j) + pl%ah(:,i) = 0.0_DP + pl%ah(:,j) = 0.0_DP end associate end do else From 029ebc8b6cdea9548fb95c6aeed0aecaaca24cea Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Jul 2021 17:43:11 -0400 Subject: [PATCH 19/19] Made lbeg flag required instead of optional so I can correctly set beginning/ending states of pl variables --- src/helio/helio_kick.f90 | 26 ++++++++++++++++---------- src/modules/helio_classes.f90 | 4 ++-- src/modules/rmvs_classes.f90 | 2 +- src/modules/swiftest_classes.f90 | 4 ++-- src/modules/symba_classes.f90 | 4 ++-- src/modules/whm_classes.f90 | 4 ++-- src/rmvs/rmvs_kick.f90 | 8 ++++---- src/symba/symba_kick.f90 | 4 ++-- src/user/user_getacch.f90 | 2 +- src/whm/whm_kick.f90 | 23 +++++++++++++---------- 10 files changed, 45 insertions(+), 36 deletions(-) diff --git a/src/helio/helio_kick.f90 b/src/helio/helio_kick.f90 index b1949ac2f..fa601b7f7 100644 --- a/src/helio/helio_kick.f90 +++ b/src/helio/helio_kick.f90 @@ -14,21 +14,27 @@ module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step associate(cb => system%cb, pl => self, npl => self%nbody) call pl%accel_int() if (param%loblatecb) then - cb%aoblbeg = cb%aobl call pl%accel_obl(system) - cb%aoblend = cb%aobl + if (lbeg) then + cb%aoblbeg = cb%aobl + else + cb%aoblend = cb%aobl + end if if (param%ltides) then - cb%atidebeg = cb%atide call pl%accel_tides(system) - cb%atideend = cb%atide + if (lbeg) then + cb%atidebeg = cb%atide + else + cb%atideend = cb%atide + end if end if end if - if (param%lextra_force) call pl%accel_user(system, param, t) + if (param%lextra_force) call pl%accel_user(system, param, t, lbeg) !if (param%lgr) call pl%gr_accel(param) end associate @@ -48,17 +54,17 @@ module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step associate(tp => self, cb => system%cb, pl => system%pl, npl => system%pl%nbody) - if (present(lbeg)) system%lbeg = lbeg + system%lbeg = lbeg if (system%lbeg) then call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) else call tp%accel_int(pl%Gmass(:), pl%xend(:,:), npl) end if if (param%loblatecb) call tp%accel_obl(system) - if (param%lextra_force) call tp%accel_user(system, param, t) + if (param%lextra_force) call tp%accel_user(system, param, t, lbeg) !if (param%lgr) call tp%gr_accel(param) end associate return @@ -86,7 +92,7 @@ module subroutine helio_kick_vb_pl(self, system, param, t, dt, mask, lbeg) associate(pl => self, npl => self%nbody) if (npl ==0) return pl%ah(:,:) = 0.0_DP - call pl%accel(system, param, t) + call pl%accel(system, param, t, lbeg) if (lbeg) then call pl%set_beg_end(xbeg = pl%xh) else diff --git a/src/modules/helio_classes.f90 b/src/modules/helio_classes.f90 index c3dc0be62..2f8a52808 100644 --- a/src/modules/helio_classes.f90 +++ b/src/modules/helio_classes.f90 @@ -141,7 +141,7 @@ module subroutine helio_kick_getacch_pl(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine helio_kick_getacch_pl module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) @@ -151,7 +151,7 @@ module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine helio_kick_getacch_tp module subroutine helio_kick_vb_pl(self, system, param, t, dt, mask, lbeg) diff --git a/src/modules/rmvs_classes.f90 b/src/modules/rmvs_classes.f90 index a459e7246..8b0ad2c2f 100644 --- a/src/modules/rmvs_classes.f90 +++ b/src/modules/rmvs_classes.f90 @@ -143,7 +143,7 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest central body particle data structuree class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine rmvs_kick_getacch_tp module subroutine rmvs_setup_pl(self,n) diff --git a/src/modules/swiftest_classes.f90 b/src/modules/swiftest_classes.f90 index 7c160b780..417138122 100644 --- a/src/modules/swiftest_classes.f90 +++ b/src/modules/swiftest_classes.f90 @@ -310,7 +310,7 @@ subroutine abstract_accel(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step end subroutine abstract_accel subroutine abstract_initialize(self, param) @@ -729,7 +729,7 @@ module subroutine user_kick_getacch_body(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody_system_object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step end subroutine user_kick_getacch_body module subroutine util_coord_b2h_pl(self, cb) diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 85c65de34..72fb06ae7 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -220,7 +220,7 @@ module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine symba_kick_getacch_pl module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) @@ -229,7 +229,7 @@ module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine symba_kick_getacch_tp module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) diff --git a/src/modules/whm_classes.f90 b/src/modules/whm_classes.f90 index e30bd874f..46a4e3743 100644 --- a/src/modules/whm_classes.f90 +++ b/src/modules/whm_classes.f90 @@ -124,7 +124,7 @@ module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! WHM nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine whm_kick_getacch_pl !> Get heliocentric accelration of the test particle @@ -135,7 +135,7 @@ module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! WHM nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine whm_kick_getacch_tp module subroutine whm_kick_vh_pl(self, system, param, t, dt, mask, lbeg) diff --git a/src/rmvs/rmvs_kick.f90 b/src/rmvs/rmvs_kick.f90 index c68453d3d..6cba4caef 100644 --- a/src/rmvs/rmvs_kick.f90 +++ b/src/rmvs/rmvs_kick.f90 @@ -15,7 +15,7 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest central body particle data structuree class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals type(swiftest_parameters) :: param_planetocen real(DP), dimension(:, :), allocatable :: xh_original @@ -34,7 +34,7 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) class is (rmvs_cb) associate(xpc => pl%xh, xpct => self%xh, apct => self%ah, system_planetocen => system) - if (present(lbeg)) system_planetocen%lbeg = lbeg + system_planetocen%lbeg = lbeg if (system_planetocen%lbeg) then allocate(xhp, source=pl%xbeg) @@ -49,7 +49,7 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) param_planetocen%lextra_force = .false. param_planetocen%lgr = .false. ! Now compute the planetocentric values of acceleration - call whm_kick_getacch_tp(tp, system_planetocen, param_planetocen, t) + call whm_kick_getacch_tp(tp, system_planetocen, param_planetocen, t, lbeg) ! Now compute any heliocentric values of acceleration if (tp%lfirst) then @@ -66,7 +66,7 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) GMcb_original = cb%Gmass cb%Gmass = tp%cb_heliocentric%Gmass if (param%loblatecb) call tp%accel_obl(system_planetocen) - if (param%lextra_force) call tp%accel_user(system_planetocen, param, t) + if (param%lextra_force) call tp%accel_user(system_planetocen, param, t, lbeg) if (param%lgr) call tp%accel_gr(param) tp%xh(:,:) = xh_original(:,:) cb%Gmass = GMcb_original diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 611ca99be..4da46f5a6 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -15,7 +15,7 @@ module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current simulation time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals integer(I4B) :: k real(DP) :: irij3, rji2, rlim2, faci, facj @@ -59,7 +59,7 @@ module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals integer(I4B) :: k real(DP) :: rji2, fac, rlim2 diff --git a/src/user/user_getacch.f90 b/src/user/user_getacch.f90 index ccad7ea7d..2775de3dd 100644 --- a/src/user/user_getacch.f90 +++ b/src/user/user_getacch.f90 @@ -13,7 +13,7 @@ module subroutine user_kick_getacch_body(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody_system_object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters user parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the ste + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the ste return end subroutine user_kick_getacch_body diff --git a/src/whm/whm_kick.f90 b/src/whm/whm_kick.f90 index c5a60452a..4a8b68330 100644 --- a/src/whm/whm_kick.f90 +++ b/src/whm/whm_kick.f90 @@ -14,7 +14,7 @@ module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest central body particle data structure class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals integer(I4B) :: i real(DP), dimension(NDIM) :: ah0 @@ -33,9 +33,12 @@ module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) call pl%accel_int() if (param%loblatecb) then - cb%aoblbeg = cb%aobl call pl%accel_obl(system) - cb%aoblend = cb%aobl + if (lbeg) then + cb%aoblbeg = cb%aobl + else + cb%aoblend = cb%aobl + end if if (param%ltides) then cb%atidebeg = cb%aobl call pl%accel_tides(system) @@ -45,7 +48,7 @@ module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) if (param%lgr) call pl%accel_gr(param) - if (param%lextra_force) call pl%accel_user(system, param, t) + if (param%lextra_force) call pl%accel_user(system, param, t, lbeg) end associate return end subroutine whm_kick_getacch_pl @@ -63,16 +66,16 @@ module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest central body particle data structure class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! Current time - logical, optional, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals integer(I4B) :: i real(DP), dimension(NDIM) :: ah0 associate(tp => self, ntp => self%nbody, pl => system%pl, cb => system%cb, npl => system%pl%nbody) if (ntp == 0 .or. npl == 0) return - if (present(lbeg)) system%lbeg = lbeg + system%lbeg = lbeg - if (system%lbeg) then + if (lbeg) then ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xbeg(:,:), npl) do i = 1, ntp tp%ah(:, i) = tp%ah(:, i) + ah0(:) @@ -87,7 +90,7 @@ module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) end if if (param%loblatecb) call tp%accel_obl(system) - if (param%lextra_force) call tp%accel_user(system, param, t) + if (param%lextra_force) call tp%accel_user(system, param, t, lbeg) if (param%lgr) call tp%accel_gr(param) end associate return @@ -204,13 +207,13 @@ module subroutine whm_kick_vh_pl(self, system, param, t, dt, mask, lbeg) if (pl%lfirst) then call pl%h2j(cb) pl%ah(:,:) = 0.0_DP - call pl%accel(system, param, t) + call pl%accel(system, param, t, lbeg) pl%lfirst = .false. end if call pl%set_beg_end(xbeg = pl%xh) else pl%ah(:,:) = 0.0_DP - call pl%accel(system, param, t) + call pl%accel(system, param, t, lbeg) call pl%set_beg_end(xend = pl%xh) end if do concurrent(i = 1:npl, mask(i))