Docstrings

Documentation for all types, and functions in GeneralAstrodynamics.

CoordinateFrames

GeneralAstrodynamics.CoordinateFrames.TransformType
struct 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

source
GeneralAstrodynamics.CoordinateFrames.TransformMethod
Transform(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).

source

Calculations

GeneralAstrodynamics.Calculations.LancasterBlanchardMethod
LancasterBlanchard(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.
source
GeneralAstrodynamics.Calculations.analyticalhaloMethod
analyticalhalo(μ; 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 not 1 or 2.

References:

source
GeneralAstrodynamics.Calculations.cartesianMethod
cartesian(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.

source
GeneralAstrodynamics.Calculations.lagrangeFunction
lagrange(μ)
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:

source
GeneralAstrodynamics.Calculations.lambertMethod
lambert(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.
source
GeneralAstrodynamics.Calculations.lambert_lancaster_blanchardMethod
lambert_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.
source
GeneralAstrodynamics.Calculations.minmax_distancesMethod
minmax_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.
source
GeneralAstrodynamics.Calculations.σmaxMethod
σ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.
source
LinearAlgebra.normalizeMethod
normalize(r, v, t, a, μs; lengthunit, timeunit)

Normalizes a CR3BP orbit in the rotating reference frame.

source

States

GeneralAstrodynamics.States.AbstractOrbitType
abstract 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).

source
GeneralAstrodynamics.States.AbstractStateType
abstract 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.

source
GeneralAstrodynamics.States.CR3BPOrbitType
mutable 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.

source
GeneralAstrodynamics.States.CR3BPParametersType
struct 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.

source
GeneralAstrodynamics.States.CartesianOrbitType
mutable 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.

source
GeneralAstrodynamics.States.CartesianOrbitWithSTMType
mutable 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.

source
GeneralAstrodynamics.States.CartesianR2BPOrbitType
mutable 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.

source
GeneralAstrodynamics.States.CartesianStateType
mutable 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 ẋ, ẏ, ż.

source
GeneralAstrodynamics.States.CartesianStateWithSTMType
mutable 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 ẋ, ẏ, ż.

source
GeneralAstrodynamics.States.KeplerianR2BPOrbitType
mutable 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.

source
GeneralAstrodynamics.States.KeplerianStateType
mutable 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, Ω, ω, ν.

source
GeneralAstrodynamics.States.OrbitType
mutable 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.

source
GeneralAstrodynamics.States.ParameterVectorType
abstract 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.

source
GeneralAstrodynamics.States.ParameterizedLabelledArrayType
abstract 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.

Note

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.

source
GeneralAstrodynamics.States.R2BPOrbitType
mutable 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.

source
GeneralAstrodynamics.States.R2BPParametersType
struct 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.

source
ArrayInterface.restructureMethod
restructure(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.

source
Base.convertMethod
convert(_, 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.

source
Base.convertMethod
convert(_, state)

Converts types and units for a CartesianState.

source
Base.convertMethod
convert(_, state)

Converts types and units for a CartesianState.

source
Base.convertMethod
convert(_, system)

Converts types and units for a CR3BPParameters.

source
Base.convertMethod
convert(_, system)

Converts types and units for a R2BPParameters.

source
Base.convertMethod
convert(_, 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.

source
Base.convertMethod
convert(_, 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.

source
Base.copyMethod
copy(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.

source
Base.copyto!Method
copyto!(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.

source
Base.dataidsMethod
dataids(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.

source
Base.deepcopyMethod
deepcopy(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.

source
Base.elsizeMethod
elsize(_)
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.

source
Base.getindexMethod
getindex(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.

source
Base.getpropertyMethod
getproperty(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.

source
Base.oneMethod
one(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.

source
Base.propertynamesMethod
propertynames(_)
propertynames(_)

Returns dot-accessible property names for a ParameterizedLabelledArray.

source
Base.setindex!Method
setindex!(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.

source
Base.setproperty!Method
setproperty!(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.

source
Base.showMethod
show(io, sys; showfloats, space)

Displays a CR3BPParameters instance.

source
Base.showMethod
show(io, state; showfloats, space)

Displays a CartesianStateWithSTM.

source
Base.showMethod
show(io, state; showfloats, space)

Displays a CartesianState.

source
Base.showMethod
show(io, state; showfloats, space)

Displays a KeplerianState.

source
Base.showMethod
show(io, state; showfloats, space)

Displays R2BPParameters.

source
Base.similarMethod
similar(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.

source
Base.similarMethod
similar(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.

source
Base.similarMethod
similar(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.

source
Base.sizeMethod
size(_)

Returns the size of the parameter vector.

source
Base.unsafe_convertMethod
unsafe_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.

source
Base.zeroMethod
zero(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.

source
GeneralAstrodynamics.States.isnormalizedMethod
isnormalized(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.

source

Propagation

GeneralAstrodynamics.Propagation.AbstractOrbitalODESolutionType
abstract 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.

source
GeneralAstrodynamics.Propagation.ManifoldType
struct 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!

source
GeneralAstrodynamics.Propagation.TrajectoryType
struct 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!

source
SciMLBase.EnsembleProblemMethod

Returns 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.

source
SciMLBase.EnsembleProblemMethod

Returns 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.

source
Base.getindexMethod
getindex(man, args)

Calls the underlying solution's getindex function to return the CartesianState of the Manifold at time t past the initialepoch.

source
Base.getindexMethod
getindex(traj, args)

Calls the underlying solution's getindex function to return the CartesianState of the Trajectory at time t past the initialepoch.

source
Base.positionMethod
position(traj, t)

Returns the position of the Trajectory at ttimeunit's from the initialstate's epoch.

source
GeneralAstrodynamics.Propagation.haloMethod
halo(
    μ;
    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) where r::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.

source
GeneralAstrodynamics.Propagation.manifoldMethod
manifold(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.

source
GeneralAstrodynamics.Propagation.manifoldMethod
manifold(
    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.

source
GeneralAstrodynamics.Propagation.perturbMethod
perturb(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.

source
GeneralAstrodynamics.Propagation.propagateMethod
propagate(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.

source

Visualizations

GeneralAstrodynamics.Visualizations.process_varsMethod
process_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ẋ)

source