public class Relativity extends AbstractParameterizable implements ForceModel
Implemented from Montenbruck and Gill equation 3.146.
Constructor and Description |
---|
Relativity(double gm)
Create a force model to add post-Newtonian acceleration corrections to an Earth
orbit.
|
Modifier and Type | Method and Description |
---|---|
FieldVector3D<DerivativeStructure> |
accelerationDerivatives(AbsoluteDate date,
Frame frame,
FieldVector3D<DerivativeStructure> position,
FieldVector3D<DerivativeStructure> velocity,
FieldRotation<DerivativeStructure> rotation,
DerivativeStructure mass)
Compute acceleration derivatives with respect to state parameters.
|
FieldVector3D<DerivativeStructure> |
accelerationDerivatives(SpacecraftState s,
String paramName)
Compute acceleration derivatives with respect to additional parameters.
|
void |
addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
Compute the contribution of the force model to the perturbing
acceleration.
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model.
|
double |
getParameter(String name) |
void |
setParameter(String name,
double value) |
complainIfNotSupported, getParametersNames, isSupported
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParametersNames, isSupported
public Relativity(double gm)
gm
- Earth's gravitational parameter.public void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws OrekitException
ForceModel
addContribution
in interface ForceModel
s
- current state information: date, kinematics, attitudeadder
- object where the contribution should be addedOrekitException
- if some specific error occurspublic FieldVector3D<DerivativeStructure> accelerationDerivatives(AbsoluteDate date, Frame frame, FieldVector3D<DerivativeStructure> position, FieldVector3D<DerivativeStructure> velocity, FieldRotation<DerivativeStructure> rotation, DerivativeStructure mass)
ForceModel
The derivatives should be computed with respect to position, velocity and optionnaly mass. The input parameters already take into account the free parameters (6 or 7 depending on derivation with respect to mass being considered or not) and order (always 1). Free parameters at indices 0, 1 and 2 correspond to derivatives with respect to position. Free parameters at indices 3, 4 and 5 correspond to derivatives with respect to velocity. Free parameter at index 6 (if present) corresponds to to derivatives with respect to mass.
accelerationDerivatives
in interface ForceModel
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framevelocity
- velocity of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- spacecraft masspublic FieldVector3D<DerivativeStructure> accelerationDerivatives(SpacecraftState s, String paramName) throws OrekitException
ForceModel
accelerationDerivatives
in interface ForceModel
s
- spacecraft stateparamName
- name of the parameter with respect to which derivatives are requiredOrekitException
- if derivatives cannot be computedpublic EventDetector[] getEventsDetectors()
ForceModel
getEventsDetectors
in interface ForceModel
public double getParameter(String name) throws UnknownParameterException
getParameter
in interface ParameterizedODE
UnknownParameterException
public void setParameter(String name, double value) throws UnknownParameterException
setParameter
in interface ParameterizedODE
UnknownParameterException
Copyright © 2002-2015 CS Systèmes d'information. All rights reserved.