  When calculating satellite trajectories in low-earth orbit, engineers need to
adequately estimate aerodynamic forces. But to this day, obtaining the drag
acting on the complicated shapes of modern spacecraft suffers from many sources
of error. While part of the problem is the uncertain density in the upper
atmosphere, this works focuses on improving the modeling of interacting
rarified gases and satellite surfaces. The only numerical approach that
currently captures effects in this flow regime---like self-shadowing and
multiple molecular reflections---is known as test-particle Monte Carlo. This
method executes a ray-tracing algorithm to follow particles that pass through a
control volume containing the spacecraft and accumulates the momentum transfer
to the body surfaces. Statistical fluctuations inherent in the approach demand
particle numbers in the order of millions, often making this scheme too costly
to be practical. This work presents a parallel test-particle Monte Carlo method
that takes advantage of both GPUs and multi-core CPUs. The speed at which this
model can run with millions of particles allowed exploring a regime where a
flaw in the model's initial particle seeding was revealed. Our new model
introduces an analytical fix based on seeding the calculation with an initial
distribution of particles at the boundary of a spherical control volume and
computing the integral for the correct number flux. This work includes
verification of the proposed model using analytical solutions for several
simple geometries and demonstrates uses for studying aero-stabilization of the
Phobos-Grunt Martian probe and pose-estimation for the ICESat mission.
