Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/philipturner/molecular-renderer
CAD program for molecular nanotechnology
https://github.com/philipturner/molecular-renderer
Last synced: about 2 months ago
JSON representation
CAD program for molecular nanotechnology
- Host: GitHub
- URL: https://github.com/philipturner/molecular-renderer
- Owner: philipturner
- License: mit
- Created: 2023-02-15T02:12:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-13T21:36:51.000Z (5 months ago)
- Last Synced: 2024-04-13T23:10:35.506Z (5 months ago)
- Language: Swift
- Homepage:
- Size: 13.1 MB
- Stars: 59
- Watchers: 5
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![image](https://github.com/philipturner/molecular-renderer/assets/71743241/d5585c84-7e4e-4507-841a-452fb68615d3)
# 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](./Sources/HardwareCatalog/README.md) - catalog of code samples and archived experiments (25,000 LoC)
- [HDL](https://github.com/philipturner/HDL) - domain-specific language and geometry compiler (8,000 LoC)
- [Mechanosynthesis](https://github.com/philipturner/mechanosynthesis) - quantum mechanics simulator (in progress)
- [MM4](https://github.com/philipturner/MM4) - molecular mechanics simulator (13,000 LoC)
- [Molecular Renderer](./Sources/MolecularRenderer/README.md) - programmable renderer with real-time ray tracing (3,000 LoC)
- [Rod Logic](https://github.com/philipturner/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](http://www.imm.org/research/parts/controller). 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](https://github.com/atomCAD/atomCAD/wiki) 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](https://astera.org/molecular-systems) to succeed NanoEngineer, Molecular Renderer was the first to reach [million-atom scale](https://www.youtube.com/watch?v=AC34BQt2ODM). 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](https://anaconda.org/conda-forge/openmm) | [Conda](https://anaconda.org/conda-forge/openmm) | [Conda](https://anaconda.org/conda-forge/openmm) |
| xTB | Quantum Mechanics | [Homebrew](https://github.com/grimme-lab/homebrew-qc) | [GitHub Releases](https://github.com/grimme-lab/xtb/releases) | [GitHub Releases](https://github.com/grimme-lab/xtb/releases) |There are also platform-specific dependencies. One lets OpenMM run on macOS. Others let Swift run on Linux and Windows.
Dependencies (Mac)
- macOS 14
- Xcode
- [Metal Plugin](https://github.com/philipturner/openmm-metal) for OpenMMDependencies (Linux)
- Ubuntu 18–22
- Visual Studio Code
- [Swift Extension](https://www.swift.org/blog/vscode-extension) for Visual Studio CodeDependencies (Windows)
- Windows 10–11
- Visual Studio Code
- [Swift Extension](https://www.swift.org/blog/vscode-extension) for Visual Studio Code