From f1502c059f188c0f88ad1c47c715b0a7d3ab3308 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Sun, 4 Dec 2022 18:15:50 -0500 Subject: [PATCH] Added the symba_util_take_system_snapshot implementation interface --- src/symba/symba_util.f90 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index e01392599..3fd00efc8 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -499,6 +499,20 @@ module subroutine symba_util_final_system(self) end subroutine symba_util_final_system + module subroutine symba_util_final_snapshot(self) + !! author: David A. Minton + !! + !! Finalize the SyMBA nbody system object - deallocates all allocatables + implicit none + ! Argument + type(symba_system_snapshot), intent(inout) :: self !! SyMBA nbody system object + + call self%dealloc() + + return + end subroutine symba_util_final_snapshot + + module subroutine symba_util_final_tp(self) !! author: David A. Minton !! @@ -1279,4 +1293,19 @@ module subroutine symba_util_spill_tp(self, discards, lspill_list, ldestructive) return end subroutine symba_util_spill_tp + + module subroutine symba_util_take_system_snapshot(self, system, param, t) + !! author: David A. Minton + !! + !! Takes a minimal snapshot of the state of the system during an encounter so that the trajectories + !! Can be played back through the encounter + implicit none + class(symba_system_snapshot), intent(inout) :: self !! SyMBA nbody system snapshot object + class(symba_nbody_system), intent(in) :: system !! SyMBA nbody system object + class(symba_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! current time + + return + end subroutine symba_util_take_system_snapshot + end submodule s_symba_util