Skip to content

philipturner/molecular-renderer

Repository files navigation

image

Molecular Renderer

Molecular Renderer is a CAD program for molecular nanotechnology. It enabled the development of several related projects. Some evolved into distinct libraries, while one contributes to a UI experience based on existing IDEs.

Projects:

  • Hardware Catalog - catalog of code samples and archived experiments (25,000 LoC)
  • HDL - domain-specific language and geometry compiler (8,000 LoC)
  • Mechanosynthesis - quantum mechanics simulator (in progress)
  • MM4 - molecular mechanics simulator (13,000 LoC)
  • Molecular Renderer - programmable renderer with real-time ray tracing (3,000 LoC)
  • Rod Logic - compact, efficient, and manufacturable computing (in progress)

Overview

Until 2024, NanoEngineer was the most capable platform for designing molecular nanotechnology. It had an interactive UI, but also simulators that ran slowly at >5000 atoms. This restricted the design to colorful strained shell structures in order to minimize atom count. Several projects sought to improve on this aspect—the difficulty performing iterative design on nanomachines.

The most well-funded projects (Atomic Machines, CBN Nano Technologies) are closed-source. As a result, aspiring engineers had to rely on the 15-year old NanoEngineer. The successor needed to follow a more modern approach than close-sourcing:

...for a molecular nanotechnology industry to exist, there must be such a society of engineers that transcends any single company, and a public body of knowledge capturing best practices for nano-mechanical engineering design. Other companies are training engineers on in-house tools where they create designs never to be seen by the outside world. We believe strongly that needs to change...

Out of all the ongoing efforts to succeed NanoEngineer, Molecular Renderer was the first to reach million-atom scale. It was built from the ground up to enable engineering of massive systems. The scale of general-purpose computers, replicating machines, and medical nanobots.

Installation

There are only two simulator dependencies. Everything else is implemented from scratch in Swift.

Library Type Mac Linux Windows
OpenMM Molecular Mechanics Conda Conda Conda
xTB Quantum Mechanics Homebrew GitHub Releases GitHub Releases

There are also platform-specific dependencies. One lets OpenMM run on macOS. Others let Swift run on Linux and Windows.

Dependencies (Mac)

Dependencies (Linux)

Dependencies (Windows)

  • Windows 10–11
  • Visual Studio Code
  • Swift Extension for Visual Studio Code