Jacobi:面向Abaqus子程式的IDE,整合解析測試與AI診斷
Jacobi是一款專為物理模擬子程式(如Abaqus UMAT/VUMAT)開發的整合開發環境,支援Fortran、C++和Python。它提供閉環解析解測試、AI診斷(基於Claude)、程式碼補全、測試市場、懸停文件等功能,旨在幫助工程師快速實現正確的本構行為。
Jacobi 是一款專注於物理模擬子程式開發的整合開發環境(IDE),當前版本深度整合 Abaqus,但其架構設計為可擴充套件至 COMSOL、Nastran 和 LS-DYNA 等其他求解器。它支援 Fortran、C++ 和 Python 語言,旨在解決子程式開發中常見的除錯難題:當模擬發散時,傳統錯誤資訊往往毫無幫助。
Jacobi 的工作流程分為三步:編寫原始碼、執行測試套件、獲取 AI 診斷。編輯器基於 Monaco(VS Code 同款引擎),提供 Fortran 語法高亮、固定格式與自由格式支援、靜態分析以及 AI 內聯補全。補全功能並非簡單的標記預測,而是理解子程式語義,例如 DDSDDE 必須對稱、NHAT 對 J2 塑性應為偏量等。
核心功能之一是測試套件。Jacobi 會編譯一個單元素驅動,對您的子程式施加15種預設應變增量,並將結果與閉合解析解對比。測試涵蓋單軸應變、側向約束、簡單剪下、靜水載入、J2 靜水中性、屈服起始、彈性解除安裝、塑性不可壓縮性、屈服面返回精度、零增量一致性、DDSDDE 有限差分檢查和對稱性等。每項測試都會返回具體誤差和透過/失敗狀態。
如果任何測試失敗,所有數值結果(應力、應變、誤差等)會傳送至 Claude(透過您的 Anthropic API 金鑰)。Claude 會提供基於物理學的診斷,指出具體哪個變數或方程出錯,並引用教科書章節(如 de Souza Neto、Simo & Hughes)。例如:"您的塑性流動法線具有體積分量,對於 J2 本不應存在,這就是原因和位置。"
其他功能包括測試市場(8個預裝社群測試,可安裝、執行或創作自己的測試)、懸停文件(顯示 Abaqus 引數型別和描述)、轉到定義、12種子程式模板、校準與步檢查器、.inp 檔案解析和收斂工具。編輯器支援20種主題,包括 Tokyo Night、Rosé Pine、GitHub Dark 等。
Jacobi 還提供 FEM 視覺化,展示單軸拉伸、剪下和靜水壓縮的變形雲圖,並支援逐幀步進審查。
當前版本 v0.1.0 beta 僅支援 Windows(10/11 x64),需要安裝 gfortran。macOS 和 Linux 版本即將推出。所有 AI 功能均透過使用者提供的 Anthropic API 金鑰直接呼叫,無代理或遙測。專案開源,使用 Tauri v2 構建。