Software

Beyond research, I like coding useful stuff. This is why I have also developed several codes. Some public, others are propietary and/or private. My developer profile can be found on GitHub.

1. The Smooth Mesh Library (Propietary Software)

The Smooth Mesh Library (SMESHL) is a recently developed library designed to efficiently compute an underlying scalar field (such as a density field) traced by a finite number of particles, requiring the convolution of a given particle distribution with very distinct smoothing kernels. It utilizes an adaptive mesh and GPU-based interpolations to significantly accelerate the calculations orders of magnitude compared to CPU-based approaches. The library is primarily used for a radiative transfer code I am currently working on, with an additional application powering Py-SPHViewer 2.0, and Ripples.

The code is not publicly available.

2. Ripples (Private Software)

Banner Image

Ripples is a full-stack, GPU-powered software entirely written in C++, designed to use advanced parallelism to display large simulation datasets in real time and at high frame rate (typically 60 frames per second). It leverages asynchronous parallelism using multithreading through the pthreads library, and stores information using efficient data structures. Communication between the back-end and the Python-based front-end is handled via network communication using sockets. This setup allows the application to run on a powerful workstation with one or more GPUs, while displaying results on the client.

High performance is reached thanks to the use of the Algorithms developed as part of the Smoothed Mesh Library (SMESHL), which I have written to tackle Radiative Transfer problems in Smoothed Particle Hydrodynamics simulations.

The code is not publicly available.

3. CosmoVR (Private Software)

Banner Image

CosmoVR is an early GPU-powered software that I developed for real-time visualization of large numerical simulations. Additionally, the software is capable of producing images that can be interactively visualized in 3D using virtual reality headsets. The software allows users to interact with the simulation data using a Playstation or Xbox controntroller.

The code is not publicly available.

4. Py-SPHViewer 2 (Propietary Software)

Banner Image

Py-SPHViewer 2 is not publicly available at the moment, but it is being released for testing purposes and specific collaborations. The package is written in C and relies heavily on the Smoothed Mesh Library (SMESHL), which places particles on a grid using an Adaptive Mesh Refinement (AMR) method. This efficient library allows Py-SPHViewer 2.0 to be orders of magnitude faster than its predecessor.

This enables the rapid generation of images representing the entire density field of large cosmological volumes at unprecedented resolutions, effectively mitigating aliasing.

Here’s a refined version of the sentence incorporating your additional point:

Notable differences compared to Py-SPHViewer include: (1) the code is more than 100 times faster while delivering comparable results; (2) support for periodic boundary conditions; (3) lack of perspective projection; and (4) the library is serial, leaving parallelism implementation to the user as needed.

5. Py-SPHViewer (Open Source)

Banner Image

Py-SPHViewer is a parallel Python package designed for visualizing and exploring N-body and hydrodynamics simulations using the Smoothed Particle Hydrodynamics (SPH) scheme. The package estimates an underlying scalar field (such as the density field) traced by a finite number of particles, producing not only visually appealing images but also scientifically valuable insights.

Additionally, Py-SPHViewer allows users to explore simulated volumes through various projections.

Intensive calculations are executed in parallel using C code, which requires OpenMP. As with any Python package, it can be used interactively in a Python shell, IPython, or Jupyter Notebook.

The code is publicly available on GitHub