GPVehicle

De GENOPUS
Aller à la navigation Aller à la recherche

How to call it

For using the GPVehicle class, the developer has only to create such an object with these two possibilities:

  • With no vehicle initialization
veh = new GPVehicle("My Vehicle");
  • Or, if we want to initialize the widget with a predefined vehicle:
final CustomVehicle vehicle = new CustomVehicle();
veh = new GPVehicle("My Vehicle", vehicle);

In future [PATRIUS] versions (since 3.4), there is a Vehicle class so, it will be possible to search in [PATRIUS] documentation how it is possible to initialize such an object. But, up to now, it is mandatory to use the GENOPUS CustomVehicle class. We have then to instantiate this class using all the previous sub-objects described in the following paragraphs.

Dry mass initialization

// DRY MASS
final double dryMass = 1000.;
MassProperty dryMassProperty = new MassProperty(dryMass);

Propulsive properties initialization

// PROPULSION
final ArrayList<CustomEngine> enginesList = new ArrayList<CustomEngine>();
enginesList.add(new CustomEngine("OCS", 320., 1000.));
enginesList.add(new CustomEngine("ACS", 150., 270.));

final ArrayList<CustomFuelTank> fuelTankList = new ArrayList<CustomFuelTank>();
fuelTankList.add(new CustomFuelTank("Tank1", 500.));

Shape characteristics initializaton

// SHAPE (HERE PARALLELEPIPED + SOLAR PANELS)
final CustomParallelepiped parall =
   new CustomParallelepiped(4.0, 1.0, 2.0);
final CustomParallelepiped solarPanels =
   new CustomParallelepiped(10., 0., 0.);
vehicleRefSurface = new CustomVehicleSurfaceModel(parall, solarPanels);

Aerodynamic properties initialization

// AERODYNAMIC PROPERTIES (CONSTANT COEFFICIENTS)
final double cd = 2.0;
final double cl = 0.;
final CustomAerodynamicProperties aerodynamicProperties =
   new CustomAerodynamicProperties(vehicleRefSurface, cd, cl);

Note: we need the shape model previously defined

Radiative properties initialization

// RADIATIVE PROPERTIES
final double ka = 1.0;
final double ks = 0.0;
final double kd = 0.0;
final RadiativeProperty rp = new RadiativeProperty(ka, ks, kd);

final double absorptionCoef = 1.0;
final double specularCoef = 0.0;
final double diffuseCoef = 0.0;
final RadiativeIRProperty rpIr =
   new RadiativeIRProperty(absorptionCoef, specularCoef, diffuseCoef);

final CustomRadiativeProperties radiativeProperties =
   new CustomRadiativeProperties(rp, rpIr, vehicleRefSurface);

Note: we need the shape model previously defined

vehicle initialization

At last, when all sub-objects are available, we have just to write this:

final CustomVehicle vehicle =
   new CustomVehicle(dryMassProperty, aerodynamicProperties,
                     radiativeProperties, enginesList, fuelTankList);

Note: of course, possible to put null to some of them except for dry mass properties.