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, fμ. |
real(kind=wp), | private, | dimension(4) | :: | a | = | 0.0_wp | A 4-vector containing the components of the 4-acceleration, aμ. |
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, ˙aμ. |
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, ¨aμ. |
real(kind=wp), | private | :: | udota | = | 0.0_wp | A scalar containing the inner product of the 4-velocity and the self-force uμfμ. |
|
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 t-component of the self-force, ft. |
||
real(kind=wp), | intent(in) | :: | fr | The r-component of the self-force, fr. |
||
real(kind=wp), | intent(in) | :: | ftheta | The θ-component of the self-force, fθ. |
||
real(kind=wp), | intent(in) | :: | fphi | The ϕ-component of the self-force, fϕ. |
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, (ft,fr,fθ,fϕ). |
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 t-component of the 4-acceleration, at. |
||
real(kind=wp), | intent(in) | :: | ar | The r-component of the 4-acceleration, ar. |
||
real(kind=wp), | intent(in) | :: | atheta | The θ-component of the 4-acceleration, aθ. |
||
real(kind=wp), | intent(in) | :: | aphi | The ϕ-component of the 4-acceleration, aϕ. |
||
real(kind=wp), | intent(in) | :: | udota | The inner product of the 4-velocity and the self-force, uμfμ. |
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 t-component of the 4-acceleration, ˙at. |
||
real(kind=wp), | intent(in) | :: | dar_dt | The time derivative of the r-component of the 4-acceleration, ˙ar. |
||
real(kind=wp), | intent(in) | :: | datheta_dt | The time derivative of the θ-component of the 4-acceleration, ˙aθ. |
||
real(kind=wp), | intent(in) | :: | daphi_dt | The time derivative of the ϕ-component of the 4-acceleration, ˙aϕ. |
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 t-component of the 4-acceleration, ¨at. |
||
real(kind=wp), | intent(in) | :: | d2ar_dt2 | The second time derivative of the r-component of the 4-acceleration, ¨ar. |
||
real(kind=wp), | intent(in) | :: | d2atheta_dt2 | The second time derivative of the θ-component of the 4-acceleration, ¨aθ. |
||
real(kind=wp), | intent(in) | :: | d2aphi_dt2 | The second time derivative of the ϕ-component of the 4-acceleration, ¨aϕ. |
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, (at,ar,aθ,aϕ). |
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, (˙at,˙ar,˙aθ,˙aϕ). |
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, (¨at,¨ar,¨aθ,¨aϕ). |
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