This project defines the gravitational potential of a polyhedron asteroid. It implements the method derived by Werner and Scheeres.
Install dependencies on MacOS
brew install cgal cmake libomp
or for linux
bash ./utilities/build_cmake.sh
bash ./utilities/build_boost.sh
bash ./utilities/build_cgal.sh
bash ./utilities/build_eigen.sh
Update the submodules
git submodule update --init --recursive
LibIGL setup (sometimes)
CMake doesn't search for matlab in libigl
Might need to edit
extern/libigl/shared/cmake/libigl.cmake
SCHEERES, DJ, KHUSHALANI, B y WERNER, Robert A. "Estimating asteroid density distributions from shape and gravity information". Planetary and Space Science. 2000
WERNER, Robert A. "The Gravitational Potential of a Homogeneous Polyhedron or Don't Cut Corners". Celestial Mechanics and Dynamical Astronomy. 1994
WERNER, Robert A. "Spherical Harmonic Coefficients for the Potential of a Constant-density Polyhedron". Computers & Geosciences. 1997, vol 23
WERNER, Robert A y SCHEERES, Daniel J. "Exterior Gravitation of a Polyhedron Derived and Compared with Harmonic and Mascon Gravitation Representations of Asteroid 4769 Castalia". Celestial Mechanics and Dynamical Astronomy. 1996, vol 65
/ The attracting shape is a cube of dimensions 1 x 1 x 1 m of density rho = 1e6 kg/m^3
// The analytic potential and acceleration at (1,2,3) (m) in the shape model's barycentric frame is computed
// Assumes that G = 6.67408e-11 m^3 / (kg * s ^2)
// Queried point for pgm validation
arma::vec p4 = {1, 2, 3};
arma::vec acc_true = {
-1.273782722739791e-06,
-2.548008881415967e-06,
-3.823026510474731e-06
};
double pot_true = 0.26726619638669064 * arma::datum::G * density;