⚛️

軽量分子軌道ビューア MOrbVis をリリースしました

に公開

こちらも御覧ください

https://zenn.dev/comp_lab/articles/413b26f39b840d

はじめに

量子化学計算の結果を可視化したいとき、どんなツールを使っていますか?

多くの場合、GaussView や Avogadro、Molden などのデスクトップアプリケーションを使うことが多いと思います。しかし、これらは環境構築が必要だったり、OSが限定されたりと、手軽に使えるとは言い難い面もあります。

MOrbVis は、Molden 形式や Gaussian Cube 形式のファイルを読み込んで分子軌道の等値面を3Dで表示するツールです。ブラウザ上で動作するため、インストール不要ですぐに使い始めることができます。Windows 向けのデスクトップアプリも用意しています。

以下のURLからすぐに試せます:

ソースコードは GitHub で公開しています:

MOrbVis のスクリーンショット

動画への書き出しもサポートしています:
https://www.youtube.com/watch?v=iN0yKBdlA08

主な機能

分子軌道の3D可視化

Molden ファイルや Cube ファイルを読み込むと、分子構造(Ball-and-Stick モデル)と分子軌道の等値面(正・負)が3Dで表示されます。マウスで回転・ズームしてさまざまな角度から確認できます。

電子密度の可視化

占有分子軌道から電子密度を計算し、等値面として表示できます。MO / 密度のタブで切り替え可能です。

断面図 (Cross-section)

XY / XZ / YZ 平面でのスカラーフィールドの2D断面をピクチャー・イン・ピクチャーで表示できます。バイリニア補間による高品質なカラーマップ描画、等値線の表示、断面上の原子位置の表示にも対応しています。

エネルギーダイアグラム

全分子軌道のエネルギー準位を棒グラフで可視化します。占有 / 非占有 MO の色分けや HOMO-LUMO ギャップの表示に対応しています。

MO 比較

2つの分子軌道を同時に表示して比較できます。選択中の MO はソリッド、比較対象はワイヤーフレームで表示されます。

描画のカスタマイズ

見た目を細かく調整できます。

  • 等値面の値(Isovalue): スライダーで等値面のしきい値を調整
  • グリッド解像度: 計算の粗さ・細かさを変更
  • レンダリングプリセット: Standard、Matte、Glossy、Glass、Toon、Minimal の6種類
  • HQ モード: SSAO(Screen Space Ambient Occlusion)と Bloom エフェクトによる高品質レンダリング
  • カラースキーム: 正・負の等値面の色を複数のパターンから選択
  • 表面モード: Solid、Wireframe、Solid+Wire の3種類
  • 背景色: カラーピッカーで自由にカスタマイズ可能
  • ライト/ダークモード: UIの表示テーマを切り替え

分子表示のカスタマイズ

  • 原子・結合サイズ: スライダーで調整可能
  • 原子ラベル: 原子記号の表示/非表示
  • 原子カラー: 周期表UIで各元素の表示色を個別にカスタマイズ可能

エクスポート機能

  • PNG 保存: DPI スケール(1x〜4x)と透明背景オプションに対応。論文やプレゼン資料に使えます。
  • バッチエクスポート: 複数の MO を一括選択し、各 MO の PNG 画像を ZIP アーカイブとしてダウンロード
  • 動画録画: 3D ビューの自動回転を WebM 動画として録画。回転数・方向・速度を設定可能
  • Cube ファイル出力: MO / 密度のスカラーフィールドを Gaussian Cube 形式でエクスポート
  • STL 出力: 等値面メッシュをバイナリ STL で出力(3D プリント等に対応)

インタラクション

  • 自動回転: 方向(CW/CCW)と速度を調整可能
  • フルスクリーン: ワンクリックでフルスクリーン表示
  • 原子間計測: 2点間距離(Å)や3点間角度(°)を計測
  • キーボードショートカット: ? でヘルプ表示、←/→ で MO 切替、Space で HOMO にジャンプ

多言語対応

英語 / 日本語の2言語に対応しています。ヘッダーの EN/JA トグルで切り替えできます。

サンプル分子

48種類のサンプル Molden ファイルが組み込まれているため、手元にファイルがなくてもすぐに試すことができます。追加のサンプルファイルは GitHub の Releases ページからダウンロード可能です。

使い方

今すぐ試す

以下のURLからアクセスすれば、すぐに試せます:

Windows デスクトップアプリ

Windows 向けのインストーラを Releases ページで配布しています。ダウンロードしてインストールするだけで使えます。

ブラウザで使う(ソースから実行)

Node.js (v18以降) がインストールされている環境であれば、以下のコマンドで起動できます。

git clone https://github.com/Yasuaki-Ito/morbvis.git
cd morbvis
npm install
npm run dev

ブラウザで http://localhost:5173 を開くと、MOrbVis が起動します。

対応ファイル形式

Molden 形式

Molden 形式 は、分子の座標・基底関数・分子軌道係数をテキストで格納するフォーマットで、多くの量子化学プログラムが出力に対応しています。

対応が確認されているプログラム:

Gaussian Cube 形式

Gaussian Cube 形式は、3次元グリッド上のスカラーフィールドデータを格納するフォーマットです。Gaussian をはじめ、多くの量子化学プログラムが出力に対応しています。

なお、MOrbVis に同梱されているサンプルファイルは GANSU を使って作成したものです。

技術スタック

項目 技術
UI React + TypeScript
3D 描画 Three.js (React Three Fiber)
ポストプロセッシング @react-three/postprocessing (SSAO, Bloom)
MO / 密度計算 Web Worker による非同期処理
等値面抽出 Marching Cubes
バッチエクスポート JSZip
デスクトップ版 Tauri (WebView2)

計算処理は Web Worker で行うため、ブラウザがフリーズすることなく、計算の進捗がリアルタイムで表示されます。

おわりに

MOrbVis は BSD-3-Clause ライセンスで公開しています。

分子軌道を手軽に可視化したい方はぜひ試してみてください。

広島大学コンピューティングラボ

Discussion