Description

This project concerns that parallelisation and optimisation of LMGC90.  LMGC90 is an open-source, multi-purpose Physics code developed at the University of Montpellier (UofM).  In the last few years, we have used this code to simulate self-gravitating granular systems, which in turn have been used as proxies for small asteroids and other small Solar System bodies [1][2].  To do this, the code uses an external, open-source python library (pykdgrav) to calculate self-gravity between the simulated particles.  This library uses and kd-tree and has been parallelised by its authors.

LMGC90 [3] has a contact detection algorithm of its own, but this is neither parallelised nor coupled to pykdgrav [4].  So, at the moment, when the code is used to simulate self-gravitating systems, distances are calculated twice.

The objective of the project is to fully integrate pykdgrav withing LMGC90, possibly use it as or as part of the contact detection algorithm and so have this part of the code completely parallelised and optimised to simulate self-gravitating granular systems.  If the self-gravity and contact detection algorithm are kept separated, the former should still be fully integrated into LMGC90 and the latter should be parallelised.

At the moment, there are only a handful of simulation codes that can handle self-gravitating granular systems that can be used by the scientific community at large and not all of them are as mature as LMGC90.  Additionally, NASA's latest space missions to asteroids and their space exploration and Planetary Sciences objectives require this kind of simulation to be reached.  We expect this code to be used to be used as a tool in this endeavour.

The student working with us will be mentored by the developers of the code (UofM) and users of the code who work in the project at UofM and the University of Colorado Boulder.

ACCESS resources that would be needed are unknown at the moment.

Researcher(s)
Institution
University of Colorado Boulder
Status
In Review