Giter Club home page Giter Club logo

gview_xtb's Introduction

WindowsのGaussViewからXTB最適化をできるようにする

実験化学系、特に有機化学系で計算もやってるという人たち(含む自分自身)は、Gaussianを使ってる人が圧倒的に多く、可視化や構造の編集についてWindowsのGaussViewを使ってる人がかなり多いと思います(偏見)。 そこでGaussViewからワンクリックでXTB最適化が走るようなセットアップを立てました。

1. ソフトウェアのバージョン

G16W と GaussView6 でやっていますが、多分よほど古くなければ動くと思います。GaussViewからG16Wを呼び出し、そこからXTBを呼ぶ形なのでG16Wも必須です。

2. XTBの準備

https://github.com/npe1011/xtb_windows_build に従って準備します。

3. Gaussian の external interface について

Gaussian は外部のプログラムにエネルギーと勾配、Hessianを計算させて構造最適化等をすることができます。そもそもはONIOMなどで使うように想定されてますが、別に普通の計算に使うこともできます。インプットの行に external='exec_file' とすると、Gaussian は exex_file を各ステップごとに実行して、エネルギーやその微分を計算させます。exec_file は実行可能で、所定のフォーマットのファイルを受け取り、所定のフォーマットのファイルを出力することを要求されますので、適当なプログラムやスクリプトでXTBとやりとりすればOKです。

4. Gaussian/XTB interface

gau2xtb.py はそのinterfaceです。このままだとPython環境が必要かつ実行時の指定がめんどくさい(external=gau2xtb でうまく走らない)ので、Pyinstaller [https://www.pyinstaller.org/] で実行可能形式にしました。python -m pip install pyinstaller したあと、 pyinstaller gau2xtb.py --onefile として gau2xtb.exe を作成しました。[https://github.com/npe1011/gview_xtb/releases/tag/v1.0] においてあります。

5. 準備

gau2xtb.exe は PATH が通った場所に置く必要があります。また xtb も xtb コマンドだけで実行できる必要があるので、 [https://github.com/npe1011/xtb_windows_build] で xtb を入れたフォルダに xtb.batgau2xtb.exe を置き、そこに PATH を通します。 フォルダ構成は下記のような感じで、この xtb-6.4.1 フォルダを 環境変数 PATH 追加します。

xtb-6.4.1/
  ├ bin/
 ├ include/
 ├ share/
  ├ lib/
  ├ xtb.bat
 └ gau2xtb.exe

6. GaussView の Calculation Schemes の追加

上記の準備が出来た状態で、GaussianからXTBでOPTするには下記のようなインプットになります。 opt=nomicro が必要なことに注意。

# p opt=nomicro external='gau2xtb'

title

0 1
C 0.00 0.00 0.00
H 1.00 0.00 0.00
...

これを毎回書いているようでは手間なので、GaussViewに設定を追加します。GaussViewから計算することは普段めったにないかもしれませんが、Calculation Schemesみたいなよく使う設定を用意しておいて、計算を簡単にする機能があります。GaussView の 下図の辺りです。

gv

適当な分子を書いたあと、編集 (Gaussian Calculations Schemes Dialog) を開いて、出てきたダイアログで、右クリック-> Open File -> Merge を選択して、xtbopt.txt を読み込みます。 ダイアログを閉じると隣の選択ボックスから xtbopt が選択できます。これを選んで、Quich Launch を押せば構造最適化が実行されます。

7. 問題点

遅い。いちいち Gaussianとやりとりをして、Gaussian側 が最適化計算をやってるので 素でxtb計算やるよりめちゃくちゃ遅いですね。 pyinstaller で exe にするときに --onefile にしないとちょっとマシかもですが、焼け石に水でしょう。 まあXTB計算部分は十二分に速いので、系が小さくても大きくてもあまり変わらないとは思います。

8. その他

上記の gau2xtb.exe ですが、external='gau2xtb' をいじればコマンドラインオプションも渡せますので、溶媒やらなにやらを設定することもできます。

#p opt=nomicro external='gau2xtb --gbsa CH2Cl2'

何も指定しないとXTBのデフォルトで計算します。

gview_xtb's People

Contributors

npe1011 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.