public class InertiaComputedModel extends Object implements IInertiaModel
Note : when using this model within a propagation, it is necessary to feed the additional equations to the propagator. This has to be done prior to any propagation, to allow this model to account mass variations (i.e. due to maneuvers), using the method NumericalPropagator.setMassProviderEquation() which will register the additional equation and initialize the initial additional state.
IInertiaModel
MASS
Constructor and Description |
---|
InertiaComputedModel(Assembly assembly)
Constructor for the computed inertia model.
|
Modifier and Type | Method and Description |
---|---|
void |
addMassDerivative(String partName,
double flowRate)
Add the mass derivate of the given part.
|
AdditionalEquations |
getAdditionalEquation(String name)
Get the mass equation related to the part.
|
List<String> |
getAllPartsNames()
Get the list of the name of the parts.
|
Matrix3D |
getInertiaMatrix(Frame frame,
AbsoluteDate date)
Getter for the inertia matrix of the spacecraft,
expressed with respect to the MASS CENTER in a given frame.
|
Matrix3D |
getInertiaMatrix(Frame frame,
AbsoluteDate date,
Vector3D inertiaReferencePoint)
Getter for the inertia matrix of the spacecraft,
once expressed with respect to a point
that can be different from the mass center.
|
double |
getMass(String partName)
Return the mass of the given part.
|
Vector3D |
getMassCenter(Frame frame,
AbsoluteDate date)
Getter for the mass center.
|
double |
getTotalMass()
Return the mass of the spacecraft.
|
double |
getTotalMass(SpacecraftState state)
Return the mass of the spacecraft following the order.
|
void |
setMassDerivativeZero(String partName)
Set mass derivative to zero.
|
void |
updateMass(String partName,
double mass)
Update the mass of the given part.
|
public InertiaComputedModel(Assembly assembly)
assembly
- the considered assemblypublic Vector3D getMassCenter(Frame frame, AbsoluteDate date) throws PatriusException
getMassCenter
in interface IInertiaModel
frame
- the expression frame of the mass center positiondate
- the current date (unused for simple the model)PatriusException
- if a problem occurs during frames transformationspublic Matrix3D getInertiaMatrix(Frame frame, AbsoluteDate date) throws PatriusException
getInertiaMatrix
in interface IInertiaModel
frame
- the expression frame of the inertia matrixdate
- the current date (unused for simple the model)PatriusException
- if a problem occurs during frames transformationspublic Matrix3D getInertiaMatrix(Frame frame, AbsoluteDate date, Vector3D inertiaReferencePoint) throws PatriusException
getInertiaMatrix
in interface IInertiaModel
frame
- the expression frame of the inertia matrixdate
- the current date (unused for simple the model)inertiaReferencePoint
- the point with respect to the inertia matrix is expressed (in the reference frame)PatriusException
- if a problem occurs during frames transformationspublic void addMassDerivative(String partName, double flowRate)
addMassDerivative
in interface MassProvider
partName
- name of part subject to mass variationflowRate
- flow rate of specified partpublic void setMassDerivativeZero(String partName)
setMassDerivativeZero
in interface MassProvider
partName
- name of part whose mass derivative is set to zeropublic void updateMass(String partName, double mass) throws PatriusException
updateMass
in interface MassProvider
partName
- given partmass
- mass of the given partPatriusException
- thrown if the mass becomes negative (PatriusMessages.SPACECRAFT_MASS_BECOMES_NEGATIVE)public double getMass(String partName)
getMass
in interface MassProvider
partName
- given partpublic double getTotalMass()
getTotalMass
in interface MassProvider
public double getTotalMass(SpacecraftState state)
MassProvider.getTotalMass()
)getTotalMass
in interface MassProvider
state
- spacecraft statepublic AdditionalEquations getAdditionalEquation(String name)
getAdditionalEquation
in interface MassProvider
name
- part namepublic List<String> getAllPartsNames()
getAllPartsNames
in interface MassProvider
Copyright © 2019 CNES. All rights reserved.