PN systems

PostNewtonian.PNSystemType
PNSystem{T, PNOrder}

Base type for all PN systems, such as BBH, BHNS, and NSNS.

These objects encode all essential properties of the binary, including its current state. As such, they can be used as inputs to the various fundamental and derived variables, as well as PN expressions and dynamics functions.

All subtypes should contain a state vector holding all of the fundamental variables for the given type of system. The parameter T is the type of the state vector — for example, Vector{Float64}. PNOrder is a Rational giving the order to which PN expansions should be carried.

source
PostNewtonian.BBHType
BBH{T, PNOrder}

The PNSystem subtype describing a binary black hole system.

The state vector here holds the fundamental variables M₁, M₂, χ⃗₁, χ⃗₂, R, v, with the spins unpacked into three components each, and R unpacked into four — for a total of 13 elements.

Optionally, Φ may also be tracked as the 14th element of the state vector. This is just the integral of the orbital angular frequency Ω, and holds little interest for general systems beyond a convenient description of how "far" the system has evolved.

source
PostNewtonian.BHNSType
BHNS{T, PNOrder}

The PNSystem subtype describing a black-hole—neutron-star binary system.

The state vector is the same as for a BBH. There is an additional field Λ₂ holding the (constant) tidal-coupling parameter of the neutron star.

Note that the neutron star is always object 2 — meaning that M₂, χ⃗₂, and Λ₂ always refer to it; M₁ and χ⃗₁ always refer to the black hole. See also NSNS.

source
PostNewtonian.NSNSType
NSNS{T, PNOrder}

The PNSystem subtype describing a neutron-star—neutron-star binary system.

The state vector is the same as for a BBH. There are two additional fields Λ₁ and Λ₂ holding the (constant) tidal-coupling parameters of the neutron stars. See also BHNS.

source
PostNewtonian.FDPNSystemType
FDPNSystem{FT, PNOrder}(state, Λ₁, Λ₂)

A PNSystem that contains information as variables from FastDifferentiation.jl.

See also fd_pnsystem for a particular instance of this type. Note that this type also involves the type FT, which will be the float type of actual numbers that eventually get fed into (and will be passed out from) functions that use this system. The correct type of FDPNSystem is used in calculating 𝓔′.

source
PostNewtonian.fd_pnsystemConstant
fd_pnsystem

A symbolic PNSystem that contains symbolic information for all types of PNSystems.

In particular, note that this object has (essentially) infinite PNOrder, has nonzero values for quantities like Λ₁ and Λ₂, and assumes that the eventual output will be in Float64. If you want different choices, you may need to call FDPNSystem yourself, or even construct a different specialized subtype of PNSystem (it's not hard).

Examples

julia> using PostNewtonian: M₁, M₂, χ⃗₁, χ⃗₂, FDPNSystem

julia> fd_pnsystem = FDPNSystem(Float64)
FDPNSystem{Float64, 9223372036854775805//2}(FastDifferentiation.Node[M₁, M₂, χ⃗₁ˣ, χ⃗₁ʸ, χ⃗₁ᶻ, χ⃗₂ˣ, χ⃗₂ʸ, χ⃗₂ᶻ, Rʷ, Rˣ, Rʸ, Rᶻ, v, Φ], Λ₁, Λ₂)

julia> M₁(fd_pnsystem), M₂(fd_pnsystem)
(M₁, M₂)

julia> χ⃗₁(fd_pnsystem)
 + χ⃗₁ˣ𝐢 + χ⃗₁ʸ𝐣 + χ⃗₁ᶻ𝐤

julia> χ⃗₂(fd_pnsystem)
 + χ⃗₂ˣ𝐢 + χ⃗₂ʸ𝐣 + χ⃗₂ᶻ𝐤
source