Module that defines an equation class for evolving the geodesic equations using the osculating orbits framework with forcing in a Schwarzschild spacetime.
The implementation is found in submodule_osc_schw_implementation.f90.
The interface for the geod_schw version of init. This interface is consistent with eq_init_interface.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(osc_schw), | intent(inout), | target | :: | this | The equation that is being initialized. |
The interface for the geod_schw version of rhs. This interface is consistent with eq_rhs_interface.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(osc_schw), | intent(inout) | :: | this | The equation for which the RHS is calculated. |
The interface for the geod_schw version of save_globals_1. This interface is consistent with eq_save_globals_1.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(osc_schw), | intent(inout) | :: | this | The routine is called on this equation. |
The interface for the geod_schw version of save_globals_2. This interface is consistent with eq_save_globals_2.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(osc_schw), | intent(inout) | :: | this | The routine is called on this equation. |
The interface for the geod_schw version of load_globals. This interface is consistent with eq_load_globals.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(osc_schw), | intent(inout) | :: | this | The routine is called on this equation. |
The interface for the calc_dependent routine that calculates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(osc_schw), | intent(inout) | :: | this | The routine is called on this equation. |
The interface for the close_geod_schw routine that provides a finalizer.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(osc_schw) | :: | this | The equation that is being finalized. |
A class that defines the osculating orbit evolution equations for a particle !! moving in a Schwarzschild spacetime.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | ntmp | The number of temporary storage variables to allocate. |
|||
character(len=:), | public, | allocatable | :: | ename | The name of the system of equations |
||
integer(kind=ip), | public | :: | nvars | The number of variables in the ODE system. |
|||
real(kind=wp), | public, | dimension(:), allocatable | :: | var_data | A 1d array of reals that contains the data variables. |
||
real(kind=wp), | public, | dimension(:), allocatable | :: | rhs_data | A 1d array of reals that contains the RHS variables. |
||
real(kind=wp), | public, | dimension(:,:), allocatable | :: | tmp_data | A 2d array of reals that contains the temporary variables needed by the time integrator. |
||
integer(kind=ip), | public | :: | io_id | The file unit id used for output for this system of ODE's. |
|||
real(kind=wp), | public | :: | En | The orbital energy per unit mass. |
|||
real(kind=wp), | public | :: | Lz | The orbital angular momentum per unit mass. |
|||
real(kind=wp), | public | :: | e | The orbital eccentricity, . |
|||
real(kind=wp), | public | :: | r | The radial coordinate in Schwarzschild coordinates, . |
|||
real(kind=wp), | public | :: | d2chidt2 | The second time derivative of . |
|||
real(kind=wp), | public | :: | drdt | The time derivative of . |
|||
real(kind=wp), | public | :: | d2rdt2 | The second time derivative of . |
|||
real(kind=wp), | public | :: | w | The value of at periapsis. |
|||
real(kind=wp), | public | :: | mass | Local copy of the run time parameter setting the black hole mass, . |
|||
real(kind=wp), | public | :: | ur | The radial component of the 4-velocity, . Needed for the effective source. |
|||
real(kind=wp), | public, | dimension(4) | :: | force | The self-force or any external force . |
||
real(kind=wp), | public, | dimension(4) | :: | accel | The acceleration . |
||
real(kind=wp), | public | :: | udota | The dot-product of the 4-velocity and the force . |
final :: close_osc_schw | The finalizer. |
procedure, public :: set_to_zero => ode_set_to_zero | The set_to_zero routine is provided by ode_set_to_zero. |
procedure, public :: update_vars => ode_update_vars | The update_vars routine is provided by ode_update_vars. |
procedure, public :: print_data => ode_print_data | The print_data routine is provided by ode_print_data. |
procedure, public :: init => osc_schw_init | The init routine is provided by osc_schw_init. |
procedure, public :: rhs => osc_schw_rhs | The rhs routine is provided by osc_schw_rhs. |
procedure, public :: output => osc_schw_output | The output routine is provided by osc_schw_output. |
procedure, public :: save_globals_1 => osc_schw_save_globals_1 | The save_globals_1 routine is provided by geod_schw_save_globals_1. |
procedure, public :: save_globals_2 => osc_schw_save_globals_2 | The save_globals_2 routine is provided by geod_schw_save_globals_2. |
procedure, public :: load_globals => osc_schw_load_globals | The load_globals routine is provided by geod_schw_load_globals. |
procedure, public :: calc_dependent | A routine for calculating the dependent from the evolved variables. |