« API Propagation » : différence entre les versions
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);