Internals
Modules
HillRegions
— ModuleA complementary package to add the recipe to Plots.jl
for plotting Hill regions.
Links:
HillRegions.Internal
— ModuleThis module contains all inner parts of this package.
Types
HillRegions.Internal.M_TYPE
— TypeM_TYPE = Union{Rational{Int}, Float64}
A default type for the μ
arguments.
HillRegions.Internal.C_TYPE
— TypeC_TYPE = Float64
A default type for the C
arguments.
HillRegions.Internal.HillRegion
— TypeHillRegion
Hill region, described by the lesser of the two masses of the resting bodies ($μ$) and the Jacobi constant ($C$).
Fields
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)
HillRegions.Internal.MR_TYPE
— TypeMR_TYPE = Float64
A default Real
type for the μ
arguments.
Functions
HillRegions.Internal._V
— Method_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 abscissay::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
HillRegions.Internal._predicate
— Method_predicate(HR::HillRegion) -> ImplicitEquations.Pred
Return a predicate in the form of $V = C$ where $μ$ and $C$ are from a HillRegion
object.
Arguments
HR::
HillRegion
: a Hill region
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
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 abscissay::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
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 abscissay::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