Class CR3BPSystem


  • public class CR3BPSystem
    extends Object
    Class creating, from two different celestial bodies, the corresponding system with respect to the Circular Restricted Three Body problem hypotheses.
    Since:
    10.2
    Author:
    Vincent Mouraux, William Desprats
    See Also:
    "Dynamical systems, the three-body problem, and space mission design, Koon, Lo, Marsden, Ross"
    • Constructor Detail

      • CR3BPSystem

        public CR3BPSystem​(CelestialBody primaryBody,
                           CelestialBody secondaryBody,
                           double a)
        Simple constructor.

        Standard constructor to use to define a CR3BP System. Mass ratio is calculated from JPL data.

        Parameters:
        primaryBody - Primary Body in the CR3BP System
        secondaryBody - Secondary Body in the CR3BP System
        a - Semi-Major Axis of the secondary body
      • CR3BPSystem

        public CR3BPSystem​(CelestialBody primaryBody,
                           CelestialBody secondaryBody,
                           double a,
                           double mu)
        Simple constructor.

        This constructor can be used to define a CR3BP System if the user wants to use a specified mass ratio.

        Parameters:
        primaryBody - Primary Body in the CR3BP System
        secondaryBody - Secondary Body in the CR3BP System
        a - Semi-Major Axis of the secondary body
        mu - Mass ratio of the CR3BPSystem
    • Method Detail

      • getMassRatio

        public double getMassRatio()
        Get the CR3BP mass ratio of the system mu2/(mu1+mu2).
        Returns:
        CR3BP mass ratio of the system mu2/(mu1+mu2)
      • getDdim

        public double getDdim()
        Get the CR3BP distance between the two bodies.
        Returns:
        CR3BP distance between the two bodies(m)
      • getVdim

        public double getVdim()
        Get the CR3BP orbital velocity of m2.
        Returns:
        CR3BP orbital velocity of m2(m/s)
      • getTdim

        public double getTdim()
        Get the CR3BP orbital period of m2 around m1.
        Returns:
        CR3BP orbital period of m2 around m1(s)
      • getName

        public String getName()
        Get the name of the CR3BP system.
        Returns:
        name of the CR3BP system
      • getPrimary

        public CelestialBody getPrimary()
        Get the primary CelestialBody.
        Returns:
        primary CelestialBody
      • getSecondary

        public CelestialBody getSecondary()
        Get the secondary CelestialBody.
        Returns:
        secondary CelestialBody
      • getRotatingFrame

        public Frame getRotatingFrame()
        Get the CR3BP Rotating Frame.
        Returns:
        CR3BP Rotating Frame
      • getLPosition

        public Vector3D getLPosition​(LagrangianPoints lagrangianPoint)
        Get the position of the Lagrangian point in the CR3BP Rotating frame.
        Parameters:
        lagrangianPoint - Lagrangian Point to consider
        Returns:
        position of the Lagrangian point in the CR3BP Rotating frame (-)
      • getGamma

        public double getGamma​(LagrangianPoints lagrangianPoint)
        Get the position of the Lagrangian point in the CR3BP Rotating frame.
        Parameters:
        lagrangianPoint - Lagrangian Point to consider
        Returns:
        Distance between a Lagrangian Point and its closest primary.
      • getRealAPV

        public AbsolutePVCoordinates getRealAPV​(AbsolutePVCoordinates apv0,
                                                AbsoluteDate initialDate,
                                                Frame outputFrame)
        Get the AbsolutePVCoordinates from normalized units to standard units in an output frame. This method ensure the constituency of the date of returned AbsolutePVCoordinate, especially when apv0 is the result of a propagation in CR3BP normalized model.
        Parameters:
        apv0 - Normalized AbsolutePVCoordinates in the rotating frame
        initialDate - Date of the at the beginning of the propagation
        outputFrame - Frame in which the output AbsolutePVCoordinates will be
        Returns:
        AbsolutePVCoordinates in the output frame [m,m/s]