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>

Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
This image can also have a caption. It's like magic.

–>

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.

You can also have artistically styled 2/3 + 1/3 images, like these.

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:

References