Class CR3BPForceModel
- java.lang.Object
-
- org.orekit.forces.AbstractForceModel
-
- org.orekit.propagation.numerical.cr3bp.CR3BPForceModel
-
- All Implemented Interfaces:
ForceModel
,ParametersDriversProvider
public class CR3BPForceModel extends AbstractForceModel
Class calculating the acceleration induced by CR3BP model.- Since:
- 10.2
- Author:
- Vincent Mouraux
- See Also:
- "Dynamical systems, the three-body problem, and space mission design, Koon, Lo, Marsden, Ross"
-
-
Field Summary
Fields Modifier and Type Field Description static String
MASS_RATIO_SUFFIX
Suffix for parameter name for Mass Ratio enabling Jacobian processing.
-
Constructor Summary
Constructors Constructor Description CR3BPForceModel(CR3BPSystem cr3bp)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends CalculusFieldElement<T>>
FieldVector3D<T>acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.Vector3D
acceleration(SpacecraftState s, double[] parameters)
Compute acceleration.boolean
dependsOnPositionOnly()
Check if force models depends on position only.Stream<EventDetector>
getEventsDetectors()
Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>>getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.<T extends CalculusFieldElement<T>>
FieldDerivativeStructure<T>getPotential(FieldSpacecraftState<T> s)
Calculate spacecraft potential.DerivativeStructure
getPotential(SpacecraftState s)
Calculate spacecraft potential.-
Methods inherited from class org.orekit.forces.AbstractForceModel
complainIfNotSupported, getParameterDriver, isSupported
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.forces.ForceModel
addContribution, addContribution, getParameters, getParameters, init, init
-
-
-
-
Field Detail
-
MASS_RATIO_SUFFIX
public static final String MASS_RATIO_SUFFIX
Suffix for parameter name for Mass Ratio enabling Jacobian processing.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CR3BPForceModel
public CR3BPForceModel(CR3BPSystem cr3bp)
Simple constructor.- Parameters:
cr3bp
- Name of the CR3BP System
-
-
Method Detail
-
acceleration
public Vector3D acceleration(SpacecraftState s, double[] parameters)
Compute acceleration.- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- acceleration in same frame as state
-
acceleration
public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.- Type Parameters:
T
- type of the elements- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- acceleration in same frame as state
-
getPotential
public DerivativeStructure getPotential(SpacecraftState s)
Calculate spacecraft potential.- Parameters:
s
- SpacecraftState- Returns:
- Spacecraft Potential
-
getPotential
public <T extends CalculusFieldElement<T>> FieldDerivativeStructure<T> getPotential(FieldSpacecraftState<T> s)
Calculate spacecraft potential.- Type Parameters:
T
- Field element- Parameters:
s
- SpacecraftState- Returns:
- Spacecraft Potential
-
getEventsDetectors
public Stream<EventDetector> getEventsDetectors()
Get the discrete events related to the model.- Returns:
- stream of events detectors
-
getFieldEventsDetectors
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field)
Description copied from interface:ForceModel
Get the discrete events related to the model.- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
field
- field to which the state belongs- Returns:
- stream of events detectors
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Returns:
- drivers for parameters
-
dependsOnPositionOnly
public boolean dependsOnPositionOnly()
Check if force models depends on position only.- Returns:
- true if force model depends on position only, false if it depends on velocity, either directly or due to a dependency on attitude
-
-