Internals

Modules

Types

HillRegions.Internal.HillRegionType
HillRegion

Hill region, described by the lesser of the two masses of the resting bodies ($μ$) and the Jacobi constant ($C$).

Fields

  • μ::M_TYPE: the lesser of the two masses of the resting bodies
  • C::C_TYPE: the Jacobi constant

Constructors

  • HillRegion(; μ::M_TYPE, C::C_TYPE)
  • HillRegion(C::C_TYPE; μ::M_TYPE)
  • HillRegion(μ::M_TYPE; C::C_TYPE)
  • HillRegion(μ::M_TYPE, C::C_TYPE)
source

Functions

HillRegions.Internal._VMethod
_V(x::OInterval, y::OInterval, μ::M_TYPE) -> OInterval

Return the value on the zero-velocity surface given by the Jacobi constant:

$V(x, y, μ) = 2 μ / ρ_2(x, y) + 2 (1 - μ) / ρ_1(x, y) + μ ρ_2^2(x, y) + (1 - μ) ρ_1^2(x, y).$

Arguments

  • x::OInterval: the interval of coordinates of the third body on the abscissa
  • y::OInterval: the interval of coordinates of the third body on the ordinate
  • μ::M_TYPE: the mass (dimensionless) of the smaller of the two resting bodies

Returns

  • OInterval: the interval of values of the $V$ function

Example

using HillRegions
using ImplicitEquations
using IntervalArithmetic

OInterval = HillRegions.Internal.OInterval
TRUE = ImplicitEquations.BInterval(true, true)

x = OInterval(Interval(-1., 1.), TRUE, TRUE)
y = OInterval(Interval(1., 1.), TRUE, TRUE)
μ = 1//11

ρ₁ = HillRegions.Internal._ρ₁
ρ₂ = HillRegions.Internal._ρ₂

(HillRegions.Internal._V(x, y, μ) == 2 * μ / ρ₂(x, y, μ) + 2 * (1 - μ) / ρ₁(x, y, μ) +
                                     μ * ρ₂(x, y, μ)^2 + (1 - μ) * ρ₁(x, y, μ)^2) == TRUE
source
HillRegions.Internal._predicateMethod
_predicate(HR::HillRegion) -> ImplicitEquations.Pred

Return a predicate in the form of $V = C$ where $μ$ and $C$ are from a HillRegion object.

Arguments

Returns

  • ImplicitEquations.Pred: a predicate

Example

using HillRegions
using ImplicitEquations
using IntervalArithmetic

OInterval = HillRegions.Internal.OInterval
TRUE = ImplicitEquations.BInterval(true, true)

x = OInterval(Interval(-1., 1.), TRUE, TRUE)
y = OInterval(Interval(1., 1.), TRUE, TRUE)
μ = 1//11
C = 3.0

pred = HillRegions.Internal._predicate(HillRegion(μ, C))
(pred.f(x, y) == HillRegions.Internal._V(x, y, μ)) == TRUE

See also: _V, _ρ₁, _ρ₂

source
HillRegions.Internal._ρ₁Method
_ρ₁(x::OInterval, y::OInterval, μ::M_TYPE) -> OInterval

Return the distance between the first and the third bodies:

$ρ_1^2(x, y, μ) = (x + μ)^2 + y^2.$

Arguments

  • x::OInterval: the interval of coordinates of the third body on the abscissa
  • y::OInterval: the interval of coordinates of the third body on the ordinate
  • μ::M_TYPE: the mass (dimensionless) of the smaller of the two resting bodies

Returns

  • OInterval: the interval of distances

Example

using HillRegions
using ImplicitEquations
using IntervalArithmetic

OInterval = HillRegions.Internal.OInterval
TRUE = ImplicitEquations.BInterval(true, true)

x = OInterval(Interval(-1., 1.), TRUE, TRUE)
y = OInterval(Interval(1., 1.), TRUE, TRUE)
μ = 1//11

(HillRegions.Internal._ρ₁(x, y, μ) == √((x + μ)^2 + y^2)) == TRUE
source
HillRegions.Internal._ρ₂Method
_ρ₂(x::OInterval, y::OInterval, μ::M_TYPE) -> OInterval

Return the distance between the second and the third bodies:

$ρ_2^2(x, y, μ) = (x - 1 + μ)^2 + y^2.$

Arguments

  • x::OInterval: the interval of coordinates of the third body on the abscissa
  • y::OInterval: the interval of coordinates of the third body on the ordinate
  • μ::M_TYPE: the mass (dimensionless) of the smaller of the two resting bodies

Returns

  • OInterval: the interval of distances

Example

using HillRegions
using ImplicitEquations
using IntervalArithmetic

OInterval = HillRegions.Internal.OInterval
TRUE = ImplicitEquations.BInterval(true, true)

x = OInterval(Interval(-1., 1.), TRUE, TRUE)
y = OInterval(Interval(1., 1.), TRUE, TRUE)
μ = 1//11

(HillRegions.Internal._ρ₂(x, y, μ) == √((x - 1 + μ)^2 + y^2)) == TRUE
source