Class PointingPanel

java.lang.Object
org.orekit.forces.Panel
org.orekit.forces.PointingPanel

public class PointingPanel extends Panel
Class representing one panel of a satellite, roughly pointing towards some target.

It is mainly used to represent a rotating solar array that points towards the Sun.

The panel rotation with respect to satellite body is the best pointing orientation achievable when the rotation axix is fixed by body attitude. Target is therefore always exactly in meridian plane defined by rotation axis and panel normal vector.

These panels are considered to be always double-sided.

Since:
3.0
Author:
Luc Maisonobe
  • Constructor Details

    • PointingPanel

      public PointingPanel(Vector3D rotationAxis, ExtendedPositionProvider target, double area, double drag, double liftRatio, double absorption, double reflection)
      Simple constructor.

      As the sum of absorption coefficient, specular reflection coefficient and diffuse reflection coefficient is exactly 1, only the first two coefficients are needed here, the third one is deduced from the other ones.

      The panel is considered to rotate about one axis in order to make its normal point as close as possible to the target. It means the target will always be in the plane defined by the rotation axis and the panel normal.

      Parameters:
      rotationAxis - rotation axis of the panel
      target - target towards which the panel will point (the Sun for a solar array)
      area - panel area in m²
      drag - drag coefficient
      liftRatio - drag lift ratio (proportion between 0 and 1 of atmosphere modecules that will experience specular reflection when hitting spacecraft instead of experiencing diffuse reflection, hence producing lift)
      absorption - radiation pressure absorption coefficient (between 0 and 1)
      reflection - radiation pressure specular reflection coefficient (between 0 and 1)
  • Method Details

    • getNormal

      public Vector3D getNormal(SpacecraftState state)
      Get panel normal in spacecraft frame.
      Specified by:
      getNormal in class Panel
      Parameters:
      state - current spacecraft state
      Returns:
      panel normal in spacecraft frame
    • getNormal

      public <T extends CalculusFieldElement<T>> FieldVector3D<T> getNormal(FieldSpacecraftState<T> state)
      Get panel normal in spacecraft frame.
      Specified by:
      getNormal in class Panel
      Type Parameters:
      T - type of the field elements
      Parameters:
      state - current spacecraft state
      Returns:
      panel normal in spacecraft frame