Skip to content

Interactive, GPU-accelerated Molecular Dynamics using the Taichi programming language

License

Notifications You must be signed in to change notification settings

victoriacity/taichimd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaichiMD

Interactive, GPU-accelerated Molecular (& Macroscopic) Dynamics using the Taichi programming language

(05/26/2022) TaichiMD is now made compatible with taichi v1.0.

Goals

  • To extend capabilities of the Taichi programming language in computer graphics to molecular simulation education and research
  • To achieve interactive, real-time particle-based simulations accelerated by GPUs
  • To provide a platform for rapid implementation of novel simulation algorithms and machine-learned simulations

Examples

Molecular simulation examples

python run_examples.py [-h] example ensemble

positional arguments:

  example     [lj | mixlj | biglj | ho | chain | pr]
              lj: Lenneard-Jones system with 4096 molecules, in reduced units; 
              biglj: Lenneard-Jones system with 0.26 million molecules, in reduced units;
              mixlj: 3-component Lenneard-Jones mixture with 6000 molecules, in reduced units;
              ho: Harmonic oscillator around the center of the simulation box; 
              chain: 5 harmonic-bond chain molecules with 100 atoms each, bond bending and torsion not included, in real
              units
              pr: 512 propane molecules using the TraPPE-UA force field with a harmonic bond
              stretching potential at 423 K in a 50*50*50 angstrom box
  ensemble    [NVE | NVT] 
              NVE ensemble with Verlet integration or NVT ensemble with Nose-Hoover thermostat

optional arguments: -h, --help show help message and exit

Macroscopic simulation examples

mpm28.py: The MPM88 Taichi example (fluid simulation) in 3 dimensions. mpm48.py: The MPM99 Taichi example (fluid, jelly and snow) in 3 dimensions.

Graphics

TaichiMD ships with a miniature static version of taichi_three for rendering graphics, which requires the taichi_glsl package. If the renderer was not imported correctly, the example simulations will use the Taichi GUI canvas for graphics.

Possible extensions

Microscopic forces

  • Add support for torsional potentials as cosine series
  • Add Coulomb forces between charged atoms

Acceleration algorithms

  • Implement Ewald summation and/or fast multipole method for long-range forces (Coulomb)

Macroscopic forces

  • Implement gravity and wall boundaries
  • Incorporate macroscopic particle simulation algorithms (SPH, etc.)
  • Incorporate agent-based simulation algorithms (crowd simulation, particle swarm) and optimization-based integrators

About

Interactive, GPU-accelerated Molecular Dynamics using the Taichi programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published