Error in the the computation of the radiative force of one facet
There's an error in the formula coded in the BoxAndSolarArraySpacecraft, in the facetRadiationAcceleration method :
- the normal contribution uses the area in the denominator
- the tangential contribution does not take into account the area
We checked Vallado's equation and corrected OREKIT that way (see the Cn
and Cs computation) :
private Vector3D facetRadiationAcceleration(final Facet facet, final
Vector3D fluxSat,
final double dot) {
final double area = facet.getArea();
final double dOa = dot / area;
final double psr = fluxSat.getNorm();
// Vallado's equation 8-44 uses different parameters which are related
to our parameters as:
// cos (phi) = -dot / (psr * area)
// n = facet / area
// s = -fluxSat / psr
final double cN = 2 * area * dot * (diffuseReflectionCoeff / 3 -
specularReflectionCoeff * dot / psr);
final double cS = (area * dot / psr) * (specularReflectionCoeff -
1);
return new Vector3D(cN, facet.getNormal(), cS, fluxSat);
}
Our unitary tests confirm the correction and there is no impact on OREKIT tests.
(from redmine: issue id 92, created on 2012-04-24, closed on 2012-04-24)