はじめに
Introduction
Section titled “Introduction”FBTK (Forblaze Toolkit) は、高分子や複雑な混合系の分子シミュレーション準備を劇的に加速させるためのツールキットです。 コアロジックをRustで実装し、Pythonインターフェースを通じてASEやRDKit、LAMMPSといった既存のエコシステムとシームレスに連携します。
Key Features
Section titled “Key Features”- High Performance: Rust によるマルチスレッド実行。数万原子のパッキングも素早く完了。
- Zero-dependency Engine:
pip install fbtkを実行するだけで、自立した Rust 高速エンジンが即座に利用可能になります。 - Zero Configuration: 導入後の面倒な環境構築やパス設定、他ライブラリ(RDKit 等)とのバージョン競合に悩まされることはありません。
- Built-in 3D Generation: SMILES からの 3D 座標生成も独自の VSEPR + UFF エンジン で完結しており、外部ツールなしで動作します。
- Smart Relaxation: MD 計算の前に「重なり」を高速に解消。FIRE アルゴリズムにより系の崩壊を確実に防ぎます。
- Ecosystem Ready: ASE Atoms オブジェクトの直接解析や変換(
to_ase())を標準サポート。
Standard Units
Section titled “Standard Units”FBTK では、MD シミュレーションで一般的に用いられる以下の単位系を採用しています。
- 距離: Å (Angstrom)
- 質量: amu (Atomic mass unit)
- 密度: g/cm³
- エネルギー: kcal/mol
- 力: kcal/mol/Å
- 時間: fs (MSD計算時の
dt等)
Performance & Parallelism
Section titled “Performance & Parallelism”FBTK は Rust の並列処理ライブラリ Rayon を使用して、マルチスレッドでの高速計算を実現しています。構造緩和、RDF/MSD 計算、距離行列の取得など、重い処理の多くが自動的に並列化されます。
スレッド数の設定
Section titled “スレッド数の設定”デフォルトでは、他のプロセスの妨げにならないよう 4スレッド を使用するように設定されています。
計算リソースに合わせてスレッド数を変更したい場合は、環境変数 RAYON_NUM_THREADS を設定してから Python を実行してください。
# 8スレッドを使用する場合export RAYON_NUM_THREADS=8python your_script.pyInstallation
Section titled “Installation”Python Library
Section titled “Python Library”Python ワークフロー内で FBTK を利用する場合:
pip install fbtkStandalone CLI Tools
Section titled “Standalone CLI Tools”Python を使わずにコマンドラインのみで利用する場合、GitHub Releases よりスタティックバイナリをダウンロードしてご利用いただけます。 詳細は コマンドラインツール (CLI) を参照してください。
Dependencies
Section titled “Dependencies”- Python 3.8+ (Manylinux / macOS / Windows 対応)
FBTK は自己完結したバイナリモジュールとして配布されるため、必須の追加ライブラリはありません。
Optional Interfacing
Section titled “Optional Interfacing”以下のツールは必須ではありませんが、FBTK と組み合わせて使うことでより高度なワークフローが実現できます。
-
ASE: データの入出力、可視化を行う場合に推奨。
-
RDKit: 既存の RDKit オブジェクトからトポロジを取り込む場合に利用。