diff --git a/Makefile b/Makefile index dfc6fd5c0..c1945c17a 100644 --- a/Makefile +++ b/Makefile @@ -50,6 +50,7 @@ SWIFTEST_MODULES = swiftest_globals.f90 \ whm_classes.f90 \ rmvs_classes.f90 \ helio_classes.f90 \ + symba_classes.f90 \ util.f90 \ module_nrutil.f90 \ swiftest.f90 diff --git a/src/modules/helio_classes.f90 b/src/modules/helio_classes.f90 index d97a1608c..b7671883a 100644 --- a/src/modules/helio_classes.f90 +++ b/src/modules/helio_classes.f90 @@ -32,7 +32,6 @@ module helio_classes !! Helio massive body particle class type, public, extends(swiftest_pl) :: helio_pl - real(DP), dimension(:,:), allocatable :: ahi !! heliocentric acceleration due to interactions contains procedure, public :: vh2vb => helio_coord_vh2vb_pl !! Convert massive bodies from heliocentric to barycentric coordinates (velocity only) procedure, public :: vb2vh => helio_coord_vb2vh_pl !! Convert massive bodies from barycentric to heliocentric coordinates (velocity only) diff --git a/src/modules/swiftest.f90 b/src/modules/swiftest.f90 index 951f2c010..2b8749e2f 100644 --- a/src/modules/swiftest.f90 +++ b/src/modules/swiftest.f90 @@ -9,7 +9,7 @@ module swiftest use whm_classes use rmvs_classes use helio_classes - !use symba_classes + use symba_classes use util use module_nrutil !use advisor_annotate diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 new file mode 100644 index 000000000..1b3261f62 --- /dev/null +++ b/src/modules/symba_classes.f90 @@ -0,0 +1,43 @@ +module symba_classes + !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott + !! + !! Definition of classes and methods specific to the Democratic Heliocentric Method + !! Adapted from David E. Kaufmann's Swifter routine: helio.f90 + use swiftest_globals + use helio_classes, only : helio_cb, helio_pl, helio_tp, helio_nbody_system + implicit none + + + !******************************************************************************************************************************** + ! symba_nbody_system class definitions and method interfaces + !******************************************************************************************************************************** + type, public, extends(helio_nbody_system) :: symba_nbody_system + contains + end type symba_nbody_system + + !******************************************************************************************************************************** + ! symba_cb class definitions and method interfaces + !******************************************************************************************************************************* + !> Helio central body particle class + type, public, extends(helio_cb) :: symba_cb + contains + end type symba_cb + + !******************************************************************************************************************************** + ! symba_pl class definitions and method interfaces + !******************************************************************************************************************************* + + !! Helio massive body particle class + type, public, extends(helio_pl) :: symba_pl + contains + end type symba_pl + + !******************************************************************************************************************************** + ! symba_tp class definitions and method interfaces + !******************************************************************************************************************************* + + !! Helio test particle class + type, public, extends(helio_tp) :: symba_tp + contains + end type symba_tp +end module symba_classes \ No newline at end of file