openworm/sibernetic

This is a C++/OpenCL implementation of the PCISPH algorithm supplemented with a set of biomechanics related features applied to C. elegans locomotion

Sibernetic – C. elegans 用生物力學模擬器

是什麼 – Sibernetic 是一個 C++/OpenCL 物理引擎,用於模擬流體、彈性物質、膜與收縮組織。此軟體為 OpenWorm 專案所開發,旨在模擬線蟲 Caenorhabditis elegans 的身體及其神經活動。

為何重要 – 透過提供一個真實、GPU 加速的軟體動力學環境,Sibernetic 讓研究人員能將蠕蟲的生物力學與神經模型(NEURON、c302 等)結合。這使其成為具身智能研究的具體平台:驅動虛擬蠕蟲運動的同一段程式碼,可由真實神經模擬驅動,進而實現對運動、肌肉活化與流體-結構交互作用的閉迴路實驗。

核心功能

  • PCISPH 流體求解器(預測-校正不可壓縮光滑粒子流體動力學)用於不可壓縮液體。
  • 弹性物質模擬、液體不可穿透膜、表面張力與邊界處理。
  • 透過 OpenCL 支援 GPU;可回退至 CPU。
  • 3D OpenGL 可視化,支援互動控制(暫停、切換示範、旋轉/縮放場景)。
  • 命令列選項支援無頭執行、記錄步驟、匯出 VTK 檔案供 Paraview 使用,或儲存原始緩衝區。
  • 與 NEURON 模擬器(透過 sibernetic_NEURON 橋接)及 c302 NeuroML 流程整合,允許從真實神經模型輸入肌肉訊號。

典型工作流程

  1. 建置 – 安裝 OpenCL、OpenGL、GLUT、GLEW 及 Python-numpy 後,Linux 使用 make all,macOS 使用 make all -f makefile.OSX
  2. 執行 – 使用 ./Release/Sibernetic 啟動圖形化示範,或加入以下旗標:
    • -no_g  無圖形執行(適用於批次作業)
    • -l_to  將模擬狀態記錄至磁碟
    • -export_vtk  匯出 VTK 檔案供外部視覺化
    • -f worm  載入完整蠕蟲身體設定並啟動 Python 肌肉訊號模組。
    • device=gpu  強制 GPU 執行。
  3. 與神經元耦合 – 加入 -nrn <hoc_file> 啟動 NEURON 橋接,或使用提供的 sibernetic_c302.py 指令碼,以 c302 NeuroML 模型驅動模擬。
  4. 分析 – 在 Paraview 中載入產生的 state_*.vtp 檔案,或使用 -l_from 重播儲存的緩衝區。

安裝注意事項

  • Linux 使用者需安裝 OpenCL 驅動程式(AMD 最佳;Intel 為替代方案)。README 列出所需的精確 apt-get 套件。
  • macOS 使用者在執行 OSX 專用 makefile 前,必須設定幾個 PYTHON* 環境變數。
  • 建置完成後,將倉儲根目錄加入 PYTHONPATH,以便匯入 Python 輔助模組。

誰可能使用它

  • 研究蠕蟲運動的計算生物學家。
  • 對軟體模擬與神經-機械耦合感興趣的機器人研究人員。
  • 任何需要 GPU 加速 SPH 流體/彈性求解器用於研究或教學的人。

連結


所有細節均直接取自倉儲的 README;未添加任何外部假設。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案