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. |
Routine to set the self-force values.
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 to get the self-force values.
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 to set the values of the 4-acceleration.
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 to set the values of the time derivative of the 4-acceleration.
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 to set the values of the second time derivative 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 to get the values 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 to get the values of the time derivative 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 to get the values of the second 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 to perform output.
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. |
type :: self_force
!! A global self-force type.
real(wp), dimension(4), private :: f = 0.0_wp
!! A 4-vector containing the components of the self-force, \(f_{\mu}\).
real(wp), dimension(4), private :: a = 0.0_wp
!! A 4-vector containing the components of the 4-acceleration, \(a^{\mu}\).
real(wp), dimension(4), private :: da_dt = 0.0_wp
!! A 4-vector containing the components of the coordinate time derivatives
!! of the 4-acceleration, \(\dot{a}^{\mu}\).
real(wp), dimension(4), private :: d2a_dt2 = 0.0_wp
!! A 4-vector containing the components of the second coordinate time
!! derivatives of the 4-acceleration, \(\ddot{a}^{\mu}\).
real(wp), private :: udota = 0.0_wp
!! A scalar containing the inner product of the 4-velocity and the
!! self-force \(u^{\mu}f_{\mu}\).
integer(ip), private :: ioo_id = -1
!! The file unit number used for output.
contains
procedure :: set_force
!! Routine to set the self-force values.
procedure :: get_force
!! Routine to get the self-force values.
procedure :: set_accel
!! Routine to set the values of the 4-acceleration.
procedure :: set_daccel_dt
!! Routine to set the values of the time derivative of the 4-acceleration.
procedure :: set_d2accel_dt2
!! Routine to set the values of the second time derivative of the
!! 4-acceleration.
procedure :: get_accel
!! Routine to get the values of the 4-acceleration.
procedure :: get_daccel_dt
!! Routine to get the values of the time derivative of the 4-acceleration.
procedure :: get_d2accel_dt2
!! Routine to get the values of the second time derivative of the
!! 4-acceleration.
procedure :: output
!! Routine to perform output.
end type self_force