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.
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.
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.
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:
- Continuous or pixelated
- Flat or Gaussian pixel intensity distribution
- Focused or collimated beam
- Anti-aliased or sharp-edged
Tech stack: Python, TOML