User Manual 4.17 Progmission

De Patrius
Version datée du 27 novembre 2025 à 14:24 par Admin tsn (discussion | contributions) (Page créée avec « == Introduction == === Scope === The scope of this section is to present the mission analysis features available in Patrius library. These features are localized in the '''progmission''' package to host mission analysis features inspired by Celestlab. === Javadoc === All the classes related to mission analysis are in the following packages: {| class="wikitable" |- ! scope="col"| Library ! scope="col"| Javadoc |- |Patrius |[{{JavaDoc4.17}}/fr/cnes/sirius/patri... »)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Introduction

Scope

The scope of this section is to present the mission analysis features available in Patrius library.

These features are localized in the progmission package to host mission analysis features inspired by Celestlab.

Javadoc

All the classes related to mission analysis are in the following packages:

Library Javadoc
Patrius [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/progmission/package-summary.html Package fr.cnes.sirius.patrius.progmission]

Useful Documents

None as of now.

Features Description

The mission analysis provides the following main features:

  • Interplanetary functions
  • Visibility and eclipse computation functions
  • Keplerian orbits properties

Interplanetary functions

The following Celestlab functions are imported into Patrius:

  • CL_ip_sphereInfluence: Analytical computation of the radius of the sphere of influence from the gravitational parameters of the two bodies and the distance between them.
  • CL_ip_insertionDv: Analytical computation of the ΔV for insertion into an elliptical orbit around a planet from an initial hyperbolic orbit.
  • CL_ip_escapeDv: Analytical computation of the ΔV to escape a planet into a hyperbolic orbit from an initial elliptical orbit. The final class InterplanetaryUtils will group all these static functions and will not be instantiable.

Sphere of influence computation

The following methods allow to compute the sphere of influence (SOI) radius around the lightest body (smallest mu) given the provided mu values and distance:

  • double computeSphereInfluenceRadius(double mu1, double mu2, double distance)
  • double[] computeSphereInfluenceRadius(double[] mu1, double[] mu2, double[] distance)
  • double computeSphereInfluenceRadius(CelestialBody body1, CelestialBody body2, AbsoluteDate date)
  • double[] computeSphereInfluenceRadius(List bodiesList1, List bodiesList2, List dates)

Inspired by the Celestlab functionCL_ip_sphereInfluence.

Insertion ΔV computation

The following methods allow to compute the instantaneous DV needed at the perigee to reach the targeted elliptic orbit from the current hyperbolic orbit around the Earth:

  • double[] computeInsertionDV (double vinf, double rph, double sma, double tanoh, double mu)
  • double[] computeInsertionDV (double vinf, double rph, double sma)
  • List<double[]> computeInsertionDV (double[] vinf, double[] rph, double[] sma, double[] tanoh, double mu)
  • List<double[]> computeInsertionDV (double[] vinf, double[] rph, double[] sma)
  • Pair<Orbit, double>computeInsertionDV (Orbit orbit, double sma)
  • List<Pair<Orbit, double>> computeInsertionDV (List<Orbit> orbitList, double[] sma)

Inspired by the Celestlab function CL_ip_insertionDv.

Escape ΔV computation

The following methods allow to compute the instantaneous DV needed at the perigee to reach the targeted hyperbolic orbit from the current elliptic orbit around the Earth:

  • double[] computeEscapeDV (double sma, double ecc, double vinf, double tanoe, double mu)
  • double[] computeEscapeDV (double sma, double ecc, double vinf)
  • List<double[]> computeEscapeDV (double[] sma, double[] ecc, double[] vinf, double[] tanoe, double mu)
  • List<double[]> computeEscapeDV (double[] sma, double[] ecc, double[] vinf)
  • Pair<Orbit, double> computeEscapeDV (Orbit orbit, double vInf)
  • List<Pair<Orbit, double>> computeEscapeDV (List<Orbit> orbitList, double[] vInf)

Inspired by the Celestlab function CL_ip_escapeDv.

Visibility and eclipse computation functions

The following Celestlab functions are imported into Patrius:

  • CL_ev_eclipse: Computation of eclipse intervals between a satellite, a star (light source), and an occulting body.
  • CL_ev_stationVisibility: Computation of visibility intervals between a satellite and a station that defines a minimum elevation angle.
  • CL_gm_eclipse: Analytical computation of various eclipse results for an elliptical orbit. The results include the eclipse duration, the initial and final PSO values (start/end of eclipse), and the angle describing the portion of the orbit in eclipse.
  • CL_gm_visiParams: Analytical computation of various visibility parameters around a spherical body, specifying the distances between the body’s center and, respectively, the observing satellite and the point of interest. The results include central angles, the distance between the satellite and the target, the elevation angle, and the incidence angle.

ProgDetectorUtils class features

This class can be used to compute the interval lists associated to detectors (rather the phenomena derived from them) for a given propagator and propagation interval.

The event detectors will be wrapped with coding event detectors that will be added to the propagator.

The main usage of this class is to make event detectors usages more convenient for users. It offers severals kind of constructors and provides only one service : getIntervals() to retrieve the map linking each event detector provided to the instance and the list of the intervals of their associated phenomenon.

Keplerian orbits properties

The following Celestlab functions are imported into Patrius:

  • CL_kp_anomConvert: Analytical computation to convert one type of orbital anomaly to another.
  • CL_kp_apsConvert: Analytical computation to convert orbital characteristics at periapsis or apoapsis.
  • CL_kp_characteristics: Analytical computation of various orbital parameters for elliptical or hyperbolic orbits. The results include the orbital period, mean motion, hyperbolic excess velocity, orbital energy, escape velocities, and others.

AnomalyUtils class features

The CL_kp_anomConvert service is provided by the AnomalyUtils class (in fr.cnes.sirius.patrius.orbits package).

This class describes static methods allowing to convert anomaly types from/to true/mean/eccentric for elliptical or hyperbolic orbits. It supports "e" or "ex/ey" representations.

KeplerianParamComputer class features

The CL_kp_apsConvert service is provided by the KeplerianParamComputer class.

This class describes static methods allowing to compute various keplerian characteristics based on the semi-major axis, eccentricity and true anomaly such as the periapsis radius/altitude, the apoapsis radius/altitude, the periapsis/apoapsis velocity and the hyperbolic excess velocity.

KeplerianParamUtils class features

The CL_kp_characteristics service is provided by the KeplerianParamUtils class.

This class describes static methods allowing to compute various type of parameters for elliptical or hyperbolic orbits such as the orbital period, mean motion, hyperbolic excess velocity, orbital energy, escape velocities, and others. It uses an internal enumerate class ApsParamType to make easier to get the expected parameter without having to deal with a large number of methods.

Contents

Classes

Class Summary Javadoc
AnomalyUtils Anomalies conversion features. [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/orbits/AnomalyUtils.html ...]
EventUtils Event features imported from CelestLab. [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/progmission/EventUtils.html ...]
InterplanetaryUtils Interplanetary features imported from CelestLab. [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/progmission/InterplanetaryUtils.html ...]
KeplerianParamComputer Keplerian parameters characteristics from kep params features imported from CelestLab. [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/progmission/KeplerianParamComputer.html ...]
KeplerianParamUtils Keplerian parameters characteristics features imported from CelestLab. [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/progmission/KeplerianParamUtils.html ...]
ProgDetectorUtils Event detectors simplified usage. [[[:Modèle:JavaDoc4.17]]/fr/cnes/sirius/patrius/progmission/ProgDetectorUtils.html ...]