Check out my GitHub.

MIRAGE

The Mirage suite is a coherent family of simulation tools for coupled optics simulation. Mirage Optics is the core GPU-accelerated coupled optics engine, while Mirage DLP and Mirage TVAM are process-specific simulation layers built on top of it. While optics is the main focus of MIRAGE various accelerated coupled models are also built in.

Coupling scheme

Mirage Optics

Standard ray tracers are not built to couple natively with multi-physics finite element solvers; Mirage Optics is designed to do exactly that. Mirage Optics is a GPU-accelerated finite element ray tracer developed for modeling light transport and absorption through gradient-index and gradient-absorptivity volumetric media. Its finite element basis and modular design allow elegant and consistent coupling to multi-physics simulations. Interface effects (reflection, refraction, and surface scattering) are modeled as boundary conditions on the 3D mesh. The simulation features a proprietary ASCII ray collection format (.ry), enabling straightforward integration of custom ray generators.

Mirage has a CUDA backend and can be easily installed using pip. See the release.

Link to related publication

Tech stack: CUDA, Python, Pybind11, TOML

Mirage DLP

Mirage DLP simulates vat photopolymerization for the digital light processing (DLP) technique. The simulation bi-directionally couples ray-traced nonlinear optics (Mirage Optics) with an accelerated reaction-diffusion model.

Link to related publication

Tech stack: CUDA, Python, Pybind11, TOML

Mirage TVAM

Mirage TVAM simulates vat photopolymerization for the tomographic volumetric additive manufacturing (TVAM) technique. The simulation bi-directionally couples ray-traced nonlinear optics (Mirage Optics) with an accelerated linear curing model. This coupled light transport has revealed the first numerical demonstration of the well-known striation defect in TVAM. An extension to reaction-diffusion is in progress.

Related publication is under review; software release will be made available after publication

Tech stack: CUDA, Python, Pybind11, TOML

DMD projection ray generator

A modular ray generator for modeling various aspects of digital micromirror array (DMD) projections in Mirage’s proprietary ASCII ray collection format (.ry). Usable as a standalone tool or as a submodule within the Mirage suite. DMD can be modeled as:

Tech stack: Python, TOML