Docstrings
Documentation for all types, and functions in GeneralAstrodynamics.
CoordinateFrames
GeneralAstrodynamics.CoordinateFrames.BarycentricInertial — Typeabstract type BarycentricInertial <: Inertialabstract type BarycentricInertial <: InertialA supertype for all barycentric-ineretial coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.BarycentricRotating — Typeabstract type BarycentricRotating <: Rotatingabstract type BarycentricRotating <: RotatingA supertype for all barycentric-rotating coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.BodycentricInertial — Typeabstract type BodycentricInertial <: Inertialabstract type BodycentricInertial <: InertialA supertype for all bodycentric-inertial coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.BodycentricRotating — Typeabstract type BodycentricRotating <: Rotatingabstract type BodycentricRotating <: RotatingA supertype for all bodycentric-rotating coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.Inertial — Typeabstract type Inertial <: OrbitalFrameabstract type Inertial <: OrbitalFrameA supertype for all inertial coordinate frames in space.
GeneralAstrodynamics.CoordinateFrames.OrbitalFrame — Typeabstract type OrbitalFrameabstract type OrbitalFrameA supertype for all coordinate frames used in space.
GeneralAstrodynamics.CoordinateFrames.OrbitalFrameTransform — Typeabstract type OrbitalFrameTransformabstract type OrbitalFrameTransformA supertype for all astrodynamics coordinate frame transformations.
GeneralAstrodynamics.CoordinateFrames.Rotating — Typeabstract type Rotating <: OrbitalFrameabstract type Rotating <: OrbitalFrameA 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.OrbitalFrameTransformstruct Transform{F1<:OrbitalFrame, F2<:OrbitalFrame, T1<:CoordinateTransformations.Transformation, T2<:CoordinateTransformations.Transformation} <: GeneralAstrodynamics.CoordinateFrames.OrbitalFrameTransformA generic frame transformation between two OrbitalFrame types. Converts F1 toF2.
transform_position::CoordinateTransformations.Transformationtransform_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.ConicSectionAn abstract type representing the Circular conic section.
GeneralAstrodynamics.Calculations.ConicSection — Typeabstract type ConicSectionAn abstract type for all conic sections.
GeneralAstrodynamics.Calculations.Elliptical — Typeabstract type Elliptical <: GeneralAstrodynamics.Calculations.ConicSectionAn abstract type representing the Elliptical conic section.
GeneralAstrodynamics.Calculations.Hyperbolic — Typeabstract type Hyperbolic <: GeneralAstrodynamics.Calculations.ConicSectionAn abstract type representing the Hyperbolic conic section.
GeneralAstrodynamics.Calculations.Parabolic — Typeabstract type Parabolic <: GeneralAstrodynamics.Calculations.ConicSectionAn 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
ArgumentErrorif L is not1or2.
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
ArgumentErrorif 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 Orbits.
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 Orbits.
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 kwargdirection=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 kwargdirection=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 ttimeunit'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 ttimeunit's from the initialstate's epoch.
GeneralAstrodynamics.Calculations.speed — Methodspeed(traj, t)
Returns the scalar distance of the Trajectory at ttimeunit'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
ArgumentErrorif L is not:L1or: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 ttimeunit'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.