« API Propagation » : différence entre les versions
Aller à la navigation
Aller à la recherche
| Ligne 41 : | Ligne 41 : | ||
=== Forces === | === 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. | 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"> | <syntaxhighlight lang="java"> | ||
Version du 10 septembre 2021 à 09:28
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 full PATRIUS 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);