API Propagation

De Gentleman
Aller à la navigation Aller à la recherche

There are two possibilities to initialize an orbital propagation using a GtmLeoPropagator or a GtmLeoPropagator object.

LEO propagation

First, we will have to create a GtmLeoPropagator object:

final GtmLeoPropagator leo = new GtmLeoPropagator();

Then, we will set all the information needed for the propagation ...

Initial orbit

We may use the GtmLeoSimpleOrbit object which allows to enter simplified data as defined below and here or a full PATRIUS Orbit object

// Orbit initialization
final AbsoluteDate date = new AbsoluteDate("2020-01-01T00:00:00.000", GtmConstants.UTC);
final double hp = 299.e+3;
final double ha = 300.e+3;
final double inc = FastMath.toRadians(51.6);
final GtmLeoSimpleOrbit simpleOrbit = new GtmLeoSimpleOrbit(date, hp, ha, inc);
leo.setIniOrbit(simpleOrbit.getOrbit());

Vehicle

As for the initial orbit, we may use a GtmSimpleVehicle object for simpler data or a full PATRIUS Vehicle object.

// Vehicle characteristics
final double dryMass = 1000.;
final double mainArea = 1.;
final double spArea = 2.;
final double cd = 2.;
final GtmSimpleVehicle veh = new GtmSimpleVehicle(dryMass, mainArea, spArea, 0., 0., cd, 0., 0., 0.);
leo.setVehicle(veh.getVehicle());

Forces

Here again, we can use a GtmSimpleForces object or define a fullPATRIUS ForceModelsData object.

// Forces models
final GtmSimpleForces forces = new GtmSimpleForces(2, 0, true, false, false, false, false, leo.getAssembly(), leo.getEllipsoid());
leo.setForces(forces.getForces());

Propagation data =

// Propagation data
leo.setPropagationData(Constants.JULIAN_DAY, GtmConstants.HOUR);

GEO progation