org.orekit.forces.gravity.tides
Class OceanTides

java.lang.Object
  extended by org.orekit.parameter.Parameterizable
      extended by org.orekit.parameter.JacobiansParameterizable
          extended by org.orekit.forces.gravity.tides.AbstractTides
              extended by org.orekit.forces.gravity.tides.OceanTides
All Implemented Interfaces:
Serializable, ForceModel, GradientModel, PotentialTimeVariations, IJacobiansParameterizable, IParameterizable

public class OceanTides
extends AbstractTides

This class implements the perturbating force due to ocean tides.

The implementation of this class enables the computation of partial derivatives by finite differences with respect to the central attraction coefficient.

Since:
1.2
Version:
$Id: OceanTides.java 17582 2017-05-10 12:58:16Z bignon $
Author:
Rami Houdroge, Thomas Trapier
See Also:
Serialized Form
Concurrency :
not thread-safe
Concurrency comment :
not thread safe because of the method updateCoefficientsCandS().

Field Summary
static String RHO
          Parameter name for Density at surface.
 
Fields inherited from class org.orekit.forces.gravity.tides.AbstractTides
bodyFrame, coefficientsC, coefficientsCPD, coefficientsS, coefficientsSPD, MU, paramAe, paramMu, RADIUS
 
Constructor Summary
OceanTides(Frame centralBodyFrame, double equatorialRadius, double mu, double density, int degree, int order, boolean withAdmittance, IOceanTidesDataProvider tidesData)
          Constructor.
OceanTides(Frame centralBodyFrame, double equatorialRadius, double mu, double density, int degree, int order, int degreePD, int orderPD, boolean withAdmittance, IOceanTidesDataProvider tidesData)
          Constructor.
OceanTides(Frame centralBodyFrame, Parameter equatorialRadius, Parameter mu, Parameter density, int degree, int order, boolean withAdmittance, IOceanTidesDataProvider tidesData)
          Constructor using Parameter.
OceanTides(Frame centralBodyFrame, Parameter equatorialRadius, Parameter mu, Parameter density, int degree, int order, int degreePD, int orderPD, boolean withAdmittance, IOceanTidesDataProvider tidesData)
          Constructor using Parameter.
 
Method Summary
 boolean computeGradientPosition()
          This method returns true if the acceleration partial derivatives with respect to position have to be computed.
 double[][] getDenormalizedCCoefs(AbsoluteDate date)
          Get denormalized C coefficients table
 double[][] getDenormalizedSCoefs(AbsoluteDate date)
          Get denormalized S coefficients table
 double[][] getNormalizedCCoefs(AbsoluteDate date)
          Get normalized C coefficients table
 double[][] getNormalizedSCoefs(AbsoluteDate date)
          Get normalized S coefficients table
 void updateCoefficientsCandS(AbsoluteDate date)
          Update the C and the S coefficients for acceleration computation.
 void updateCoefficientsCandSPD(AbsoluteDate date)
          Update the C and the S coefficients for partial derivatives computation.
 
Methods inherited from class org.orekit.forces.gravity.tides.AbstractTides
addContribution, addDAccDParam, addDAccDState, computeAcceleration, computeAcceleration, computeGradientVelocity, getEventsDetectors
 
Methods inherited from class org.orekit.parameter.JacobiansParameterizable
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameter
 
Methods inherited from class org.orekit.parameter.Parameterizable
addParameter, getParameters, supportsParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.orekit.parameter.IParameterizable
getParameters, supportsParameter
 

Field Detail

RHO

public static final String RHO
Parameter name for Density at surface.

See Also:
Constant Field Values
Constructor Detail

OceanTides

public OceanTides(Frame centralBodyFrame,
                  double equatorialRadius,
                  double mu,
                  double density,
                  int degree,
                  int order,
                  boolean withAdmittance,
                  IOceanTidesDataProvider tidesData)
Constructor.

Parameters:
centralBodyFrame - rotating central body frame
equatorialRadius - equatorial radius
mu - gravitational constant for central body
density - density of water
degree - degree
order - order
withAdmittance - if the admittance computation is requested
tidesData - data for ocean tides

OceanTides

public OceanTides(Frame centralBodyFrame,
                  double equatorialRadius,
                  double mu,
                  double density,
                  int degree,
                  int order,
                  int degreePD,
                  int orderPD,
                  boolean withAdmittance,
                  IOceanTidesDataProvider tidesData)
Constructor.

Parameters:
centralBodyFrame - rotating central body frame
equatorialRadius - equatorial radius
mu - gravitational constant for central body
density - density of water
degree - degree for acceleration computation
order - order for acceleration computation
degreePD - degree for partial derivatives computation
orderPD - order for partial derivatives computation
withAdmittance - if the admittance computation is requested
tidesData - data for ocean tides

OceanTides

public OceanTides(Frame centralBodyFrame,
                  Parameter equatorialRadius,
                  Parameter mu,
                  Parameter density,
                  int degree,
                  int order,
                  boolean withAdmittance,
                  IOceanTidesDataProvider tidesData)
Constructor using Parameter.

Parameters:
centralBodyFrame - rotating central body frame
equatorialRadius - equatorial radius parameter
mu - gravitational constant for central body parameter
density - density of water parameter
degree - degree
order - order
withAdmittance - if the admittance computation is requested
tidesData - data for ocean tides

OceanTides

public OceanTides(Frame centralBodyFrame,
                  Parameter equatorialRadius,
                  Parameter mu,
                  Parameter density,
                  int degree,
                  int order,
                  int degreePD,
                  int orderPD,
                  boolean withAdmittance,
                  IOceanTidesDataProvider tidesData)
Constructor using Parameter.

Parameters:
centralBodyFrame - rotating central body frame
equatorialRadius - equatorial radius parameter
mu - gravitational constant for central body parameter
density - density of water parameter parameter
degree - degree for acceleration computation
order - order for acceleration computation
degreePD - degree for partial derivatives computation
orderPD - order for partial derivatives computation
withAdmittance - if the admittance computation is requested
tidesData - data for ocean tides
Method Detail

getNormalizedCCoefs

public double[][] getNormalizedCCoefs(AbsoluteDate date)
                               throws OrekitException
Get normalized C coefficients table

Parameters:
date - user date
Returns:
Normalized C coefficients
Throws:
OrekitException - if fails

getNormalizedSCoefs

public double[][] getNormalizedSCoefs(AbsoluteDate date)
                               throws OrekitException
Get normalized S coefficients table

Parameters:
date - user date
Returns:
Normalized S coefficients
Throws:
OrekitException - if fails

getDenormalizedCCoefs

public double[][] getDenormalizedCCoefs(AbsoluteDate date)
                                 throws OrekitException
Get denormalized C coefficients table

Parameters:
date - user date
Returns:
Denormalized C coefficients
Throws:
OrekitException - if fails

getDenormalizedSCoefs

public double[][] getDenormalizedSCoefs(AbsoluteDate date)
                                 throws OrekitException
Get denormalized S coefficients table

Parameters:
date - user date
Returns:
Denormalized C coefficients
Throws:
OrekitException - if fails

updateCoefficientsCandS

public void updateCoefficientsCandS(AbsoluteDate date)
                             throws OrekitException
Update the C and the S coefficients for acceleration computation.

Specified by:
updateCoefficientsCandS in interface PotentialTimeVariations
Specified by:
updateCoefficientsCandS in class AbstractTides
Parameters:
date - : date
Throws:
OrekitException - if position cannot be computed in given frame

updateCoefficientsCandSPD

public void updateCoefficientsCandSPD(AbsoluteDate date)
                               throws OrekitException
Update the C and the S coefficients for partial derivatives computation.

Specified by:
updateCoefficientsCandSPD in interface PotentialTimeVariations
Specified by:
updateCoefficientsCandSPD in class AbstractTides
Parameters:
date - : date
Throws:
OrekitException - if position cannot be computed in given frame

computeGradientPosition

public boolean computeGradientPosition()
This method returns true if the acceleration partial derivatives with respect to position have to be computed.

Returns:
true if the derivatives have to be computed, false otherwise


Copyright © 2017 CNES. All Rights Reserved.