Modules

ModuleSource FileDescription
abmv5_integratormodule_abmv5.f90

Module that provides a 5th order Adams-Bashford-Moulton multi-value ODE integrator.

Read more…
   abmv5_implementationsubmodule_abmv5_implementation.f90

The implementation of the interfaces defined in abmv5_integrator.

accelerated_circular_orbitmodule_circular_accelerated.f
all_integratorsmodule_all_integrators.f90

Module that provides a single view of all integrators. The implementation is provided in the module itself.

analytic_circular_orbitmodule_analytic_circular_orbit.f90
   analytic_circular_orbit_implementationsubmodule_analytic_circular_orbit_implementation.f90
DG_structuresmodule_DG_structures.f90

Module that defines the basic DG reference element type and the interface to it's constructor and finalizer as well as routines for calculating characteristic fluxes.

Read more…
   DG_implementationsubmodule_DG_implementation.f90

The implementation of the interfaces defined in DG_structures as well as internal routines that should never be called by a user.

effective_sourcemodule_effective_source.f90

Module that defines the abstract interface of an effective source class.

elementmodule_element.f90

Module that defines the concept of a DG element and various associated routines.

Read more…
   element_implementationsubmodule_element_implementation.f90

The implementation of the interfaces defined in element.

equationsmodule_equations.f90

Module that defines the abstract interface of an equation class.

geodesic_schwarzschildmodule_geod_schw.f90

Module that defines an equation class for evolving the geodesic equations with forcing in a Schwarzschild spacetime.

Read more…
   geodesic_schwarzschild_implementationsubmodule_geod_schw_implementation.f90

The implementation of the interfaces defined in geodesic_schwarzschild.

gridmodule_grid.f90

Module that defines the variables used to set up a grid for self-force calculations. This also includes an initialization routine.

   grid_implementationsubmodule_grid_implementation.f90

The implementation of the interfaces defined in grid.

grid_functionmodule_grid_function.f90

Module that defines the concept of a grid function and the interface of the associated routines.

Read more…
   grid_function_implementationsubmodule_grid_function_implementation.f90

The implementation of the interfaces defined in grid_function.

gsl_interfacemodule_gsl_interface.f90

Module that defines the Fortran interface for a couple of C-routines from the Gnu Scientific Libray (GSL).

kindsmodule_kinds.f90

Definition of the basic kind values and some basic constants.

method_of_linesmodule_mol.f90

Module that defines an abstract class for the concept of an ODE integrator. As this is just an abstract class, there is no implementation.

numericsmodule_numerics.f90

Module that contains a number of more or less useful numerical routines.

observersmodule_observers.f90

Module that defines the abstract interface of an observer class as well as some simple observers for extracting real and complex data values from grid functions.

Read more…
   observers_implementationsubmodule_observers_implementation.f90

The implementation of the interfaces defined in observers.

ode_equationsmodule_ode_equations.f90

Module that defines an ODE equation. It is derived from the equation class and provides the routines that are common for all ODE equation systems while deferring implementation of the routines that are specific to a given ODE equation system.

Read more…
   ode_equations_implementationsubmodule_ode_equations_implementation.f90

The implementation of the interfaces defined in ode_equations.

orbit_basemodule_orbit.f90

Module that defines a global orbit object that can be used to pass information between different equations using the save_globals/load_globals mechanism.

osculating_schwarzschildmodule_osc_schw.f90

Module that defines an equation class for evolving the geodesic equations using the osculating orbits framework with forcing in a Schwarzschild spacetime.

Read more…
   osculating_schwarzschild_implementationsubmodule_osc_schw_implementation.f90

The implementation of the interface defines in osculating_schwarzschild.

output_basemodule_output.f90

Module that provides basic IO functionality for keeping track of the next available file unit.

parametersmodule_parameters.f90

Definition of all parameters.

pde_equationsmodule_pde_equations.f90

Module that defines a PDE equation. It is derived from the equation class and provides the routines that are common for all PDE equation systems while deferring implementation of the routines that are specific to a given PDE equation system.

Read more…
   pde_equations_implementationsubmodule_pde_equations_implementation.f90

The implementation of the interfaces defined in pde_equations.

rk4_integratormodule_rk4.f90

Module that provides a 4th order low storage Runge-Kutta ODE integrator.

Read more…
   rk4_implementationsubmodule_rk4_implementation.f90

The implementation of the interfaces defined in rk4_integrator.

rk5_integratormodule_rk5.f90

Module that provides a 5th order continuous explicit Runge-Kutta ODE integrator (see Verner & Zennaro, 1995, Mathematics of Computation, 64, 211, 1123-1146).

Read more…
   rk5_implementationsubmodule_rk5_implementation.f90

The implementation of the interfaces defined in rk5_integrator.

scalar_schwmodule_scalar_schw.f90

Module that defines an equation class for evolving the spherical harmonic decomposed field of a scalar point charge moving in a Schwarzschild spacetime. From the starting point of the wave equation in Tortoise coordinates, the class supports the use of hyperboloidal coordinates in regions near the horizon and near future null infinity as well as time dependent coordinates for the case of a particle on a non-circular orbit. The class interfaces with an effective source provided as C++ routines.

Read more…
   scalar_schw_implementationsubmodule_scalar_schw_implementation.f90

The implementation of the interfaces defined in scalar_schw.

scalar_schw_effmodule_scalar_schw_eff_source.f90

Module that defines an effective source class for a generic effective source for a scalar charge in orbit around a Schwarzschild black hole.

Read more…
   scalar_schw_eff_implementationsubmodule_scalar_schw_eff_source_implementation.f90

The implementation of the interfaces provided in scalar_schw_eff.

self_force_basemodule_self_force.f90

Module that defines a global self-force object that can be used to pass information between different equations using the save_globals/load_globals mechanism.

self_force_observermodule_self_force_observer.f90

Module that defines the interface for a self-force observer class for a scalar charge in orbit around a Schwarzschild black hole, i.e. it provides extraction of the self-force from the variables in scalar_schw).

Read more…
   self_force_observer_implementationsubmodule_self_force_observer_implementation.f90

The implementation of the interface in self_force_observer.

singular_observermodule_singular_observer.f90
   singuler_observer_implementationsubmodule_singular_observer_implementation.f90
time_dependent_coordinatemodule_time_dependent_coordinate.f90

Module that defines the interface for a class that provides the routines necessary for the use of time dependent coordinates. This is currently tied to supporting the scalar wave equation on a Schwarzschild background provided in scalar_schw.

Read more…
   time_dependent_coordinate_implementationsubmodule_time_dependent_coordinate_implementation.f90

Implementation of the interfaces defined in time_dependent_coordinate.

time_infomodule_time.f90

Module with variables and routines to keep track of time.

Read more…
world_tubemodule_world_tube.f90

Module that defines a world-tube class.

Read more…
   world_tube_implementationsubmodule_world_tube_implementation.f90

Implementation of the interfaces in world_tube.

module~~graph~~ModuleGraph module~observers observers module~kinds kinds module~observers->module~kinds module~grid_function grid_function module~observers->module~grid_function module~ode_equations_implementation ode_equations_implementation module~ode_equations ode_equations module~ode_equations_implementation->module~ode_equations module~self_force_observer self_force_observer module~self_force_observer->module~observers module~scalar_schw scalar_schw module~self_force_observer->module~scalar_schw module~dg_structures DG_structures module~dg_structures->module~kinds module~world_tube_implementation world_tube_implementation module~world_tube world_tube module~world_tube_implementation->module~world_tube module~singular_observer singular_observer module~singular_observer->module~observers module~effective_source effective_source module~singular_observer->module~effective_source module~time_dependent_coordinate time_dependent_coordinate module~time_dependent_coordinate->module~kinds module~time_dependent_coordinate->module~grid_function module~scalar_schw->module~dg_structures module~scalar_schw->module~time_dependent_coordinate module~scalar_schw_eff scalar_schw_eff module~scalar_schw->module~scalar_schw_eff module~scalar_schw->module~kinds module~scalar_schw->module~grid_function module~orbit_base orbit_base module~scalar_schw->module~orbit_base module~pde_equations pde_equations module~scalar_schw->module~pde_equations iso_c_binding iso_c_binding module~scalar_schw->iso_c_binding module~grid_function_implementation grid_function_implementation module~grid_function_implementation->module~grid_function module~method_of_lines method_of_lines module~method_of_lines->module~kinds module~equations equations module~method_of_lines->module~equations module~dg_implementation DG_implementation module~dg_implementation->module~dg_structures module~scalar_schw_eff->module~effective_source module~scalar_schw_eff->module~kinds module~scalar_schw_eff->iso_c_binding module~element_implementation element_implementation module~element element module~element_implementation->module~element module~self_force_base self_force_base module~self_force_base->module~kinds module~abmv5_implementation abmv5_implementation module~abmv5_integrator abmv5_integrator module~abmv5_implementation->module~abmv5_integrator module~singuler_observer_implementation singuler_observer_implementation module~singuler_observer_implementation->module~singular_observer module~osculating_schwarzschild_implementation osculating_schwarzschild_implementation module~osculating_schwarzschild osculating_schwarzschild module~osculating_schwarzschild_implementation->module~osculating_schwarzschild module~element->module~kinds module~osculating_schwarzschild->module~kinds module~osculating_schwarzschild->module~ode_equations module~grid grid module~grid->module~element module~grid->module~kinds module~grid->module~grid_function module~scalar_schw_eff_implementation scalar_schw_eff_implementation module~scalar_schw_eff_implementation->module~scalar_schw_eff module~analytic_circular_orbit_implementation analytic_circular_orbit_implementation module~analytic_circular_orbit analytic_circular_orbit module~analytic_circular_orbit_implementation->module~analytic_circular_orbit module~time_dependent_coordinate_implementation time_dependent_coordinate_implementation module~time_dependent_coordinate_implementation->module~time_dependent_coordinate module~world_tube->module~kinds module~world_tube->module~grid_function module~pde_equations_implementation pde_equations_implementation module~pde_equations_implementation->module~pde_equations module~effective_source->module~world_tube module~effective_source->module~kinds module~effective_source->module~grid_function module~effective_source->iso_c_binding module~observers_implementation observers_implementation module~observers_implementation->module~observers module~parameters parameters module~parameters->module~kinds module~geodesic_schwarzschild geodesic_schwarzschild module~geodesic_schwarzschild->module~kinds module~geodesic_schwarzschild->module~ode_equations module~rk4_integrator rk4_integrator module~rk4_integrator->module~method_of_lines module~rk4_integrator->module~kinds module~rk4_implementation rk4_implementation module~rk4_implementation->module~rk4_integrator module~rk5_integrator rk5_integrator module~rk5_integrator->module~method_of_lines module~rk5_integrator->module~kinds module~analytic_circular_orbit->module~kinds module~analytic_circular_orbit->module~equations module~time_info time_info module~time_info->module~kinds module~rk5_implementation rk5_implementation module~rk5_implementation->module~rk5_integrator module~all_integrators all_integrators module~all_integrators->module~rk4_integrator module~all_integrators->module~rk5_integrator module~all_integrators->module~abmv5_integrator module~numerics numerics module~numerics->module~kinds module~equations->module~kinds module~accelerated_circular_orbit accelerated_circular_orbit module~accelerated_circular_orbit->module~kinds module~accelerated_circular_orbit->module~parameters module~geodesic_schwarzschild_implementation geodesic_schwarzschild_implementation module~geodesic_schwarzschild_implementation->module~geodesic_schwarzschild module~grid_function->module~element module~grid_function->module~kinds module~orbit_base->module~kinds module~self_force_observer_implementation self_force_observer_implementation module~self_force_observer_implementation->module~self_force_observer module~abmv5_integrator->module~method_of_lines module~abmv5_integrator->module~kinds module~scalar_schw_implementation scalar_schw_implementation module~scalar_schw_implementation->module~scalar_schw module~pde_equations->module~kinds module~pde_equations->module~equations module~pde_equations->module~grid_function module~grid_implementation grid_implementation module~grid_implementation->module~grid module~output_base output_base module~output_base->module~kinds module~ode_equations->module~kinds module~ode_equations->module~equations module~gsl_interface gsl_interface module~gsl_interface->module~kinds module~gsl_interface->iso_c_binding program~test test program~test->module~observers program~test->module~self_force_observer program~test->module~dg_structures program~test->module~singular_observer program~test->module~scalar_schw program~test->module~scalar_schw_eff program~test->module~self_force_base program~test->module~osculating_schwarzschild program~test->module~grid program~test->module~world_tube program~test->module~parameters program~test->module~geodesic_schwarzschild program~test->module~analytic_circular_orbit program~test->module~time_info program~test->module~all_integrators program~test->module~numerics proc~scal_schw_eff_set_particle_pos scal_schw_eff_set_particle_pos proc~scal_schw_eff_set_particle_pos->iso_c_binding proc~abmv5_init abmv5_init proc~abmv5_init->module~rk4_integrator proc~abmv5_init->module~time_info proc~abmv5_init->module~numerics proc~sobs_output sobs_output proc~sobs_output->module~time_info proc~sobs_output->module~output_base proc~scal_schw_rhs scal_schw_rhs proc~scal_schw_rhs->module~self_force_base proc~scal_schw_rhs->module~grid proc~scal_schw_rhs->module~world_tube proc~scal_schw_rhs->module~parameters proc~scal_schw_rhs->module~time_info proc~scal_schw_rhs->module~numerics proc~osc_schw_init osc_schw_init proc~osc_schw_init->module~parameters proc~osc_schw_init->module~all_integrators proc~correct_for_higher_modes correct_for_higher_modes proc~correct_for_higher_modes->module~gsl_interface proc~mol_ntmp mol_ntmp proc~mol_ntmp->module~parameters proc~sobs_init sobs_init proc~sobs_init->module~grid proc~sobs_init->module~effective_source proc~sobs_init->module~parameters proc~output_rgf output_rgf proc~output_rgf->module~time_info proc~output_rgf->module~output_base proc~output output proc~output->module~time_info proc~output->module~output_base proc~scal_schw_init scal_schw_init proc~scal_schw_init->module~grid proc~scal_schw_init->module~parameters proc~scal_schw_init->module~all_integrators proc~scal_schw_init->module~numerics proc~co_init co_init proc~co_init->module~parameters proc~scal_schw_eff_get_singular scal_schw_eff_get_singular proc~scal_schw_eff_get_singular->iso_c_binding proc~scal_schw_eff_get_dsingular_dr scal_schw_eff_get_dsingular_dr proc~scal_schw_eff_get_dsingular_dr->module~parameters proc~scal_schw_eff_get_dsingular_dr->iso_c_binding proc~convert_rschw_to_rstar convert_rschw_to_rstar proc~convert_rschw_to_rstar->module~parameters proc~convert_rschw_to_rstar->module~numerics proc~invert_pe invert_pe proc~invert_pe->module~parameters proc~tdc_set_coefficients tdc_set_coefficients proc~tdc_set_coefficients->module~grid proc~tdc_set_coefficients->module~parameters proc~tdc_set_coefficients->module~numerics proc~tdc_set_coefficients->module~orbit_base proc~scal_schw_save_globals_2 scal_schw_save_globals_2 proc~scal_schw_save_globals_2->module~self_force_observer proc~scal_schw_save_globals_2->module~self_force_base proc~scal_schw_save_globals_2->module~parameters proc~scal_schw_save_globals_2->module~time_info proc~sf_output sf_output proc~sf_output->module~time_info proc~sf_output->module~output_base proc~scal_schw_eff_evaluate_source scal_schw_eff_evaluate_source proc~scal_schw_eff_evaluate_source->iso_c_binding proc~choose_integrator choose_integrator proc~choose_integrator->module~parameters proc~scal_schw_eff_set_time_window scal_schw_eff_set_time_window proc~scal_schw_eff_set_time_window->iso_c_binding proc~init_grid_coordinates init_grid_coordinates proc~init_grid_coordinates->module~dg_structures proc~init_grid_coordinates->module~parameters proc~init_grid_coordinates->module~numerics proc~sf_init sf_init proc~sf_init->module~parameters proc~geod_schw_save_globals_1 geod_schw_save_globals_1 proc~geod_schw_save_globals_1->module~parameters proc~geod_schw_save_globals_1->module~orbit_base proc~output_coords output_coords proc~output_coords->module~grid proc~output_coords->module~parameters proc~output_coords->module~time_info proc~output_coords->module~numerics proc~output_coords->module~output_base proc~sf_extract sf_extract proc~sf_extract->module~parameters proc~sf_extract->module~time_info proc~sf_extract->module~numerics proc~sf_extract->module~orbit_base proc~sf_extract->module~gsl_interface proc~output_cgfb output_cgfb proc~output_cgfb->module~time_info proc~output_cgfb->module~output_base proc~output_rgfb output_rgfb proc~output_rgfb->module~time_info proc~output_rgfb->module~output_base proc~cobs_output cobs_output proc~cobs_output->module~time_info proc~cobs_output->module~output_base proc~geod_schw_output geod_schw_output proc~geod_schw_output->module~time_info proc~geod_schw_output->module~output_base proc~output_cgf output_cgf proc~output_cgf->module~time_info proc~output_cgf->module~output_base proc~get_elem_flux get_elem_flux proc~get_elem_flux->module~grid proc~get_elem_flux->module~world_tube proc~get_elem_flux->module~parameters proc~get_elem_flux->module~grid_function proc~scal_schw_eff_get_dsingular_dt scal_schw_eff_get_dsingular_dt proc~scal_schw_eff_get_dsingular_dt->iso_c_binding proc~init_wtube init_wtube proc~init_wtube->module~parameters proc~geod_schw_rhs geod_schw_rhs proc~geod_schw_rhs->module~parameters proc~tdc_init tdc_init proc~tdc_init->module~parameters proc~output_igfb output_igfb proc~output_igfb->module~time_info proc~output_igfb->module~output_base proc~abmv5_step abmv5_step proc~abmv5_step->module~time_info proc~geod_schw_init geod_schw_init proc~geod_schw_init->module~parameters proc~geod_schw_init->module~all_integrators proc~co_save_globals_1 co_save_globals_1 proc~co_save_globals_1->module~self_force_base proc~co_save_globals_1->module~parameters proc~co_save_globals_1->module~time_info proc~co_save_globals_1->module~accelerated_circular_orbit proc~co_save_globals_1->module~orbit_base proc~construct_filename construct_filename proc~construct_filename->module~parameters proc~get_force get_force proc~get_force->module~parameters proc~get_force->module~time_info proc~get_force->module~numerics proc~get_force->module~orbit_base proc~co_output co_output proc~co_output->module~time_info proc~co_output->module~output_base proc~scal_schw_load_globals scal_schw_load_globals proc~scal_schw_load_globals->module~grid proc~scal_schw_load_globals->module~parameters proc~scal_schw_load_globals->module~time_info proc~rk4_step rk4_step proc~rk4_step->module~time_info proc~read_all_modes read_all_modes proc~read_all_modes->module~grid proc~read_all_modes->module~world_tube proc~read_all_modes->module~parameters proc~read_all_modes->module~output_base proc~flux flux proc~flux->module~kinds proc~geod_schw_load_globals geod_schw_load_globals proc~geod_schw_load_globals->module~self_force_base proc~geod_schw_load_globals->module~parameters proc~geod_schw_load_globals->module~time_info proc~geod_schw_load_globals->module~orbit_base proc~osc_schw_output osc_schw_output proc~osc_schw_output->module~time_info proc~osc_schw_output->module~output_base proc~scal_schw_eff_init scal_schw_eff_init proc~scal_schw_eff_init->module~scalar_schw proc~scal_schw_eff_init->module~parameters proc~scal_schw_eff_init->iso_c_binding proc~rk5_step rk5_step proc~rk5_step->module~time_info proc~circ_accel circ_accel proc~circ_accel->module~kinds proc~n_unique_values n_unique_values proc~n_unique_values->iso_c_binding proc~osc_schw_load_globals osc_schw_load_globals proc~osc_schw_load_globals->module~self_force_base proc~osc_schw_load_globals->module~parameters proc~osc_schw_load_globals->module~time_info proc~osc_schw_save_globals_1 osc_schw_save_globals_1 proc~osc_schw_save_globals_1->module~time_info proc~osc_schw_save_globals_1->module~orbit_base
Help