Molecule-level simulation of a biological cell
(a Visual Studio 2019 project) Runs the simulation and stores the frames in reduces form in results/frames.dat.
Simulation parameters can be configured via config.json.
The simulated content, though - molecules and stuff - need to be configured via code in src/setup/setup.cuh.
Use vcpkg to install dependencies (it's excepted to be located in C:\_code\vcpkg
- see the project's include directories for CUDA)
vcpkg install jsoncpp:x64-windows
The fix for "uses too much shared data" is to change
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include\cub\device\dispatch\dispatch_radix_sort.cuh
and set the Policy200
and the default policy on line 805: typedef Policy200 MaxPolicy;
(and do a clean rebuild of the project)
(a Unity project)
Lazily reads the simulation results from spatial_cell_sim/results/frames.dat.
Space - play/pause the simulation
Left/right arrows - step 1 (+Shift - 5) frame backward/forward
0 - 8 - toggle rendering of a specific particle type (0 - lipids, 1 - dummy particles)
x - toggle between billboard and 3D model rendering of particles
m - toggle visibility of metabolic particles (a.k.a. green fog)
(a collection of Jupyter notebooks)
chemistry-config.ipynb - messing around with PathwayCommons data and generating a few generic particle types in the end
complexification-config.ipynb - conversion of PDBe molecular complexes into a bunch of connected particles (with some state-machine logic for the ribosome)