« API Propagation » : différence entre les versions

De Gentleman
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 37 : Ligne 37 :
final GtmSimpleVehicle veh = new GtmSimpleVehicle(dryMass, mainArea, spArea, 0., 0., cd, 0., 0., 0.);
final GtmSimpleVehicle veh = new GtmSimpleVehicle(dryMass, mainArea, spArea, 0., 0., cd, 0., 0., 0.);
leo.setVehicle(veh.getVehicle());
leo.setVehicle(veh.getVehicle());
</syntaxhighlight>
=== Forces ===
Here again, we can use a [{{PathCurrentJavaDoc}}/fr/cnes/dynvol/gentleman/calc/data/forces/GtmSimpleForces.html GtmSimpleForces] object or define a full[http://patrius.cnes.fr PATRIUS] [{{PathCurrentPatriusJavaDoc}}/fr/cnes/sirius/patrius/forces/ForceModelsData.html ForceModelsData] object.
<syntaxhighlight lang="java">
// Forces models
final GtmSimpleForces forces = new GtmSimpleForces(2, 0, true, false, false, false, false, leo.getAssembly(), leo.getEllipsoid());
leo.setForces(forces.getForces());
</syntaxhighlight>
== Propagation data ===
       
<syntaxhighlight lang="java">
// Propagation data
leo.setPropagationData(Constants.JULIAN_DAY, GtmConstants.HOUR);
</syntaxhighlight>
</syntaxhighlight>


== GEO progation ==
== GEO progation ==

Version du 10 septembre 2021 à 09:25

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