Our project, Lightcurve Modeling of Binary systems, allows astronomers to create and check theoretical
models of asteroid systems. Our project focuses on being able to take binary systems in the Kuiper belt and predict a lightcurve.
The predicted light curve is compared against an observed lightcurve inside a minimization routine. The minimization routine
fits parameters to create a realistic model.
Modeling a binary system presents unique challenges that our software solves in novel ways, bringing a
sophistication to lightcurve modeling that is not available from any other software.
While our project is geared towards binary systems, the code base itself is robust and can function as an astronomical graphics framework.
Our clients will use our solution to examine binary systems in the Kuiper belt to gain a greater understanding of early solar system formations.
In October of 2018 we sat down with our clients and figured out what they needed. We took a look at what software they were currently using and found the areas that were lacking. We used their requirements to determine the priorities of our software. Our software solution is a C++ API that meets the following specifications:
Our C++ API is highly modular and allows for easy development and expansion. The design of our software is comprised of 4 main modules and 17 sub modules. All of the functionality of the software is encapsulated inside the forward model. The forward model uses all of the modules for each function call. The submodules highlighted in red below contain formulas that were given to our team by our clients. Those specific submodules use math specific to astronomers and have been tested for accuracy.
Our software solution can be used to render a set of images. These sets of images can be stitched together to create a movie (see below). This lets users see exactly how the software is rendering the scene. This is useful for checking work to make sure everything is inputted correctly and also for presenting work to others.
The above scene is of two objects, Sila and Nunam, in the Kuiper belt. The scene shows two faceted shapes. Faceted shapes are uploaded as a .obj file to the function and can be created by the user. This allows astronomers to render objects whose shape is known. The software also allows for Tri-axis Ellipsoids and Spheres to be generated and used. The generated shapes are faster and designed for use inside of a minimization routine.
A single workflow was used to generate the Sila-Nunam scene. The flowchart below highlights the important steps.
Our solution makes use of a variety of technologies. We notably did not use a graphics framework because we could not find one that met our needs. The technologies we did use were mostly for convenience and to avoid repeating work. Below is a list of technologies that we used:
Below is a chart showing the weekly timeline of the tasks necessary to complete our solution for this capstone:
The code base is currently private but will be public in the future.