public class Vehicle extends Object implements Serializable
This vehicle is a builder and returns an Assembly
object to be used for propagation. Use setters to build the
satellite then call method createAssembly(Frame)
to return the Assembly
Assembly
,
Serialized FormConstructor and Description |
---|
Vehicle()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addEngine(PropulsiveProperty engine)
Add an engine to the vehicle.
|
void |
addSolarPanel(Vector3D normalPanel,
double areaPanel)
Add a solar panel to the vehicle.
|
void |
addTank(TankProperty tank)
Add a tank to the vehicle.
|
Assembly |
createAssembly(Frame frame)
Create an
Assembly . |
Assembly |
createAssembly(Frame frame,
double cMass,
double cDrag,
double cSRP)
Create an
Assembly with multiplicative coefficients to take into
account the change in surface for drag or SRP during a propagation of the
change of dry mass. |
IParamDiffFunction[] |
getAerodynamicsProperties()
Returns the aero properties : drag and lift coefficients.
|
double |
getDryMass()
Returns dry mass.
|
List<PropulsiveProperty> |
getEnginesList()
Returns the engines list.
|
double |
getErgolsMass()
Returns the sum of ergols masses.
|
CrossSectionProvider |
getMainShape()
Returns the main shape.
|
double[] |
getRadiativeProperties()
Returns the radiative properties : absorption, specular
and diffusion coefficient (visible and IR), as an array :
[0] : absorption coefficient (visible)
[1] : specular coefficient (visible)
[2] : diffusion coefficient (visible)
[3] : absorption coefficient (IR)
[4] : specular coefficient (IR)
[5] : diffusion coefficient (IR)
|
List<Facet> |
getSolarPanelsList()
Returns the solar panels list.
|
List<TankProperty> |
getTanksList()
Returns the tanks list.
|
double |
getTotalMass()
Returns total mass : sum of dry mass and ergol mass.
|
void |
setAerodynamicsProperties(double cx,
double cz)
Set aerodynamics properties as constants.
|
void |
setAerodynamicsProperties(IParamDiffFunction cx,
IParamDiffFunction cz)
Set aerodynamics properties as functions
IParamDiffFunction only if possible : main shape must be a
sphere or there must be no
solar panels. |
void |
setDryMass(double mass)
Set vehicle dry mass.
|
void |
setMainShape(CrossSectionProvider shape)
Set the main vehicle shape.
|
void |
setRadiativeProperties(double ka,
double ks,
double kd,
double kaIr,
double ksIr,
double kdIr)
Set radiative properties.
|
public Vehicle()
public Assembly createAssembly(Frame frame) throws PatriusException
Assembly
.
Call to {createAssembly(Frame, double, double, double)
with default multiplicative factors set to 1.frame
- frame link between tree of frames and spacecraft framePatriusException
- thrown if mass is negativepublic Assembly createAssembly(Frame frame, double cMass, double cDrag, double cSRP) throws PatriusException
Assembly
with multiplicative coefficients to take into
account the change in surface for drag or SRP during a propagation of the
change of dry mass. Therefore, multiplicative factor for the mass, the
drag/SRP area are to be given as input.
Warning: using this method, new tanks are created using cMass coefficients with current tanks. As a result, user-added tanks mass will not vary if using some mass equations.
frame
- frame link between tree of frames and spacecraft framecMass
- multiplicative factor on masses (dry and tanks)cDrag
- multiplicative factor on drag areacSRP
- multiplicative factor on SRP areaPatriusException
- thrown if mass is negativepublic void setMainShape(CrossSectionProvider shape)
shape
- main shapepublic void addSolarPanel(Vector3D normalPanel, double areaPanel)
normalPanel
- vector normal to the panel in satellite frameareaPanel
- panel areapublic void addEngine(PropulsiveProperty engine)
engine
- an enginepublic void addTank(TankProperty tank)
tank
- a tankpublic void setDryMass(double mass)
mass
- dry masspublic void setAerodynamicsProperties(IParamDiffFunction cx, IParamDiffFunction cz)
IParamDiffFunction
only if possible : main shape must be a
sphere or there must be no
solar panels. An exception is thrown otherwise.cx
- drag coefficient functioncz
- lift coefficient functionIllegalArgumentException
- if vehicle is inconsistent for aero propertiespublic void setAerodynamicsProperties(double cx, double cz)
cx
- constant drag coefficientcz
- constant lift coefficientpublic void setRadiativeProperties(double ka, double ks, double kd, double kaIr, double ksIr, double kdIr)
ka
- absorption coefficient (visible)ks
- specular coefficient (visible)kd
- diffusion coefficient (visible)kaIr
- absorption coefficient (IR)ksIr
- specular coefficient (IR)kdIr
- diffusion coefficient (IR)public CrossSectionProvider getMainShape()
public List<Facet> getSolarPanelsList()
public List<PropulsiveProperty> getEnginesList()
public List<TankProperty> getTanksList()
public double getDryMass()
public double getErgolsMass()
public double getTotalMass()
public IParamDiffFunction[] getAerodynamicsProperties()
public double[] getRadiativeProperties()
Copyright © 2017 CNES. All rights reserved.