Docstrings
Documentation for all types, and functions in GeneralAstrodynamics
.
CoordinateFrames
GeneralAstrodynamics.CoordinateFrames.BarycentricInertial
— Typeabstract type BarycentricInertial <: Inertial
abstract type BarycentricInertial <: Inertial
A supertype
for all barycentric-ineretial coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.BarycentricRotating
— Typeabstract type BarycentricRotating <: Rotating
abstract type BarycentricRotating <: Rotating
A supertype
for all barycentric-rotating coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.BodycentricInertial
— Typeabstract type BodycentricInertial <: Inertial
abstract type BodycentricInertial <: Inertial
A supertype
for all bodycentric-inertial coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.BodycentricRotating
— Typeabstract type BodycentricRotating <: Rotating
abstract type BodycentricRotating <: Rotating
A supertype
for all bodycentric-rotating coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.Inertial
— Typeabstract type Inertial <: OrbitalFrame
abstract type Inertial <: OrbitalFrame
A supertype
for all inertial coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.OrbitalFrame
— Typeabstract type OrbitalFrame
abstract type OrbitalFrame
A supertype
for all coordinate frames used in space.
GeneralAstrodynamics.CoordinateFrames.OrbitalFrameTransform
— Typeabstract type OrbitalFrameTransform
abstract type OrbitalFrameTransform
A supertype
for all astrodynamics coordinate frame transformations.
GeneralAstrodynamics.CoordinateFrames.Rotating
— Typeabstract type Rotating <: OrbitalFrame
abstract type Rotating <: OrbitalFrame
A supertype
for all rotating coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.Transform
— Typestruct Transform{F1<:OrbitalFrame, F2<:OrbitalFrame, T1<:CoordinateTransformations.Transformation, T2<:CoordinateTransformations.Transformation} <: GeneralAstrodynamics.CoordinateFrames.OrbitalFrameTransform
struct Transform{F1<:OrbitalFrame, F2<:OrbitalFrame, T1<:CoordinateTransformations.Transformation, T2<:CoordinateTransformations.Transformation} <: GeneralAstrodynamics.CoordinateFrames.OrbitalFrameTransform
A generic frame transformation between two OrbitalFrame
types. Converts F1
toF2
.
transform_position::CoordinateTransformations.Transformation
transform_velocity::CoordinateTransformations.Transformation
GeneralAstrodynamics.CoordinateFrames.Transform
— MethodTransform(position_transform, velocity_transform, from, to)
An outer constructor for Transform
instances. Provide position and velocity transformations, and the initial and final reference frames via function arguments. This is an alternate syntax for Transform{InitialFrame, FinalFrame}(position_transform, velocity_transform)
.
GeneralAstrodynamics.CoordinateFrames.isbarycentric
— Methodisbarycentric(_)
isbarycentric(_)
Returns true
or false
to indicate whether the provided frame is barycentric.
GeneralAstrodynamics.CoordinateFrames.isbodycentric
— Methodisbodycentric(_)
isbodycentric(_)
Returns true
or false
to indicate whether the provided frame is bodycentric.
GeneralAstrodynamics.CoordinateFrames.isinertial
— Methodisinertial(_)
isinertial(_)
Returns true
or false
to indicate whether the provided frame is Inertial
.
GeneralAstrodynamics.CoordinateFrames.isrotating
— Methodisrotating(_)
isrotating(_)
Returns true
or false
to indicate whether the provided frame is Rotating
.
Calculations
GeneralAstrodynamics.Calculations.Circular
— Typeabstract type Circular <: GeneralAstrodynamics.Calculations.ConicSection
An abstract type representing the Circular conic section.
GeneralAstrodynamics.Calculations.ConicSection
— Typeabstract type ConicSection
An abstract type for all conic sections.
GeneralAstrodynamics.Calculations.Elliptical
— Typeabstract type Elliptical <: GeneralAstrodynamics.Calculations.ConicSection
An abstract type representing the Elliptical conic section.
GeneralAstrodynamics.Calculations.Hyperbolic
— Typeabstract type Hyperbolic <: GeneralAstrodynamics.Calculations.ConicSection
An abstract type representing the Hyperbolic conic section.
GeneralAstrodynamics.Calculations.Parabolic
— Typeabstract type Parabolic <: GeneralAstrodynamics.Calculations.ConicSection
An abstract type representing the Parabolic conic section.
GeneralAstrodynamics.Calculations.C3
— MethodC3(r, v, μ)
Returns C3 value.
GeneralAstrodynamics.Calculations.LancasterBlanchard
— MethodLancasterBlanchard(x, q, m)
The following code was converted to Julia, from a GitHub repository that hosts the MATLAB implementation. At the time of writing, the respository has a BSD license. I'm providing the copyright notice here, as instructed by the license text.
Copyright (c) 2018, Rody Oldenhuis
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of this project.
GeneralAstrodynamics.Calculations.SOA
— MethodSOA(a, m, M)
Sphere of activity.
GeneralAstrodynamics.Calculations.SOI
— MethodSOI(a, m, M)
Sphere of influence.
GeneralAstrodynamics.Calculations.analyticalhalo
— Methodanalyticalhalo(μ; Az, ϕ, steps, L, hemisphere)
Returns an analytical solution for a Halo orbit about L
.
Arguments:
μ
: Non-dimensional mass parameter for the CR3BP system.Az
: Desired non-dimensional Z-amplitude for Halo orbit.ϕ
: Desired Halo orbit phase.steps
: Number of non-dimensional timepoints in returned state.L
: Lagrange point to orbit (L1 or L2).hemisphere
: Specifies northern or southern Halo orbit.
Outputs:
- Synodic position vector
r::Array{<:AbstractFloat}
- Synodic velocity vector
v::Array{<:Abstractfloat}
. - Halo orbit period
Τ
. - Throws
ArgumentError
if L is not1
or2
.
References:
GeneralAstrodynamics.Calculations.apoapsis_radius
— Methodapoapsis_radius(a, e)
Returns apoapsis distance, rₐ.
GeneralAstrodynamics.Calculations.cartesian
— Methodcartesian(e, a, i, Ω, ω, ν, μ)
Returns a Cartesian representation of a Keplerian two-body orbital state in an inertial frame, centered at the center of mass of the central body. Algorithm taught in ENAE601.
GeneralAstrodynamics.Calculations.conic
— Methodconic(e)
Returns the conic section, as specified by eccentricity e
.
GeneralAstrodynamics.Calculations.distance
— Methoddistance(p, e, ν)
Returns distance, r.
GeneralAstrodynamics.Calculations.distance_to_primary
— Methoddistance_to_primary(r, μ)
Returns synodic distance to primary body.
GeneralAstrodynamics.Calculations.distnace_to_secondary
— Methoddistnace_to_secondary(r, μ)
Returns synodic distance to secondary body.
GeneralAstrodynamics.Calculations.eccentricity
— Methodeccentricity(rᵢ, vᵢ, μ)
Returns orbital eccentricity, e.
GeneralAstrodynamics.Calculations.eccentricity_vector
— Methodeccentricity_vector(rᵢ, vᵢ, μ)
Returns orbital eccentricity vector e̅.
GeneralAstrodynamics.Calculations.hohmann
— Methodhohmann(r₁, r₂, μ)
Computes a Hohmann transfer, and returns the departure and arrival velocity vectors.
GeneralAstrodynamics.Calculations.inertial
— Functioninertial(vecₛ, t)
inertial(vecₛ, t, ω)
Given the Synodic frame vector, returns the vector in the barycenteric-inertial reference frame.
GeneralAstrodynamics.Calculations.jacobi_constant
— Methodjacobi_constant(r, v, μ)
Returns the Jacobi Constant, C
in the Synodic frame with Normalized units.
GeneralAstrodynamics.Calculations.kepler
— Functionkepler(r, v, μ)
kepler(r, v, μ, Δt; tol, max_iter)
Solves Kepler's Problem for orbit
and Δtᵢ
.
GeneralAstrodynamics.Calculations.keplerian
— Methodkeplerian(rᵢ, vᵢ, μ)
Returns a Keplarian representation of a Cartesian orbital state. Algorithm taught in ENAE601.
GeneralAstrodynamics.Calculations.lagrange
— Functionlagrange(μ)
lagrange(μ, L)
Returns the lagrange points for a CR3BP system.
Arguments:
μ
: Non-dimensional mass parameter for the CR3BP system.L
: Langrange points requested, must be in range [1,5]
Outputs:
- Tuple of Lagrange points
- Throws
ArgumentError
if L is out of range [1,5]
References:
GeneralAstrodynamics.Calculations.lambert
— Methodlambert(r1vec, r2vec, tf, m, muC)
The following code was converted to Julia, from a GitHub repository that hosts a MATLAB implementation. At the time of writing, this respository has a BSD license. I'm providing the copyright notice here, as instructed by the license text.
Copyright (c) 2018, Rody Oldenhuis
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of this project.
GeneralAstrodynamics.Calculations.lambert
— Methodlambert(r1, r2, tf, m, mu)
Wrapper for Unitful inputs.
GeneralAstrodynamics.Calculations.lambert_lancaster_blanchard
— Methodlambert_lancaster_blanchard(
r̲₁,
r̲₂,
μ,
Δt;
revolutions,
branch,
trajectory,
tolerance,
max_iter,
output_extrema
)
The following code was converted to Julia, from a GitHub repository that hosts a MATLAB implementation. At the time of writing, this respository has a BSD license. I'm providing the copyright notice here, as instructed by the license text.
Copyright (c) 2018, Rody Oldenhuis
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of this project.
GeneralAstrodynamics.Calculations.lambert_universal
— Methodlambert_universal(
r̅₁,
r̅₂,
μ,
Δt;
trajectory,
tolerance,
max_iter
)
Solves Lambert's problem through the use of univeral variables.
GeneralAstrodynamics.Calculations.mean_motion
— Methodmean_motion(a, μ)
Returns mean motion, n.
GeneralAstrodynamics.Calculations.minmax_distances
— Methodminmax_distances(r̲₁, r̲₂, r₁, r₂, δₜ, a, v̲₁, v̲₂, m, μ)
The following code was converted to Julia, from a GitHub repository that hosts a MATLAB implementation. At the time of writing, this respository has a BSD license. I'm providing the copyright notice here, as instructed by the license text.
Copyright (c) 2018, Rody Oldenhuis
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of this project.
GeneralAstrodynamics.Calculations.nondimensional_radius
— Methodnondimensional_radius(r, xᵢ)
Returns the spacecraft's nondimensional position w.r.t. body 1 (or 2).
GeneralAstrodynamics.Calculations.periapsis_radius
— Methodperiapsis_radius(a, e)
Returns periapsis distance, rₚ.
GeneralAstrodynamics.Calculations.perifocal
— Methodperifocal(a, e, ν, μ)
Returns position and velocity vectors in the Perifocal frame.
GeneralAstrodynamics.Calculations.period
— Methodperiod(a, μ)
Returns the orbital period.
GeneralAstrodynamics.Calculations.potential_energy
— Methodpotential_energy(r, μ)
Returns the potential energy U
in the Synodic frame with Normalized units.
GeneralAstrodynamics.Calculations.primary_position
— Methodprimary_position(μ)
Position of primary body.
GeneralAstrodynamics.Calculations.redimension
— Methodredimension(rₙ, vₙ, tₙ, μₙ, DU, TU)
Redimensionalizes a CR3BP orbit in the rotating reference frame.
GeneralAstrodynamics.Calculations.secondary_position
— Methodsecondary_position(μ)
Position of primary body.
GeneralAstrodynamics.Calculations.semi_parameter
— Methodsemi_parameter(a, e)
Returns semilatus parameter, p.
GeneralAstrodynamics.Calculations.semimajor_axis
— Methodsemimajor_axis(r, v, μ)
Returns semimajor axis parameter, a.
GeneralAstrodynamics.Calculations.spatial
— Methodspatial(i, Ω, ω, rₚ, vₚ)
Returns a spatial representation of the provied Perifocal state.
GeneralAstrodynamics.Calculations.specific_angular_momentum
— Methodspecific_angular_momentum(rᵢ, vᵢ)
Returns scalar specific angular momentum vector, h.
GeneralAstrodynamics.Calculations.specific_angular_momentum_vector
— Methodspecific_angular_momentum_vector(rᵢ, vᵢ)
Returns specific angular momentum vector, h̅.
GeneralAstrodynamics.Calculations.specific_energy
— Methodspecific_energy(a, μ)
Returns specific orbital energy, ϵ.
GeneralAstrodynamics.Calculations.specific_potential_energy
— Methodspecific_potential_energy(r, μ)
Returns potential energy for an orbit about a RestrictedTwoBodySystem
.
GeneralAstrodynamics.Calculations.speed
— Methodspeed(p, e, ν, a, μ)
Returns the instantaneous velocity, v
, for any orbital representation.
GeneralAstrodynamics.Calculations.speed
— Methodspeed(r, a, μ)
Returns instantaneous velocity, v, for any orbital representation.
GeneralAstrodynamics.Calculations.synodic
— Methodsynodic(state, t)
Given an InertialCartesianState
, returns the state in the synodic (rotating) reference frame.
GeneralAstrodynamics.Calculations.time_since_periapsis
— Methodtime_since_periapsis(n, e, E)
Returns time since periapsis, t.
GeneralAstrodynamics.Calculations.true_anomoly
— Methodtrue_anomoly(r, h, e, μ)
Returns true anomoly, ν.
GeneralAstrodynamics.Calculations.v_infinity
— Methodv_infinity(r, v, μ)
Returns v∞.
GeneralAstrodynamics.Calculations.zerovelocity_curves
— Methodzerovelocity_curves(r, v, μ; nondimensional_range)
Returns a Vector
of Matrix
values. Each Matrix
contains a 3-column nondimensional position trajectory in the Synodic frame which represents a Zero Velocity Curve.
GeneralAstrodynamics.Calculations.σmax
— Methodσmax(y)
The following code was converted to Julia, from a GitHub repository that hosts a MATLAB implementation. At the time of writing, this respository has a BSD license. I'm providing the copyright notice here, as instructed by the license text.
Copyright (c) 2018, Rody Oldenhuis
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of this project.
LinearAlgebra.normalize
— Methodnormalize(r, v, t, a, μs; lengthunit, timeunit)
Normalizes a CR3BP orbit in the rotating reference frame.
States
GeneralAstrodynamics.States.AbstractOrbit
— Typeabstract type AbstractOrbit{FR, F, MU, LU, TU, AU, E, S<:(GeneralAstrodynamics.States.AbstractState{F, LU, TU, AU}), P<:(GeneralAstrodynamics.States.ParameterVector{F, MU, LU, TU, AU})}
A supertype for all single-point orbit descriptions. Parameterized by coordinate frame, floating point type, mass unit, lenth unit, time unit, epoch type, state type, and parameter type (in order).
GeneralAstrodynamics.States.AbstractState
— Typeabstract type AbstractState{F, LU, TU, AU, T} <: GeneralAstrodynamics.States.ParameterizedLabelledArray{F, 1, T, LabelledArrays.LArray{F, 1, StaticArraysCore.MArray{Tuple{6}, F, 1, 6}, T}}
A supertype for all states in astrodynamics.
GeneralAstrodynamics.States.CR3BPOrbit
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:(Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}), var"#s232"<:CR3BPParameters} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:(Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}), var"#s232"<:CR3BPParameters}
An alias for Orbit
instances about CR3BP
systems.
GeneralAstrodynamics.States.CR3BPParameters
— Typestruct CR3BPParameters{F, MU, LU, TU, AU, B} <: GeneralAstrodynamics.States.ParameterVector{F, MU, LU, TU, AU, 1, (:μ,), B}
All parameters required for the Circular Restricted Three-body Problem.
GeneralAstrodynamics.States.CartesianOrbit
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:(Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}), var"#s232"<:GeneralAstrodynamics.States.ParameterVector} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:(Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}), var"#s232"<:GeneralAstrodynamics.States.ParameterVector}
An alias for Orbit
instances about any systems with CartesianState
descriptions.
GeneralAstrodynamics.States.CartesianOrbitWithSTM
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:CartesianStateWithSTM, var"#s232"<:GeneralAstrodynamics.States.ParameterVector} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:CartesianStateWithSTM, var"#s232"<:GeneralAstrodynamics.States.ParameterVector}
An alias for Orbit
instances about any systems with CartesianStateWithSTM
descriptions.
GeneralAstrodynamics.States.CartesianR2BPOrbit
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:(Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}), var"#s232"<:R2BPParameters} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:(Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}), var"#s232"<:R2BPParameters}
An alias for Orbit
instances about R2BP
systems with CartesianState
descriptions.
GeneralAstrodynamics.States.CartesianState
— Typemutable struct CartesianState{F, LU, TU, AU} <: GeneralAstrodynamics.States.StateVector{F, LU, TU, AU, (x = 1, y = 2, z = 3, ẋ = 4, ẏ = 5, ż = 6, r = 1:3, v = 4:6)}
A Cartesian state vector with length 6. Internally uses MVector
and LVector
to store data. Data is accessible via labels, which are x, y, z, ẋ, ẏ, ż, r, v
, where r
access x,y,z
and v
accesses ẋ, ẏ, ż
.
GeneralAstrodynamics.States.CartesianState
— MethodConstructs a CartesianState
from provided position and velocity vectors.
GeneralAstrodynamics.States.CartesianState
— MethodConstructs a CartesianState
.
GeneralAstrodynamics.States.CartesianState
— MethodReturns a CartesianState
, given a CartesianStateWithSTM
.
GeneralAstrodynamics.States.CartesianStateWithSTM
— TypeReturns a CartesianStateWithSTM
, given a CartesianState
.
GeneralAstrodynamics.States.CartesianStateWithSTM
— Typemutable struct CartesianStateWithSTM{F, LU, TU, AU} <: GeneralAstrodynamics.States.StateVectorWithSTM{F, LU, TU, AU, (x = 1, y = 2, z = 3, ẋ = 4, ẏ = 5, ż = 6, r = 1:3, v = 4:6, Φ = 7:42)}
A Cartesian state vector with local linearization and length 42. Internally uses MVector
and LVector
to store data. Data is accessible via labels, which are x, y, z, ẋ, ẏ, ż, r, v
, where r
access x,y,z
and v
accesses ẋ, ẏ, ż
.
GeneralAstrodynamics.States.CartesianStateWithSTM
— MethodOuter constructor for CartesianStateWithSTM
.
GeneralAstrodynamics.States.KeplerianR2BPOrbit
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:KeplerianState, var"#s232"<:R2BPParameters} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, var"#s233"<:KeplerianState, var"#s232"<:R2BPParameters}
An alias for Orbit
instances about R2BP
systems with KeplerianState
descriptions.
GeneralAstrodynamics.States.KeplerianState
— Typemutable struct KeplerianState{F, LU, TU, AU} <: GeneralAstrodynamics.States.StateVector{F, LU, TU, AU, (e = 1, a = 2, i = 3, Ω = 4, ω = 5, ν = 6)}
A Keplerian state vector with length 6. Internally uses MVector
and LVector
to store data. Data is accessible via labels, which are e, a, i, Ω, ω, ν
.
GeneralAstrodynamics.States.KeplerianState
— MethodConstructs a KeplerianState
from provided position and velocity vectors.
GeneralAstrodynamics.States.KeplerianState
— MethodConstructs a KeplerianState
from any AbstractVector
.
GeneralAstrodynamics.States.Orbit
— TypeOuter constructor for Orbit
s.
GeneralAstrodynamics.States.Orbit
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, S, P} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, S, P}
An orbit, described by a StateVector
, with parameters described by a ParameterVector
.
GeneralAstrodynamics.States.Orbit
— TypeOuter constructor for Orbit
s.
GeneralAstrodynamics.States.ParameterVector
— Typeabstract type ParameterVector{F, MU, LU, TU, AU, N, T, B} <: GeneralAstrodynamics.States.ParameterizedLabelledArray{F, 1, T, LabelledArrays.SLArray{Tuple{N}, F, 1, N, T}}
A supertype for parameter representations in astrodynamics.
GeneralAstrodynamics.States.ParameterizedLabelledArray
— Typeabstract type ParameterizedLabelledArray{F, N, T, L} <: DenseArray{F, N}
abstract type ParameterizedLabelledArray{F, N, T, L} <: DenseArray{F, N}
A supertype for types that function like LabelledArray.LArray
or LabelledArray.SLArray
instances, but are under a new type tree. This is used in GeneralAstrodynamics
for parameterizing astrodynamics state vectors by physical units.
All subtypes must have only one field: a LabelledArrays.LArray
or LabelledArrays.SLArray
field called __rawdata
. All methods on this abstract type require this field to be called __rawdata
!
Nearly all code which acts on this type is copied and / or modified from LabelledArrays.jl source code. All credit goes to LabelledArrays.jl developers. The LabelledArrays.jl LICENSE file is provided in this docstring under Julia's Extended Help docstring section.
Extended help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
GeneralAstrodynamics.States.R2BPOrbit
— Typemutable struct Orbit{FR, F, MU, LU, TU, AU, E, S<:Union{KeplerianState, Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}}, P<:R2BPParameters} <: GeneralAstrodynamics.States.AbstractOrbit{FR, F, MU, LU, TU, AU, E, S<:Union{KeplerianState, Union{var"#s233", var"#s232"} where {var"#s233"<:CartesianState, var"#s232"<:CartesianStateWithSTM}}, P<:R2BPParameters}
An alias for Orbit
instances about R2BP
systems.
GeneralAstrodynamics.States.R2BPParameters
— Typestruct R2BPParameters{F, MU, LU, TU, AU, B} <: GeneralAstrodynamics.States.ParameterVector{F, MU, LU, TU, AU, 1, (:μ,), B}
All parameters required for the Restricted Two-body Problem.
GeneralAstrodynamics.States.StateVector
— Typeabstract type StateVector{F, LU, TU, AU, T} <: GeneralAstrodynamics.States.AbstractState{F, LU, TU, AU, T}
A supertype for all state representations in astrodynamics.
GeneralAstrodynamics.States.StateVectorWithSTM
— Typeabstract type StateVectorWithSTM{F, LU, TU, AU, T} <: GeneralAstrodynamics.States.AbstractState{F, LU, TU, AU, T}
A supertype for all state representations with local linearizations in astrodynamics.
ArrayInterface.restructure
— Methodrestructure(x, y)
restructure(x, y)
Reshapes a ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.convert
— Methodconvert(_, x)
convert(_, x)
Converts the underlying floating point type for a ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.convert
— Methodconvert(_, state)
Converts types and units for a CartesianState
.
Base.convert
— Methodconvert(_, state)
Converts types and units for a CartesianState
.
Base.convert
— Methodconvert(_, system)
Converts types and units for a CR3BPParameters
.
Base.convert
— Methodconvert(_, system)
Converts types and units for a R2BPParameters
.
Base.convert
— Methodconvert(_, x)
convert(_, x)
Converts the underlying floating point type for a ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.convert
— Methodconvert(_, x)
convert(_, x)
Converts the underlying floating point type for a ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.copy
— Methodcopy(x)
copy(x)
Shallow copies a ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.copyto!
— Methodcopyto!(x, y)
copyto!(x, y)
Copies one ParameterizedLabelledArray
to another.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.dataids
— Methoddataids(A)
dataids(A)
Implements dataids
for a ParameterizedLabelledArray
instance.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.deepcopy
— Methoddeepcopy(x)
deepcopy(x)
Deep copies a ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.elsize
— Methodelsize(_)
elsize(_)
Returns the memory stride for any ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.getindex
— Methodgetindex(state, args)
getindex(state, args)
Returns the index of the ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.getproperty
— Methodgetproperty(x, s)
getproperty(x, s)
Overrides Base.getproperty
for all ParameterizedLabelledArray
instances.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.length
— Methodlength(_)
The length of any StateVector
is 6!
Base.length
— Methodlength(_)
The length of any StateVector
is 6!
Base.length
— Methodlength(_)
Returns the length of the parameter vector.
Base.one
— Methodone(x)
one(x)
Overrides one
for ParameterizedLabelledArray
instances.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.propertynames
— Methodpropertynames(_)
propertynames(_)
Returns dot-accessible property names for a ParameterizedLabelledArray
.
Base.setindex!
— Methodsetindex!(state, args)
setindex!(state, args)
Sets the index of the ParameterizedLabelledArray
.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.setproperty!
— Methodsetproperty!(x, s, y)
setproperty!(x, s, y)
Sets indices of a ParameterizedLabelledArray
via label.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.show
— Methodshow(io, sys; showfloats, space)
Displays a CR3BPParameters
instance.
Base.show
— Methodshow(io, state; showfloats, space)
Displays a CartesianStateWithSTM
.
Base.show
— Methodshow(io, state; showfloats, space)
Displays a CartesianState
.
Base.show
— Methodshow(io, state; showfloats, space)
Displays a KeplerianState
.
Base.show
— Methodshow(io, orbit)
Shows all Orbit
instances.
Base.show
— Methodshow(io, state; showfloats, space)
Displays R2BPParameters
.
Base.similar
— Methodsimilar(x, _)
similar(x, _)
Overrides similar
for ParameterizedLabelledArray
instances.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.similar
— Methodsimilar(x)
similar(x)
Overrides similar
for ParameterizedLabelledArray
instances.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.similar
— Methodsimilar(x, dims)
similar(x, dims)
Overrides similar
for ParameterizedLabelledArray
instances.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.size
— Methodsize(_)
The size of any StateVector
is (6,)!
Base.size
— Methodsize(_)
The size of any StateVector
is (6,)!
Base.size
— Methodsize(_)
Returns the size of the parameter vector.
Base.unsafe_convert
— Methodunsafe_convert(_, a)
unsafe_convert(_, a)
Provides unsafe_convert
for ParameterizedLabelledArray
types for use with LAPACK.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Base.zero
— Methodzero(x)
zero(x)
Overrides zero
for ParameterizedLabelledArray
instances.
This source code which provides this functionality was copied directly from LabelledArrays.jl source code. The LabelledArrays.jl license text is provided in Julia's Extended Help section (accessible via @doc
, or ??
in Julia's REPL).
Extended Help
LabelledArrays.jl License
The LabelledArrays.jl package is licensed under the MIT "Expat" License:
Copyright (c) 2017: Christopher Rackauckas.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
GeneralAstrodynamics.States.angularunit
— Methodangularunit(_)
Returns the angularunit of the state vector.
GeneralAstrodynamics.States.angularunit
— Methodangularunit(_)
Returns the angular unit of the parameter vector.
GeneralAstrodynamics.States.angularunit
— Methodangularunit(_)
Returns the angularunit
for an Orbit
.
GeneralAstrodynamics.States.defaultframe
— Methoddefaultframe(system)
Returns a default frame.
GeneralAstrodynamics.States.epoch
— Methodepoch(orbit)
Returns the epoch (timestamp) for the Orbit
.
GeneralAstrodynamics.States.frame
— Methodframe(_)
Returns the OrbitalFrame
for the Orbit
.
GeneralAstrodynamics.States.get_a
— Methodget_a(state)
Returns a
.
GeneralAstrodynamics.States.get_e
— Methodget_e(state)
Returns e
.
GeneralAstrodynamics.States.get_i
— Methodget_i(state)
Returns i
.
GeneralAstrodynamics.States.get_r
— Methodget_r(state)
Returns r
.
GeneralAstrodynamics.States.get_stm
— Methodget_stm(state)
Returns the state transition matrix.
GeneralAstrodynamics.States.get_v
— Methodget_v(state)
Returns v
.
GeneralAstrodynamics.States.get_x
— Methodget_x(state)
Returns x
.
GeneralAstrodynamics.States.get_y
— Methodget_y(state)
Returns y
.
GeneralAstrodynamics.States.get_z
— Methodget_z(state)
Returns z
.
GeneralAstrodynamics.States.get_ż
— Methodget_ż(state)
Returns ż
.
GeneralAstrodynamics.States.get_Ω
— Methodget_Ω(state)
Returns Ω
.
GeneralAstrodynamics.States.get_μ
— Methodget_μ(sys)
Returns the normalized mass parameter, μ
.
GeneralAstrodynamics.States.get_μ
— Methodget_μ(sys)
Returns the normalized mass parameter, μ
.
GeneralAstrodynamics.States.get_ν
— Methodget_ν(state)
Returns ν
.
GeneralAstrodynamics.States.get_ω
— Methodget_ω(state)
Returns `ω.
GeneralAstrodynamics.States.get_ϕ
— Methodget_ϕ(state)
Returns ϕ
.
GeneralAstrodynamics.States.get_ẋ
— Methodget_ẋ(state)
Returns ẋ
.
GeneralAstrodynamics.States.get_ẏ
— Methodget_ẏ(state)
Returns ẏ
.
GeneralAstrodynamics.States.isnormalized
— Methodisnormalized(state)
Returns true
if the AbstractState
has lengthunit
and timeunit
parameters of some type T <: AbstractQuantity
. This is intended to be used for normalizing CartesianState
vectors.
GeneralAstrodynamics.States.lengthunit
— Methodlengthunit(_)
Returns the lengthunit of the state vector.
GeneralAstrodynamics.States.lengthunit
— Methodlengthunit(_)
Returns the length unit of the parameter vector.
GeneralAstrodynamics.States.lengthunit
— Methodlengthunit(_)
Returns the lengthunit
for an Orbit
.
GeneralAstrodynamics.States.massparameter
— Methodmassparameter(system)
Returns the mass parameter of the CR3BP system.
GeneralAstrodynamics.States.massparameter
— Methodmassparameter(system)
Returns the mass parameter of the R2BP system.
GeneralAstrodynamics.States.massparameters
— Methodmassparameters(system)
Returns the mass parameters of the CR3BP system.
GeneralAstrodynamics.States.massparamunit
— Methodmassparamunit(orbit)
Returns the massparamunit
for an Orbit
.
GeneralAstrodynamics.States.massparamunit
— Methodmassparamunit(_)
Returns the mass-parameter unit of the state vector.
GeneralAstrodynamics.States.massunit
— Methodmassunit(_)
Returns the mass unit of the parameter vector.
GeneralAstrodynamics.States.massunit
— Methodmassunit(_)
Returns the massunit
for an Orbit
.
GeneralAstrodynamics.States.model
— Methodmodel(_)
model(_)
Returns the ModelingToolkit.ODESystem
associated with CR3BPParameters
, provided by AstrodynamicalModels
.
GeneralAstrodynamics.States.model
— Methodmodel(_)
model(_)
Returns the ModelingToolkit.ODESystem
associated with R2BPParameters
, provided by AstrodynamicalModels
.
GeneralAstrodynamics.States.name
— Methodname(_)
Returns the name of the parameter vector.
GeneralAstrodynamics.States.primary_massparameter
— Methodprimary_massparameter(system)
Returns the primary mass parameter of the CR3BP system.
GeneralAstrodynamics.States.secondary_massparameter
— Methodsecondary_massparameter(system)
Returns the secondary mass parameter of the CR3BP system.
GeneralAstrodynamics.States.state
— Methodstate(orbit)
Returns the state vector for the Orbit
.
GeneralAstrodynamics.States.statevector
— Methodstatevector(state)
Returns the whole state vector, without units.
GeneralAstrodynamics.States.statevector
— Methodstatevector(state)
Returns the whole state vector, without units.
GeneralAstrodynamics.States.statevector
— Methodstatevector(state)
Returns the whole state vector, without units.
GeneralAstrodynamics.States.system
— Methodsystem(orbit)
Returns the parameter vector for the Orbit
.
GeneralAstrodynamics.States.timeunit
— Methodtimeunit(_)
Returns the timeunit of the state vector.
GeneralAstrodynamics.States.timeunit
— Methodtimeunit(_)
Returns the time unit of the parameter vector.
GeneralAstrodynamics.States.timeunit
— Methodtimeunit(_)
Returns the timeunit
for an Orbit
.
GeneralAstrodynamics.States.vectorfield
— Methodvectorfield(_)
vectorfield(_)
Returns the DifferentialEquations.ODEFunction
associated with CR3BPParameters
, provided by AstrodynamicalModels
.
GeneralAstrodynamics.States.vectorfield
— Methodvectorfield(_)
vectorfield(_)
Returns the DifferentialEquations.ODEFunction
associated with R2BPParameters
, provided by AstrodynamicalModels
.
GeneralAstrodynamics.States.velocityunit
— Methodvelocityunit(orbit)
Returns the velocityunit
for an Orbit
.
GeneralAstrodynamics.States.velocityunit
— Methodvelocityunit(_)
Returns the angularunit of the state vector.
GeneralAstrodynamics.States.velocityunit
— Methodvelocityunit(_)
Returns the velocity unit of the state vector.
Propagation
GeneralAstrodynamics.Propagation.AbstractOrbitalEnsembleSolution
— Typeabstract type AbstractEnsembleSolution{T, N, var"#s11"<:AbstractArray{U<:Trajectory, 1}} <: AbstractVectorOfArray{T, N, var"#s11"<:AbstractArray{U<:Trajectory, 1}}
An alias for some abstract EnsembleSolution
with States
state vector and parameter vector types.
GeneralAstrodynamics.Propagation.AbstractOrbitalODESolution
— Typeabstract type AbstractODESolution{T, N, var"#s1"<:AbstractArray{U<:GeneralAstrodynamics.States.AbstractState, 1}} <: SciMLBase.AbstractTimeseriesSolution{T, N, var"#s1"<:AbstractArray{U<:GeneralAstrodynamics.States.AbstractState, 1}}
An alias for some abstract ODESolution
with States
state vector and parameter vector types.
GeneralAstrodynamics.Propagation.Manifold
— Typestruct Manifold{FR, S, P, E, O<:(SciMLBase.AbstractEnsembleSolution{T, N, <:AbstractVector{U}} where {T, N, U<:Trajectory})}
An wrapper for a SciMLBase.ODESolution
with a GeneralAstrodynamics.States.AbstractState
state vector type. This represents a Manifold
in space!
GeneralAstrodynamics.Propagation.Trajectory
— Typestruct Trajectory{FR, S, P, E, O<:(SciMLBase.AbstractODESolution{T, N, <:AbstractVector{U}} where {T, N, U<:GeneralAstrodynamics.States.AbstractState})}
An wrapper for a SciMLBase.ODESolution
with a GeneralAstrodynamics.States.AbstractState
state vector type. This represents an object's Trajectory
in space!
GeneralAstrodynamics.Propagation.Trajectory
— MethodA wrapper for (::ODESolution-like)(args...). Returns a state of type initialstate)
at time t
past epoch
.
GeneralAstrodynamics.States.Orbit
— MethodReturns an Orbit
at time t
.
SciMLBase.EnsembleProblem
— MethodReturns an EnsembleProblem
which represents perturbations off of a Halo orbit onto a stable or unstable manifold. Use kwarg
direction=Val{:stable}
or direction=Val{:unstable}
to specify whether you want to solve for the stable or unstable invariant manifold about the provided Halo orbit. All kwargs
arguments are passed directly to DifferentialEquations
solvers.
SciMLBase.EnsembleProblem
— MethodReturns an EnsembleProblem
which represents perturbations off of a Halo orbit onto a stable or unstable manifold. Use kwarg
direction=Val{:stable}
or direction=Val{:unstable}
to specify whether you want to solve for the stable or unstable invariant manifold about the provided Halo orbit. All kwargs
arguments are passed directly to DifferentialEquations
solvers.
SciMLBase.ODEProblem
— MethodCreate's an ODEProblem for a R2BP
orbit.
SciMLBase.ODEProblem
— MethodCreate's an ODEProblem for a R2BP
orbit.
Base.eltype
— Methodeltype(traj)
Returns the eltype
of the Trajectory
.
Base.getindex
— Methodgetindex(man, args)
Calls the underlying solution
's getindex
function to return the CartesianState
of the Manifold
at time t
past the initialepoch
.
Base.getindex
— Methodgetindex(traj, args)
Calls the underlying solution
's getindex
function to return the CartesianState
of the Trajectory
at time t
past the initialepoch
.
Base.lastindex
— Methodlastindex(man)
Returns the last index of a Manifold
.
Base.lastindex
— Methodlastindex(traj)
Returns the last index of a Trajectory
.
Base.length
— Methodlength(man)
The length
of a Manifold
.
Base.length
— Methodlength(traj)
The length
of a Trajectory
.
Base.position
— Methodposition(traj, t)
Returns the position of the Trajectory
at t
timeunit
's from the initialstate
's epoch
.
Base.show
— Methodshow(io, man)
Show a Trajectory
.
Base.show
— Methodshow(io, traj)
Show a Trajectory
.
Base.size
— Methodsize(man)
The size
of a Manifold
.
Base.size
— Methodsize(traj)
The size
of a Trajectory
.
GeneralAstrodynamics.Calculations.distance
— Methoddistance(traj, t)
Returns the scalar distance of the Trajectory
at t
timeunit
's from the initialstate
's epoch
.
GeneralAstrodynamics.Calculations.speed
— Methodspeed(traj, t)
Returns the scalar distance of the Trajectory
at t
timeunit
's from the initialstate
's epoch
.
GeneralAstrodynamics.Propagation.DistributedManifoldIteration
— MethodDistributedManifoldIteration(
traj,
V,
dur;
trajectories,
eps
)
Distributed perturbation for EnsembleProblem
itration.
GeneralAstrodynamics.Propagation.ManifoldIteration
— MethodManifoldIteration(traj, V, dur; trajectories, eps)
Non-distributed perturbation for EnsembleProblem
itration.
GeneralAstrodynamics.Propagation.ManifoldSolutionOutput
— MethodManifoldSolutionOutput(traj)
Maps a solution iteration within an EnsembleProblem
solver to a Trajectory
.
GeneralAstrodynamics.Propagation.ManifoldTrajectoryOutput
— MethodManifoldTrajectoryOutput(traj)
Maps a solution iteration within an EnsembleProblem
solver to a Trajectory
.
GeneralAstrodynamics.Propagation.UnitfulToAstroTime
— MethodUnitfulToAstroTime(t)
Converts Unitful
types to AstroTime
types. Throws an ArgumentError
if the unit of quantity t
is not a second, minute, hour, day, or year.
GeneralAstrodynamics.Propagation.halo
— Functionhalo(sys)
halo(sys, epoch; Az, kwargs...)
A halo
wrapper! Returns a CircularRestrictedThreeBodyOrbit
. Returns a tuple: halo_orbit, halo_period
.
GeneralAstrodynamics.Propagation.halo
— Methodhalo(
μ;
Az,
L,
hemisphere,
tolerance,
max_iter,
reltol,
abstol,
nan_on_fail,
disable_warnings
)
Returns a numerical solution for a Halo orbit about L
.
Arguments:
μ
: Non-dimensional mass parameter for the CR3BP system.Az
: Desired non-dimensional Z-amplitude for Halo orbit.ϕ
: Desired Halo orbit phase.L
: Lagrange point to orbit (L1 or L2).hemisphere
: Specifies northern or southern Halo orbit.
Outputs:
- Tuple of initial states:
(r, v)
wherer::Vector{<:AbstractFloat}
,v::Vector{<:Abstractfloat}
. - Throws
ArgumentError
if L is not:L1
or:L2
References:
The iterative scheme was pulled from directly from literature and sample code, including Rund 2018, and Dr. Mireles' lecture notes and EarthSunHaloOrbit_NewtonMewhod.m file available on their website. Specifically, the half-period iterative scheme (the F
matrix in the source code, and corresponding "next guess" computation) was ported directly from Dr. Mireles' public code and notes, which are available online.
GeneralAstrodynamics.Propagation.initialepoch
— Methodinitialepoch(traj)
Returns the start epoch
. Typically, This is a type defined in AstroTime.Epochs
.
GeneralAstrodynamics.Propagation.initialstate
— Methodinitialstate(traj)
Returns the initial condition associated with the Trajectory
.
GeneralAstrodynamics.Propagation.isperiodic
— Methodisperiodic(orbit, T; reltol, abstol)
Returns true if a RestrictedThreeBodySystem
is numerically periodic.
GeneralAstrodynamics.Propagation.manifold
— Methodmanifold(orbit, period; duration, trajectories, kwargs...)
Perturbs a periodic orbit's Trajectory
in the direction of the stable or unstable eigenvector of its monodromy
matrix to form a stable or unstable manifold
.
GeneralAstrodynamics.Propagation.manifold
— Methodmanifold(
traj;
duration,
eps,
direction,
algorithm,
ensemble_algorithm,
trajectories,
reltol,
abstol,
kwargs...
)
Perturbs a periodic orbit traj
in the direction of the stable or unstable eigenvector of its monodromy
matrix to form a stable or unstable manifold
.
GeneralAstrodynamics.Propagation.monodromy
— Methodmonodromy(orbit, T; verify, reltol, abstol)
Returns the Monodromy Matrix for a Halo orbit.
GeneralAstrodynamics.Propagation.perturb
— Methodperturb(state, V; eps)
Perturbs a CartesianStateWithSTM
in the direction of an eigenvector V
.
GeneralAstrodynamics.Propagation.perturb
— Methodperturb(traj, t, V; eps)
Returns an orbit perturbed in the direction of the local linearization right-multiplied by the provided eigenvector V
. Only available for Trajectory
instances with CartesianStateWithSTM
state types.
GeneralAstrodynamics.Propagation.propagate
— Methodpropagate(orbit, Δt; algorithm, kwargs...)
Propagates an orbit forward or backward in time. Use algorithm
to set the desired numerical integration algorithm, e.g. algorithm = Tsit5()
. All other kwargs
are passed directly to DifferentialEquations.solve
.
GeneralAstrodynamics.Propagation.solution
— Methodsolution(man)
Returns the solution
for the Manifold
. Typically, this is a DifferentialEquations.ODESolution
.
GeneralAstrodynamics.Propagation.solution
— Methodsolution(traj)
Returns the solution
for the Trajectory
. Typically, this is a DifferentialEquations.ODESolution
.
GeneralAstrodynamics.Propagation.stable_eigenvector
— Methodstable_eigenvector(monodromy; atol)
Calculates the eigenvector associated with the stable manifold of a Monodromy matrix.
GeneralAstrodynamics.Propagation.unstable_eigenvector
— Methodunstable_eigenvector(monodromy; atol)
Calculates the eigenvector associated with the unstable manifold of a Monodromy matrix.
GeneralAstrodynamics.States.angularunit
— Methodangularunit(man)
Returns the angular unit for the Trajectory
.
GeneralAstrodynamics.States.angularunit
— Methodangularunit(traj)
Returns the angular unit for the Trajectory
.
GeneralAstrodynamics.States.epoch
— Methodepoch(traj, t)
Returns an epoch
at time t
past initialepoch
.
GeneralAstrodynamics.States.frame
— Methodframe(_)
Returns the OrbitalFrame
of the Manifold
.
GeneralAstrodynamics.States.frame
— Methodframe(_)
Returns the OrbitalFrame
of the Trajectory
.
GeneralAstrodynamics.States.lengthunit
— Methodlengthunit(man)
Returns the length unit for the Trajectory
.
GeneralAstrodynamics.States.lengthunit
— Methodlengthunit(traj)
Returns the length unit for the Trajectory
.
GeneralAstrodynamics.States.massparamunit
— Methodmassparamunit(man)
Returns the mass parameter unit for the Trajectory
.
GeneralAstrodynamics.States.massparamunit
— Methodmassparamunit(traj)
Returns the mass parameter unit for the Trajectory
.
GeneralAstrodynamics.States.massunit
— Methodmassunit(man)
Returns the mass unit for the Manifold
.
GeneralAstrodynamics.States.massunit
— Methodmassunit(traj)
Returns the mass unit for the Trajectory
.
GeneralAstrodynamics.States.state
— Methodstate(traj, t)
Returns a state
of type typeof(initialstate)
at time t
.
GeneralAstrodynamics.States.system
— Methodsystem(man)
Returns the system associated with the Manifold
.
GeneralAstrodynamics.States.system
— Methodsystem(traj)
Returns the system associated with the Trajectory
.
GeneralAstrodynamics.States.timeunit
— Methodtimeunit(man)
Returns the time unit for the Trajectory
.
GeneralAstrodynamics.States.timeunit
— Methodtimeunit(traj)
Returns the time unit for the Trajectory
.
GeneralAstrodynamics.States.velocity
— Methodvelocity(traj, t)
Returns the position of the Trajectory
at t
timeunit
's from the initialstate
's epoch
.
GeneralAstrodynamics.States.velocityunit
— Methodvelocityunit(man)
Returns the velocity unit for the Trajectory
.
GeneralAstrodynamics.States.velocityunit
— Methodvelocityunit(traj)
Returns the velocity unit for the Trajectory
.
Visualizations
GeneralAstrodynamics.Visualizations.process_vars
— Methodprocess_vars(vars)
Rather than supply indices, users can use Symbol
instances to select indices for plotting.
Example
traj = propagate(orbit, period) plot(traj; vars=:tx) plot(traj; vars=xyz) plot(traj; vars=xẋ)
GeneralAstrodynamics.Visualizations.zerovelocityplot!
— Methodzerovelocityplot!(
fig,
orbit;
nondimensional_range,
kwargs...
)
Plot the zero velocity curves for the Synodic, normalized CR3BP system to the last figure.
GeneralAstrodynamics.Visualizations.zerovelocityplot
— Methodzerovelocityplot(orbit; nondimensional_range, kwargs...)
Plot the zero velocity curves for the Synodic, normalized CR3BP system.