g_orbit Derived Type

type, public :: g_orbit

A global orbit type.


Contents

Source Code


Components

TypeVisibility AttributesNameInitial
real(kind=wp), private :: r

The radial coordinate, (in Schwarzschild coordinates).

real(kind=wp), private :: phi

The azimuthal angle, .

real(kind=wp), private :: ur

The radial component of the 4-velocity, .

real(kind=wp), private :: En

The energy per unit mass of the orbit, .

real(kind=wp), private :: Lz

The angular momentum per unit mass of the orbit, .

real(kind=wp), private :: chi

The osculaing orbits parameter, that changes by over a full radial cycle.


Type-Bound Procedures

procedure, public :: set_orbit

Routine to set the g_orbit values.

  • public subroutine set_orbit(this, r, phi, ur, En, Lz, chi)

    Routine that sets all the orbit variables.

    Arguments

    Type IntentOptional AttributesName
    class(g_orbit), intent(inout) :: this

    The routine is called on this g_orbit object.

    real(kind=wp), intent(in) :: r

    The radial coordinate, (in Schwarzschild coordinates).

    real(kind=wp), intent(in) :: phi

    The azimuthal angle, .

    real(kind=wp), intent(in) :: ur

    The radial component of the 4-velocity, .

    real(kind=wp), intent(in) :: En

    The energy per unit mass of the orbit, .

    real(kind=wp), intent(in) :: Lz

    The angular momentum per unit mass of the orbit, .

    real(kind=wp), intent(in) :: chi

    The osculaing orbits parameter, that changes by over a full radial cycle.

procedure, public :: get_orbit

Routine to get the g_orbit values.

  • public subroutine get_orbit(this, r, phi, ur, En, Lz)

    Routine that gets all the orbit variables except for .

    Arguments

    Type IntentOptional AttributesName
    class(g_orbit), intent(inout) :: this

    The routine is called on this g_orbit object.

    real(kind=wp), intent(out) :: r

    The radial coordinate, (in Schwarzschild coordinates).

    real(kind=wp), intent(out) :: phi

    The azimuthal angle, .

    real(kind=wp), intent(out) :: ur

    The radial component of the 4-velocity, .

    real(kind=wp), intent(out) :: En

    The energy per unit mass of the orbit, .

    real(kind=wp), intent(out) :: Lz

    The angular momentum per unit mass of the orbit, .

procedure, public :: get_chi

Routine to get alone.

  • public subroutine get_chi(this, chi)

    Routine that gets .

    Arguments

    Type IntentOptional AttributesName
    class(g_orbit), intent(inout) :: this

    The routine is called on this g_orbit object.

    real(kind=wp), intent(out) :: chi

    The osculaing orbits parameter, that changes by over a full radial cycle.

Source Code

  type :: g_orbit
  !! A global orbit type.
    real(wp), private :: r
    !! The radial coordinate, \(r\) (in Schwarzschild coordinates).
    real(wp), private :: phi
    !! The azimuthal angle, \(\phi\).
    real(wp), private :: ur
    !! The radial component of the 4-velocity, \(u^r\).
    real(wp), private :: En
    !! The energy per unit mass of the orbit, \(E\).
    real(wp), private :: Lz
    !! The angular momentum per unit mass of the orbit, \(L_z\).
    real(wp), private :: chi
    !! The osculaing orbits parameter, \(\chi\) that changes by \(2\pi\) over
    !! a full radial cycle.
  contains
    procedure :: set_orbit
    !! Routine to set the [[g_orbit]] values.
    procedure :: get_orbit
    !! Routine to get the [[g_orbit]] values.
    procedure :: get_chi
    !! Routine to get \(\chi\) alone.
  end type g_orbit