Interactive matter simulation using LATTICE.
LatticeLab is a project built around the LATTICE molecular dynamics engine for interactive simulation and exploration of atomic behavior.
The idea is simple:
define how atoms interact and observe the resulting behavior
Without any animations made in advance.
Only potentials and forces between them.
But that is already enough for the system to behave very much like real matter.
- self-formation of crystals
- particle diffusion
- lattice oscillations, waves, and phonon-like vibration
- emergence of grains and domain boundaries
- packing defects and local lattice distortions
- nucleation of inhomogeneities
- waves, phonons, and interference
- local ordering and structural breakdown
- behavior resembling solids, liquids, and transitional states
- relaxation after collisions, compression, or parameter changes
- molecular modeling
- chemical reactions
- metals and alloys
- charged particles and ions
- electrostatic interaction (Coulomb)
- electricity and conductivity
- simple models of nuclear interactions
- radioactive decay
- energy transitions
- biochemistry
- proteins and folding-like behavior
- DNA and other chain-like molecular systems
- project tree and module map
Physics is often presented as equations first.
Here, you can watch complex behavior emerge from simple interaction rules:
- for educational purposes
- for experimenting
- to understand how the world around us works
If you want to start with project internals, the best first articles are:
The project uses CMakePresets.
Typical local build:
cmake --preset debug
cmake --build --preset debugRelease build:
cmake --preset release
cmake --build --preset releaseApp/- application layer, UI, viewport, input, and integration codeLattice/- simulation engine, physical model, and core data structuresRendering/- rendering backend, GPU pipelines, camera, and draw logicDocs/- project documentationassets/- runtime assetsdemo/- demo scenes and media