OpenTM: An Open-source, Single-GPU, Large-scale Thermal Microstructure Design Framework
Yuchen Quan, Xiaoya Zhai, Xiao-Ming Fu
TL;DR
OpenTM presents an open-source, GPU-accelerated framework for designing high-resolution 3D thermal microstructures that realize prescribed anisotropic conductivity tensors via inverse homogenization. It introduces an adaptive volume fraction strategy to stabilize the Optimality Criteria method and leverages a GPU-optimized multigrid solver to enable large-scale designs on commodity hardware. The framework supports isotropic, orthotropic, and general anisotropic targets, with a Python interface and straightforward installation, making it accessible for education, exploration, and rapid prototyping. Practical demonstrations on $128^3$–scale units show competitive runtimes and modest memory usage, highlighting the approach’s applicability to 2D and 3D thermal metamaterial design on standard desktops. Overall, OpenTM fills a gap in open-source tools for thermal metamaterial inverse design and provides a versatile platform for algorithmic experimentation and engineering exploration.
Abstract
Thermal microstructures are artificially engineered materials designed to manipulate and control heat flow in unconventional ways. This paper presents an educational framework, called \emph{OpenTM}, to use a single GPU for designing periodic 3D high-resolution thermal microstructures to match the predefined thermal conductivity matrices with volume fraction constraints. Specifically, we use adaptive volume fraction to make the Optimality Criteria (OC) method run stably to obtain the thermal microstructures without a large memory overhead.Practical examples with a high resolution $128 \times 128 \times 128$ run under 90 seconds per structure on an NVIDIA GeForce GTX 4070Ti GPU with a peak GPU memory of 355 MB. Our open-source, high-performance implementation is publicly accessible at \url{https://github.com/quanyuchen2000/OPENTM}, and it is easy to install using Anaconda. Moreover, we provide a Python interface to make OpenTM well-suited for novices in C/C++.
