Modules

ModuleSource FileDescription
base base_module.f90

Base type definitions. This allows the collision and encounter modules to be defined before the swiftest module.

bindings_module bindings_module.f90
coarray coarray_module.f90

Utilities that are used for coarray test particles

   s_coarray_clone coarray_clone.f90
   s_coarray_collect coarray_collect.f90
collision collision_module.f90

Definition of classes and methods used to determine close encounters NetCDF dimension and variable names for the enounter save object

   s_collision_generate collision_generate.f90
   s_collision_io collision_io.f90
   s_collision_regime collision_regime.f90
   s_collision_util collision_util.f90
   s_collision_check collision_check.f90
   s_collision_resolve collision_resolve.f90
encounter encounter_module.f90

Definition of classes and methods used to determine close encounters

   s_encounter_check encounter_check.f90
   s_encounter_io encounter_io.f90
   s_encounter_util encounter_util.f90
fraggle fraggle_module.f90

Definition of classes and methods specific to Fraggle: Fragment generation that conserves angular momentum (L) and energy (E)

   s_fraggle_util fraggle_util.f90
   s_fraggle_generate fraggle_generate.f90
helio helio_module.f90

Definition of classes and methods specific to the Democratic Heliocentric Method Adapted from David E. Kaufmann’s Swifter routine: module_helio.f90

   s_helio_drift helio_drift.f90
   s_helio_gr helio_gr.f90
   s_helio_kick helio_kick.f90
   s_helio_step helio_step.f90
   s_helio_util helio_util.f90
io_progress_bar io_progress_bar_module.f90

Definition of classes and methods used to determine close encounters

lambda_function lambda_function_module.f90

Defines a class that can enable objects that behave like lambda functions.

Read more…
netcdf_io netcdf_io_module.f90

Base type definitions. This allows the collision and encounter modules to be defined before the swiftest module. This derived datatype stores the NetCDF ID values for each of the variables included in the NetCDF data file. This is used as the base class defined in base

   s_netcdf_io_implementations netcdf_io_implementations.f90
operators operator_module.f90

Custom operators, including A .cross. B = Cross product of A(1:NDIM) and B(1:NDIM)

Read more…
   s_operator_mag operator_mag.f90

author: David A. Minton

Read more…
   s_operator_unit operator_unit.f90

author: David A. Minton

Read more…
   s_operator_cross operator_cross.f90

author: David A. Minton

Read more…
rmvs rmvs_module.f90

Definition of classes and methods specific to the Regularized Mixed Variable Symplectic (INT_RMVS) integrator Partially adapted from David E. Kaufmann’s Swifter module: module_rmvs.f90 RMVS test particle class

   s_rmvs_discard rmvs_discard.f90
   s_rmvs_encounter_check rmvs_encounter_check.f90
   s_rmvs_kick rmvs_kick.f90
   s_rmvs_step rmvs_step.f90
   s_rmvs_util rmvs_util.f90
shgrav shgrav_module.f90

This module defines functions used for the computation of accelerations based on spherical harmonics representation of the gravitational potential of the central body. It uses the SHTOOLS library https://shtools.github.io/SHTOOLS/

   s_shgrav_accel shgrav_accel.f90
   s_shgrav_pot shgrav_pot.f90
solver solver_module.f90

Contains a 4th order Runge-Kutta-Fehlberg ODE solver and a linear system of equations solver

swiftest swiftest_module.f90

This module serves to combine all of the Swiftest project modules under a single umbrella so that they can be accessed from individual submodule implementations with a simple “use swiftest” line.

Read more…
   s_swiftest_discard swiftest_discard.f90
   s_swiftest_drift swiftest_drift.f90
   s_swiftest_driver swiftest_driver.f90
   s_swiftest_gr swiftest_gr.f90
   s_swiftest_kick swiftest_kick.f90
   s_swiftest_orbel swiftest_orbel.f90

Code converted to Modern Fortran by David A. Minton Date: 2020-06-29

Read more…
   s_swiftest_user swiftest_user.f90
   s_swiftest_obl swiftest_obl.f90
   s_swiftest_coarray swiftest_coarray.f90
   s_swiftest_io swiftest_io.f90
   s_swiftest_util swiftest_util.f90
symba symba_module.f90

Definition of classes and methods specific to the SyMBA integrator Adapted from David E. Kaufmann’s Swifter routine: module_symba.f90

   s_symba_discard symba_discard.f90
   s_symba_drift symba_drift.f90
   s_symba_encounter_check symba_encounter_check.f90
   s_symba_gr symba_gr.f90
   s_symba_kick symba_kick.f90
   s_symba_step symba_step.f90
   s_symba_util symba_util.f90
tides tides_module.f90

Definition of classes and methods used to determine close encounters

   s_tides_kick_getacch tides_getacch_pl.f90
   s_tides_step_rot tides_spin_step.f90
walltime walltime_module.f90

Classes and methods used to compute elasped wall time

   s_walltime walltime_implementations.f90
whm whm_module.f90

Definition of classes and methods specific to the Democratic Heliocentric Method Partially adapted from David E. Kaufmann’s Swifter module: module_whm.f90

   s_whm_coord whm_coord.f90
   s_whm_gr whm_gr.f90
   s_whm_kick whm_kick.f90
   s_whm_step whm_step.f90
   s_whm_util whm_util.f90
   whm_drift whm_drift.f90
module~~graph~~ModuleGraph module~base base module~coarray coarray module~base->module~coarray globals globals module~base->globals module~bindings_module bindings_module module~swiftest swiftest module~bindings_module->module~swiftest iso_c_binding iso_c_binding module~bindings_module->iso_c_binding module~coarray->globals module~collision collision module~collision->module~base module~encounter encounter module~collision->module~encounter module~collision->globals module~encounter->module~base module~netcdf_io netcdf_io module~encounter->module~netcdf_io module~encounter->globals module~fraggle fraggle module~fraggle->module~swiftest module~helio helio module~helio->module~swiftest module~whm whm module~helio->module~whm module~io_progress_bar io_progress_bar module~io_progress_bar->module~base module~io_progress_bar->globals module~lambda_function lambda_function module~lambda_function->globals module~netcdf_io->module~base module~netcdf_io->globals module~operators operators module~operators->globals module~rmvs rmvs module~rmvs->module~swiftest module~rmvs->module~whm module~s_coarray_clone s_coarray_clone module~s_coarray_clone->module~coarray module~s_coarray_clone->module~swiftest module~s_coarray_collect s_coarray_collect module~s_coarray_collect->module~coarray module~s_coarray_collect->module~swiftest module~s_collision_check s_collision_check module~s_collision_check->module~collision module~s_collision_check->module~swiftest module~symba symba module~s_collision_check->module~symba module~s_collision_generate s_collision_generate module~s_collision_generate->module~collision module~s_collision_generate->module~swiftest module~s_collision_io s_collision_io module~s_collision_io->module~collision module~s_collision_io->module~swiftest module~s_collision_regime s_collision_regime module~s_collision_regime->module~collision module~s_collision_regime->module~swiftest module~s_collision_resolve s_collision_resolve module~s_collision_resolve->module~collision module~s_collision_resolve->module~swiftest module~s_collision_util s_collision_util module~s_collision_util->module~collision module~s_collision_util->module~swiftest module~s_encounter_check s_encounter_check module~s_encounter_check->module~encounter module~s_encounter_check->module~swiftest module~s_encounter_io s_encounter_io module~s_encounter_io->module~encounter module~s_encounter_io->module~swiftest module~s_encounter_util s_encounter_util module~s_encounter_util->module~encounter module~s_encounter_util->module~swiftest module~s_fraggle_generate s_fraggle_generate module~s_fraggle_generate->module~fraggle module~s_fraggle_generate->module~swiftest module~s_fraggle_generate->module~symba module~s_fraggle_util s_fraggle_util module~s_fraggle_util->module~fraggle module~s_fraggle_util->module~swiftest module~s_helio_drift s_helio_drift module~s_helio_drift->module~helio module~s_helio_drift->module~swiftest module~s_helio_gr s_helio_gr module~s_helio_gr->module~helio module~s_helio_gr->module~swiftest module~s_helio_kick s_helio_kick module~s_helio_kick->module~helio module~s_helio_kick->module~swiftest module~s_helio_step s_helio_step module~s_helio_step->module~helio module~s_helio_step->module~swiftest module~s_helio_util s_helio_util module~s_helio_util->module~helio module~s_helio_util->module~swiftest module~s_netcdf_io_implementations s_netcdf_io_implementations module~s_netcdf_io_implementations->module~netcdf_io netcdf netcdf module~s_netcdf_io_implementations->netcdf module~s_operator_cross s_operator_cross module~s_operator_cross->module~operators module~s_operator_cross->module~swiftest ieee_exceptions ieee_exceptions module~s_operator_cross->ieee_exceptions module~s_operator_mag s_operator_mag module~s_operator_mag->module~operators module~s_operator_mag->ieee_exceptions module~s_operator_unit s_operator_unit module~s_operator_unit->module~operators module~s_operator_unit->ieee_exceptions module~s_rmvs_discard s_rmvs_discard module~s_rmvs_discard->module~rmvs module~s_rmvs_discard->module~swiftest module~s_rmvs_encounter_check s_rmvs_encounter_check module~s_rmvs_encounter_check->module~rmvs module~s_rmvs_encounter_check->module~swiftest module~s_rmvs_kick s_rmvs_kick module~s_rmvs_kick->module~rmvs module~s_rmvs_kick->module~swiftest module~s_rmvs_step s_rmvs_step module~s_rmvs_step->module~rmvs module~s_rmvs_step->module~swiftest module~s_rmvs_util s_rmvs_util module~s_rmvs_util->module~rmvs module~s_rmvs_util->module~swiftest module~s_shgrav_accel s_shgrav_accel module~shgrav shgrav module~s_shgrav_accel->module~shgrav module~s_shgrav_accel->module~swiftest SHTOOLS SHTOOLS module~s_shgrav_accel->SHTOOLS module~s_shgrav_pot s_shgrav_pot module~s_shgrav_pot->module~shgrav module~s_shgrav_pot->module~swiftest module~s_shgrav_pot->SHTOOLS module~s_swiftest_coarray s_swiftest_coarray module~s_swiftest_coarray->module~coarray module~s_swiftest_coarray->module~swiftest module~s_swiftest_discard s_swiftest_discard module~s_swiftest_discard->module~swiftest module~s_swiftest_drift s_swiftest_drift module~s_swiftest_drift->module~swiftest module~s_swiftest_driver s_swiftest_driver module~s_swiftest_driver->module~swiftest module~s_swiftest_gr s_swiftest_gr module~s_swiftest_gr->module~swiftest module~s_swiftest_io s_swiftest_io module~s_swiftest_io->module~swiftest module~s_swiftest_io->module~symba module~s_swiftest_io->netcdf module~s_swiftest_kick s_swiftest_kick module~s_swiftest_kick->module~swiftest module~s_swiftest_obl s_swiftest_obl module~s_swiftest_obl->module~shgrav module~s_swiftest_obl->module~swiftest module~s_swiftest_orbel s_swiftest_orbel module~s_swiftest_orbel->module~swiftest module~s_swiftest_user s_swiftest_user module~s_swiftest_user->module~swiftest module~s_swiftest_util s_swiftest_util module~s_swiftest_util->module~fraggle module~s_swiftest_util->module~helio module~s_swiftest_util->module~rmvs module~s_swiftest_util->module~swiftest module~s_swiftest_util->module~symba module~s_swiftest_util->module~whm module~s_symba_discard s_symba_discard module~s_symba_discard->module~swiftest module~s_symba_discard->module~symba module~s_symba_drift s_symba_drift module~s_symba_drift->module~swiftest module~s_symba_drift->module~symba module~s_symba_encounter_check s_symba_encounter_check module~s_symba_encounter_check->module~swiftest module~s_symba_encounter_check->module~symba module~s_symba_gr s_symba_gr module~s_symba_gr->module~swiftest module~s_symba_gr->module~symba module~s_symba_kick s_symba_kick module~s_symba_kick->module~swiftest module~s_symba_kick->module~symba module~s_symba_step s_symba_step module~s_symba_step->module~swiftest module~s_symba_step->module~symba module~s_symba_util s_symba_util module~s_symba_util->module~fraggle module~s_symba_util->module~swiftest module~s_symba_util->module~symba module~s_tides_kick_getacch s_tides_kick_getacch module~s_tides_kick_getacch->module~swiftest module~tides tides module~s_tides_kick_getacch->module~tides module~s_tides_step_rot s_tides_step_rot module~s_tides_step_rot->module~swiftest module~s_tides_step_rot->module~tides module~s_walltime s_walltime module~s_walltime->module~swiftest module~walltime walltime module~s_walltime->module~walltime module~s_whm_coord s_whm_coord module~s_whm_coord->module~swiftest module~s_whm_coord->module~whm module~s_whm_gr s_whm_gr module~s_whm_gr->module~swiftest module~s_whm_gr->module~whm module~s_whm_kick s_whm_kick module~s_whm_kick->module~swiftest module~s_whm_kick->module~whm module~s_whm_step s_whm_step module~s_whm_step->module~swiftest module~s_whm_step->module~whm module~s_whm_util s_whm_util module~s_whm_util->module~swiftest module~s_whm_util->module~whm module~shgrav->module~swiftest module~solver solver module~solver->module~base module~solver->module~lambda_function module~solver->globals module~solver->ieee_exceptions module~swiftest->module~base module~swiftest->module~collision module~swiftest->module~encounter module~swiftest->module~io_progress_bar module~swiftest->module~lambda_function module~swiftest->module~netcdf_io module~swiftest->module~operators module~swiftest->module~solver module~swiftest->module~walltime module~swiftest->globals module~symba->module~helio module~symba->module~swiftest module~tides->module~base module~tides->module~lambda_function module~walltime->module~base module~walltime->globals module~whm->module~swiftest module~whm_drift whm_drift module~whm_drift->module~swiftest module~whm_drift->module~whm program~main main program~main->module~swiftest
Help