public final class InertiaSimpleModel 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,
Serialized FormMASS| Constructor and Description |
|---|
InertiaSimpleModel(double mass,
Vector3D massCenter,
Matrix3D inertiaMatrix,
Frame frame,
String partName)
Constructor for a simple inertia model.
|
InertiaSimpleModel(double mass,
Vector3D massCenter,
Matrix3D inertiaMatrix,
Vector3D inertiaReferencePoint,
Frame frame,
String partName)
Constructor for a simple inertia model; the inertia matrix is expressed with respect to a point
that can be different from the mass center.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addMassDerivative(String partName,
double flowRate)
Add the mass derivate of the given part.
|
AdditionalEquations |
getAdditionalEquation(String partName)
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 |
updateIntertiaMatrix(Matrix3D inertiaMatrix)
Updates the inertia matrix.
|
void |
updateMass(String part,
double mass)
Update the mass of the given part.
|
void |
updateMassCenter(Vector3D massCenter)
Updates the mass center.
|
public InertiaSimpleModel(double mass,
Vector3D massCenter,
Matrix3D inertiaMatrix,
Frame frame,
String partName)
throws PatriusException
mass - the global massmassCenter - the mass centerinertiaMatrix - the inertia matrix, expressed with respect to the mass centerframe - the expression frame of the mass center vector and inertia matrixpartName - name of the partPatriusException - if the mass is negative (PatriusMessages.MASS_ARGUMENT_IS_NEGATIVE)public InertiaSimpleModel(double mass,
Vector3D massCenter,
Matrix3D inertiaMatrix,
Vector3D inertiaReferencePoint,
Frame frame,
String partName)
throws PatriusException
mass - the global massmassCenter - the mass centerinertiaMatrix - the inertia matrixinertiaReferencePoint - the point with respect to the inertia matrix is expressed (in the reference frame)frame - the expression frame of the mass center vector and inertia matrixpartName - name of the partPatriusException - if the mass is negative (PatriusMessages.MASS_ARGUMENT_IS_NEGATIVE)public double getTotalMass()
getTotalMass in interface MassProviderpublic double getTotalMass(SpacecraftState state)
MassProvider.getTotalMass())getTotalMass in interface MassProviderstate - spacecraft statepublic double getMass(String partName)
getMass in interface MassProviderpartName - given partpublic Vector3D getMassCenter(Frame frame, AbsoluteDate date) throws PatriusException
getMassCenter in interface IInertiaModelframe - 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 IInertiaModelframe - the expression frame of the inertia matrixdate - the current date (unused for simple the model)PatriusException - if a problem occurs during frames transformationspublic void updateMass(String part, double mass) throws PatriusException
updateMass in interface MassProviderpart - ignore this parametermass - mass of the given partPatriusException - if the mass is negative (PatriusMessages.MASS_ARGUMENT_IS_NEGATIVE)public void updateMassCenter(Vector3D massCenter)
massCenter - the new mass centerpublic void updateIntertiaMatrix(Matrix3D inertiaMatrix)
inertiaMatrix - the new inertia matrix.public Matrix3D getInertiaMatrix(Frame frame, AbsoluteDate date, Vector3D inertiaReferencePoint) throws PatriusException
getInertiaMatrix in interface IInertiaModelframe - 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 MassProviderpartName - name of part subject to mass variationflowRate - flow rate of specified partpublic void setMassDerivativeZero(String partName)
setMassDerivativeZero in interface MassProviderpartName - name of part whose mass derivative is set to zeropublic AdditionalEquations getAdditionalEquation(String partName)
getAdditionalEquation in interface MassProviderpartName - part namepublic List<String> getAllPartsNames()
getAllPartsNames in interface MassProviderCopyright © 2025 CNES. All rights reserved.