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.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(self_force), | public | :: | sf | The global self_force object that is available by use association. |
A global self-force type.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=wp), | private, | dimension(4) | :: | f | = | 0.0_wp | A 4-vector containing the components of the self-force, . |
real(kind=wp), | private, | dimension(4) | :: | a | = | 0.0_wp | A 4-vector containing the components of the 4-acceleration, . |
real(kind=wp), | private, | dimension(4) | :: | da_dt | = | 0.0_wp | A 4-vector containing the components of the coordinate time derivatives of the 4-acceleration, . |
real(kind=wp), | private, | dimension(4) | :: | d2a_dt2 | = | 0.0_wp | A 4-vector containing the components of the second coordinate time derivatives of the 4-acceleration, . |
real(kind=wp), | private | :: | udota | = | 0.0_wp | A scalar containing the inner product of the 4-velocity and the self-force . |
|
integer(kind=ip), | private | :: | ioo_id | = | -1 | The file unit number used for output. |
procedure, public :: set_force | Routine to set the self-force values. |
procedure, public :: get_force | Routine to get the self-force values. |
procedure, public :: set_accel | Routine to set the values of the 4-acceleration. |
procedure, public :: set_daccel_dt | Routine to set the values of the time derivative of the 4-acceleration. |
procedure, public :: set_d2accel_dt2 | Routine to set the values of the second time derivative of the 4-acceleration. |
procedure, public :: get_accel | Routine to get the values of the 4-acceleration. |
procedure, public :: get_daccel_dt | Routine to get the values of the time derivative of the 4-acceleration. |
procedure, public :: get_d2accel_dt2 | Routine to get the values of the second time derivative of the 4-acceleration. |
procedure, public :: output | Routine to perform output. |
Routine that sets the self-force variable.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(in) | :: | ft | The -component of the self-force, . |
||
real(kind=wp), | intent(in) | :: | fr | The -component of the self-force, . |
||
real(kind=wp), | intent(in) | :: | ftheta | The -component of the self-force, . |
||
real(kind=wp), | intent(in) | :: | fphi | The -component of the self-force, . |
Routine that gets the self-force variable.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(out), | dimension(4) | :: | force | On return this 1d array contains the 4 components of the force, . |
Routine that sets the 4-acceleration and the inner product of the 4-velovity and the self-force.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(in) | :: | at | The -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | ar | The -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | atheta | The -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | aphi | The -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | udota | The inner product of the 4-velocity and the self-force, . |
Routine that sets the coordinate time derivative of the 4-acceleration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(in) | :: | dat_dt | The time derivative of the -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | dar_dt | The time derivative of the -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | datheta_dt | The time derivative of the -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | daphi_dt | The time derivative of the -component of the 4-acceleration, . |
Routine that sets the second coordinate time derivative of the 4-acceleration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(in) | :: | d2at_dt2 | The second time derivative of the -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | d2ar_dt2 | The second time derivative of the -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | d2atheta_dt2 | The second time derivative of the -component of the 4-acceleration, . |
||
real(kind=wp), | intent(in) | :: | d2aphi_dt2 | The second time derivative of the -component of the 4-acceleration, . |
Routine that gets the 4-acceleration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(out), | dimension(4) | :: | accel | On return this 1d array contains the 4 components of the 4-acceleration, . |
Routine that gets the coordinate time derivative of the 4-acceleration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(out), | dimension(4) | :: | daccel_dt | On return this 1d array contains the 4 components of the time derivative of the 4-acceleration, . |
Routine that gets the second coordinate time derivative of the 4-acceleration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |
||
real(kind=wp), | intent(out), | dimension(4) | :: | d2accel_dt2 | On return this 1d array contains the 4 components of the second time derivative of the 4-acceleration, . |
Routine that performs output of the self-force.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_force), | intent(inout) | :: | this | The routine is called on this self_force object. |