Skip to content

skulumani/polyhedron_gravity

Repository files navigation

Build Status

Polyhedron Potential Model in C++

This project defines the gravitational potential of a polyhedron asteroid. It implements the method derived by Werner and Scheeres.

  • Exterior gravitation of a polyhedron derived and compared with harmonic and mascon gravitation representations of asteroid 4769 Castalia
  • The gravitational potential of a homogeneous polyhedron or don't cut corners

Dependencies

  1. CMake > 3.12
  2. Eigen > 3.3.5
  3. CGAL > 4.12-1
  4. Boost > 1.68

Installation

  1. 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
    
  2. Update the submodules

    git submodule update --init --recursive 
    
  3. LibIGL setup (sometimes)

    CMake doesn't search for matlab in libigl

    Might need to edit

    extern/libigl/shared/cmake/libigl.cmake
    

References

  • 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

TODO

  • Remove dependency on libigl
  • Bundle CGAL requirements with app (similar to how igl works)
  • Remove boost dependency (probably easy)
  • Analytical verification of potential https://arxiv.org/pdf/1206.3857.pdf
/ 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;

About

Polyhedron gravitational potential model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published