use of org.orekit.propagation.semianalytical.dsst.utilities.hansen.HansenZonalLinear in project Orekit by CS-SI.
the class DSSTZonal method initialize.
/**
* {@inheritDoc}
* <p>
* Computes the highest power of the eccentricity to appear in the truncated
* analytical power series expansion.
* </p>
* <p>
* This method computes the upper value for the central body potential and
* determines the maximal power for the eccentricity producing potential
* terms bigger than a defined tolerance.
* </p>
*/
@Override
public List<ShortPeriodTerms> initialize(final AuxiliaryElements aux, final boolean meanOnly) throws OrekitException {
computeMeanElementsTruncations(aux);
final int maxEccPow;
if (!meanOnly) {
maxEccPow = FastMath.max(maxEccPowMeanElements, maxEccPowShortPeriodics);
} else {
maxEccPow = maxEccPowMeanElements;
}
// Initialize the HansenCoefficient generator
this.hansenObjects = new HansenZonalLinear[maxEccPow + 1];
for (int s = 0; s <= maxEccPow; s++) {
this.hansenObjects[s] = new HansenZonalLinear(maxDegree, s);
}
final List<ShortPeriodTerms> list = new ArrayList<ShortPeriodTerms>();
zonalSPCoefs = new ZonalShortPeriodicCoefficients(maxFrequencyShortPeriodics, INTERPOLATION_POINTS, new TimeSpanMap<Slot>(new Slot(maxFrequencyShortPeriodics, INTERPOLATION_POINTS)));
list.add(zonalSPCoefs);
return list;
}
Aggregations