skylight
general-relativistic ray tracing and radiative transfer in arbitrary spacetimes
Understanding the observational features of relativistic compact objects, such as black holes and neutron stars, requires the solution of the radiative transfer equation in the presence of strong gravitational fields. skylight
is a general-relativistic ray tracing and radiative transfer code that can handle arbitrary spacetimes, not relying on spacetime symmetries nor asymptotic flatness. It is written in the modern high-performance dynamically typed language Julia, showing the suitability of Julia for high-performance computing in astrophysics. The code follows software design principles emphasizing high-performance, maintainability, and ease of extensibility, most of which I’ve learned from two fantastic books: Hands-On Design Patterns and Best Practices with Julia and Julia High Performance. The code is open-source and is available on GitHub.
<!--
See https://www.debugbear.com/blog/responsive-images#w-descriptors-and-the-sizes-attribute and
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images for info on defining 'sizes' for responsive images
-->
<source
class="responsive-img-srcset"
srcset="/assets/img/blackhole-480.webp 480w,/assets/img/blackhole-800.webp 800w,/assets/img/blackhole-1400.webp 1400w,"
sizes="95vw"
type="image/webp"
>
<img
src="/assets/img/blackhole.png"
class="img-fluid rounded z-depth-1"
width="100%"
height="auto"
title="example image"
loading="eager"
onerror="this.onerror=null; $('.responsive-img-srcset').remove();"
>
</picture>
</figure>
</div>
<div class="col-sm mt-3 mt-md-0">

</div>
<div class="col-sm mt-3 mt-md-0">

</div>
</div>

–>
A distinctive feature of Skylight with respect to most ray tracing codes is that it uses automatic differentiation to calculate the Christoffel symbols of any given spacetime metric. This is a modern technique, which generally surpasses the traditional finite differences technique both in speed and accuracy, providing fast derivatives at machine precision. Additionally, Skylight supports multi-threading parallelism.
You can also put regular text between your rows of images, even citations (missing reference). Say you wanted to write a bit about your project before you posted the rest of the images. You describe how you toiled, sweated, bled for your project, and then… you reveal its glory in the next row of images.


The code is simple. Just wrap your images with <div class="col-sm">
and place them inside <div class="row">
(read more about the Bootstrap Grid system). To make images responsive, add img-fluid
class to each; for rounded corners and shadows use rounded
and z-depth-1
classes. Here’s the code for the last row of images above: