org.orekit.bodies
Class MeeusSun

java.lang.Object
  extended by org.orekit.bodies.AbstractCelestialBody
      extended by org.orekit.bodies.MeeusSun
All Implemented Interfaces:
Serializable, CelestialBody, PVCoordinatesProvider

public class MeeusSun
extends AbstractCelestialBody

This class implements the Sun ephemerides according to the algorithm of Meeus, it only provides the position. Note that it is not possible to build this Sun from the CelestialBodyFactory.

See "Astronomical Algorithms", chapter 24 "Solar Coordinates", Jean Meeus, 1991. This class allows the use of three different Meeus model : the standard Meeus model, the STELA one and the on board model (used for CERES mission for instance).

About Stela's implementation of this model :

This class contains methods to store AbstractCelestialBody.getInertiallyOrientedFrame() to integration frame (CIRF) transform to speed up computation during the integration process if Stela model have been chosen. As this transform varies slowly through time, it has been shown it is not necessary to recompute it every time. Warning: these methods should not be used in a stand-alone use (unless you known what you are doing). There are two methods:

Note that pole information allowing to define inertially-centered frame and rotating frame are defined in IAUPoleFactory since Meeus model does not provide the information.

Since:
1.1
Version:
$Id: MeeusSun.java 17582 2017-05-10 12:58:16Z bignon $
Author:
Julie Anton
See Also:
CelestialBody, Serialized Form
Concurrency :
immutable

Nested Class Summary
static class MeeusSun.MODEL
          Enumerate to choose the used Meeus model : standard, Stela or board model.
 
Constructor Summary
MeeusSun()
          Simple constructor for standard Meeus model.
MeeusSun(MeeusSun.MODEL model)
          Constructor to build wished Meeus model : standard model, STELA model or board model.
 
Method Summary
 PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
          Get the PVCoordinates of the body in the selected frame.
static void resetTransform()
          Reset cached transform.
static void updateTransform(AbsoluteDate date, Frame frame)
          Update cached transform from FramesFactory.getMOD(boolean) to provided frame.
 
Methods inherited from class org.orekit.bodies.AbstractCelestialBody
getBodyOrientedFrame, getFrame, getGM, getInertiallyOrientedFrame, getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MeeusSun

public MeeusSun()
         throws OrekitException
Simple constructor for standard Meeus model.

Throws:
OrekitException - if data embedded in the library cannot be read

MeeusSun

public MeeusSun(MeeusSun.MODEL model)
         throws OrekitException
Constructor to build wished Meeus model : standard model, STELA model or board model.

Parameters:
model - Meeus model to be used
Throws:
OrekitException - if data embedded in the library cannot be read
Method Detail

getPVCoordinates

public PVCoordinates getPVCoordinates(AbsoluteDate date,
                                      Frame frame)
                               throws OrekitException
Description copied from class: AbstractCelestialBody
Get the PVCoordinates of the body in the selected frame.

Specified by:
getPVCoordinates in interface PVCoordinatesProvider
Specified by:
getPVCoordinates in class AbstractCelestialBody
Parameters:
date - current date
frame - the frame where to define the position
Returns:
position/velocity of the body (m and m/s)
Throws:
OrekitException - if position cannot be computed in given frame

updateTransform

public static void updateTransform(AbsoluteDate date,
                                   Frame frame)
                            throws OrekitException
Update cached transform from FramesFactory.getMOD(boolean) to provided frame. Once called, this transform will always be used when calling getPVCoordinates(AbsoluteDate, Frame) unless a call to resetTransform() has been made.

Warning : this method must only be called if the chosen model is the Meeus STELA model.

Parameters:
date - a date
frame - a frame
Throws:
OrekitException - thrown if transformation failed

resetTransform

public static void resetTransform()
Reset cached transform.

Warning : this method must only be called if the chosen model is the Meeus STELA model.



Copyright © 2017 CNES. All Rights Reserved.