public class MassEquation extends Object implements AdditionalEquations
MassProvider
,
Serialized FormModifier and Type | Field and Description |
---|---|
static String |
PREFIX
Default prefix for mass equation
|
Constructor and Description |
---|
MassEquation()
Empty constructor for
Externalizable use. |
MassEquation(String partName)
Create a new mass equation, for a given part.
|
Modifier and Type | Method and Description |
---|---|
void |
addMassDerivative(double flow)
Set the flow rate.
|
double[] |
buildAdditionalState(double[] y,
double[] yDot)
Build full first order additional state from second order y and yDot.
|
void |
computeDerivatives(SpacecraftState s,
TimeDerivativesEquations adder)
Compute the derivatives related to the additional state parameters.
|
double[] |
computeSecondDerivatives(SpacecraftState s)
Compute the second derivatives related to the additional state parameters.
|
double[] |
extractY(double[] additionalState)
Retrieve second order additional state y from full first order additional state.
|
double[] |
extractYDot(double[] additionalState)
Retrieve second order additional state derivative yDot from full first order additional state.
|
static String |
genName(String name)
Generate a name in the form "MASS_
|
int |
getFirstOrderDimension()
Returns the number of first order additional states.
|
String |
getName()
Get the name of the additional equation.
|
int |
getSecondOrderDimension()
Returns the number of second order additional states.
|
void |
readExternal(ObjectInput oi) |
void |
setMassDerivativeZero()
Set the flow rate to zero.
|
void |
writeExternal(ObjectOutput oo) |
public static final String PREFIX
public MassEquation()
Externalizable
use.public MassEquation(String partName)
partName
- name of part subject to this equationpublic String getName()
getName
in interface AdditionalEquations
public void computeDerivatives(SpacecraftState s, TimeDerivativesEquations adder) throws PatriusException
computeDerivatives
in interface AdditionalEquations
s
- current state information: date, kinematics, attitude, additional statesadder
- object where the contribution of the additional parameters
to the orbit evolution (accelerations) should be addedPatriusException
- if some specific error occurspublic void setMassDerivativeZero()
public void addMassDerivative(double flow)
flow
- ratepublic static String genName(String name)
name
- part namepublic double[] computeSecondDerivatives(SpacecraftState s) throws PatriusException
CowellIntegrator
.computeSecondDerivatives
in interface AdditionalEquations
s
- current state information: date, kinematics, attitude, additional statesPatriusException
- if some specific error occurspublic int getFirstOrderDimension()
CowellIntegrator
.getFirstOrderDimension
in interface AdditionalEquations
public int getSecondOrderDimension()
CowellIntegrator
.getSecondOrderDimension
in interface AdditionalEquations
public double[] buildAdditionalState(double[] y, double[] yDot)
CowellIntegrator
.buildAdditionalState
in interface AdditionalEquations
y
- second order additional state yyDot
- second order additional state derivative yDotpublic double[] extractY(double[] additionalState)
CowellIntegrator
.extractY
in interface AdditionalEquations
additionalState
- full first order additional statepublic double[] extractYDot(double[] additionalState)
CowellIntegrator
.extractYDot
in interface AdditionalEquations
additionalState
- full first order additional statepublic void writeExternal(ObjectOutput oo) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput oi) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
Copyright © 2023 CNES. All rights reserved.