Orbital Perturbations

Within the field of astrodynamics, the accurate propagation of orbits is of paramount importance. Orbital perturbations, such as those caused by the Earth's oblateness (J2 term), and atmospheric drag, can significantly affect the trajectory of a satellite or spacecraft. To address these perturbations and enable precise orbit prediction, the orbitalPerturbations.jl file has been developed. The following table shows the functions available inside the module.

Function NameInputsOutputsFunctionality
J2_accelerationr::Vectora_p_J2::VectorCalculate the perturbation acceleration due to the Earth's oblateness.
drag_accelerationalt::Float64, v::Vector, Bc::Float64a_p_drag::VectorCalculate the perturbation acceleration due to the drag on Earth.
cowellr0::Vector{Float64}, v0::Vector{Float64}, Bc::Float64, t::Vector, flag_drag::Bool, flag_J2::Boolr::Vector, v::VectorPropagate the orbit using Cowell's method given the initial conditions and a vector of time instants for which the solution will be provided. It can consider the drag and/or J2 perturbations if desired.

One widely used propagator is the Cowell's method, which provides a numerical solution to the equations of motion by accounting for the perturbing forces. These perturbing forces are all summed together to form the total force acting on the orbiting body, and then this total force is numerically integrated starting from the initial position. This way, the Cowell's method propagates the orbit over time by iteratively advancing the state vector of the object, while considering the effects of gravitational perturbations, atmospheric drag, and other external forces.