public class Vehicle extends Object implements Serializable
Assembly
class.Modifier and Type | Field and Description |
---|---|
static String |
MAIN_SHAPE
Main shape.
|
Constructor and Description |
---|
Vehicle()
Constructor.
|
Vehicle(CrossSectionProvider mainShapeIn,
List<Facet> solarPanelsIn,
MassProperty dryMassPropertyIn,
AerodynamicProperties aerodynamicPropertiesIn,
RadiativeProperties radiativePropertiesIn,
List<PropulsiveProperty> enginesList,
List<TankProperty> fuelTankList)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
addEngine(String name,
PropulsiveProperty engine)
Add an engine to the vehicle.
|
void |
addSolarPanel(Vector3D normalPanel,
double areaPanel)
Add a solar panel to the vehicle.
|
void |
addTank(String name,
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. |
AerodynamicProperties |
getAerodynamicProperties()
Get main shape aerodynamic properties.
|
IParamDiffFunction[] |
getAerodynamicsPropertiesFunction()
Returns the aero properties : drag and lift coefficients.
|
double |
getDryMass()
Returns dry mass.
|
PropulsiveProperty |
getEngine(String name)
Public method to search the engine object corresponding to the specified name.
|
int |
getEngineCount() |
List<PropulsiveProperty> |
getEnginesList()
Returns the engines list.
|
double |
getErgolsMass()
Returns the sum of ergols masses.
|
CrossSectionProvider |
getMainShape()
Returns the main shape.
|
MassProperty |
getMassProperty()
Get mass property.
|
RadiativeProperties |
getRadiativeProperties()
Get main shape radiative properties.
|
double[] |
getRadiativePropertiesTab()
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.
|
TankProperty |
getTank(String name)
Public method to search the tank object corresponding to the specified name.
|
int |
getTankCount() |
List<TankProperty> |
getTanksList()
Returns the tanks list.
|
double |
getTotalMass()
Returns total mass : sum of dry mass and ergol mass.
|
void |
setAerodynamicsProperties(AerodynamicCoefficient cx,
AerodynamicCoefficient cz)
Set aerodynamics properties only if possible : main shape must be a sphere or there must be
no solar panels.
|
void |
setAerodynamicsProperties(double cx,
double cz)
Set aerodynamics properties as constants.
|
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 static final String MAIN_SHAPE
public Vehicle()
public Vehicle(CrossSectionProvider mainShapeIn, List<Facet> solarPanelsIn, MassProperty dryMassPropertyIn, AerodynamicProperties aerodynamicPropertiesIn, RadiativeProperties radiativePropertiesIn, List<PropulsiveProperty> enginesList, List<TankProperty> fuelTankList)
mainShapeIn
- main shape of vehiclesolarPanelsIn
- solar panels of vehicledryMassPropertyIn
- mass property for dry massaerodynamicPropertiesIn
- aerodynamic properties; it may be null if no aerodynamic
properties are requiredradiativePropertiesIn
- radiative properties; it may be null if no radiative properties
are requiredenginesList
- list of engines (propulsive properties); it may be null if no engines list
is requiredfuelTankList
- list of tanks; it may be null if no fuel tanks are requiredpublic 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(String name, PropulsiveProperty engine)
name
- engine nameengine
- an enginepublic void addTank(String name, TankProperty tank)
name
- tank nametank
- a tankpublic void setDryMass(double mass) throws PatriusException
mass
- dry massPatriusException
- problem to the mass property constructionpublic void setAerodynamicsProperties(AerodynamicCoefficient cx, AerodynamicCoefficient cz) throws PatriusException
cx
- drag coefficient functioncz
- lift coefficient functionPatriusException
- problem to the aerodynamics properties constructionIllegalArgumentException
- if vehicle is inconsistent for aero propertiespublic void setAerodynamicsProperties(double cx, double cz) throws PatriusException
cx
- constant drag coefficientcz
- constant lift coefficientPatriusException
- error to the aerodynamic properties creationpublic void setRadiativeProperties(double ka, double ks, double kd, double kaIr, double ksIr, double kdIr) throws PatriusException
ka
- absorption coefficient (visible)ks
- specular coefficient (visible)kd
- diffusion coefficient (visible)kaIr
- absorption coefficient (IR)ksIr
- specular coefficient (IR)kdIr
- diffusion coefficient (IR)PatriusException
- error to the radiative properties creationpublic 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[] getAerodynamicsPropertiesFunction()
public double[] getRadiativePropertiesTab()
public PropulsiveProperty getEngine(String name)
name
- name of the enginepublic TankProperty getTank(String name)
name
- name of the tankpublic MassProperty getMassProperty()
public AerodynamicProperties getAerodynamicProperties()
public RadiativeProperties getRadiativeProperties()
public int getEngineCount()
public int getTankCount()
Copyright © 2023 CNES. All rights reserved.