An open API service indexing awesome lists of open source software.

https://github.com/lu-m-dev/cuda-molecular-simulation

CUDA accelerated molecular simulation of materials
https://github.com/lu-m-dev/cuda-molecular-simulation

cuda materials-science molecular-dynamics molecular-simulation monte-carlo

Last synced: 8 months ago
JSON representation

CUDA accelerated molecular simulation of materials

Awesome Lists containing this project

README

          

# CUDA Molecular Simulation

This project provides tools for simulating materials using molecular statics, molecular dynamics (MD), and Monte Carlo (MC) methods. It is designed to study the behavior of atomic systems under temperature changes and potentially other environmental conditions. The simulations are implemented in CUDA for parallelized computation.

## Abstract

- Molecular statics: energy minimization and relaxation of atomic configurations.
- Molecular dynamics: time-integration of atomic motion to simulate temperature-dependent behavior.
- Monte Carlo: stochastic sampling for thermodynamic properties and phase-space exploration.
- Real-Time 3D Viewer: Visually inspect the material structure as the simulation runs. The viewer includes controls for playback speed and camera movement.
- Data Output: Measured ensemble quantities are saved as CSV files.
- Data Visualization: A separate Jupyter Notebook file features an interactive Dash dashboard to graphically view results.

## Build Instructions

1. Clone the repository:
```sh
git clone https://github.com/M320322/CUDA-molecular-simulation.git
```
2. Navigate to the project directory:
```sh
cd ./CUDA-molecular-simulation
```
3. Build with CMake:
```sh
cmake -B build -S . -G "Visual Studio 17 2022"
```
4. Open the solution in Visual Studio:
```sh
cd build
start ./cuda-molecular-simulation.sln
```

## Usage

Typical workflows supported by this project include:

- Relaxing an atomic structure using molecular statics to find a local energy minimum.
- Running molecular dynamics simulations to observe temperature-driven behavior and compute statistics such as temperature, pressure, and diffusion.
- Performing Monte Carlo sampling to estimate equilibrium properties or sample rare events.

See the code and example scripts for the exact command-line options and API once they are added.