Package org.orekit.bodies
Class CR3BPSystem
- java.lang.Object
-
- org.orekit.bodies.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 Summary
Constructors Constructor Description CR3BPSystem(CelestialBody primaryBody, CelestialBody secondaryBody, double a)
Simple constructor.CR3BPSystem(CelestialBody primaryBody, CelestialBody secondaryBody, double a, double mu)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getDdim()
Get the CR3BP distance between the two bodies.double
getGamma(LagrangianPoints lagrangianPoint)
Get the position of the Lagrangian point in the CR3BP Rotating frame.Vector3D
getLPosition(LagrangianPoints lagrangianPoint)
Get the position of the Lagrangian point in the CR3BP Rotating frame.double
getMassRatio()
Get the CR3BP mass ratio of the system mu2/(mu1+mu2).String
getName()
Get the name of the CR3BP system.CelestialBody
getPrimary()
Get the primary CelestialBody.AbsolutePVCoordinates
getRealAPV(AbsolutePVCoordinates apv0, AbsoluteDate initialDate, Frame outputFrame)
Get the AbsolutePVCoordinates from normalized units to standard units in an output frame.Frame
getRotatingFrame()
Get the CR3BP Rotating Frame.CelestialBody
getSecondary()
Get the secondary CelestialBody.double
getTdim()
Get the CR3BP orbital period of m2 around m1.double
getVdim()
Get the CR3BP orbital velocity of m2.
-
-
-
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 SystemsecondaryBody
- Secondary Body in the CR3BP Systema
- 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 SystemsecondaryBody
- Secondary Body in the CR3BP Systema
- Semi-Major Axis of the secondary bodymu
- 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 frameinitialDate
- Date of the at the beginning of the propagationoutputFrame
- Frame in which the output AbsolutePVCoordinates will be- Returns:
- AbsolutePVCoordinates in the output frame [m,m/s]
-
-