« 2006年03月 | メイン | 2006年05月 »

2006年04月28日

Athlon X2の次は?

たまには気を抜いて、好きな自作PCの話でも。
現在使っているPCは、Athlon 64 X2 4400+ (2.20GHz, TDP 89W版)を乗っけています。もともとそれほど発熱しませんが、水冷化している甲斐もあって、高負荷時でも40℃前後で推移します。消費電力が低いロットをわざわざ使っているというのも当然大きな意味があります。

しかし、下には下がいるわけです。
Yonahコアを採用したXeon LV (Sossaman)はTDPが31Wと、さすがモバイル用CPUの流れなだけあって低消費電力です。現在流通しているのは1.66GHzと2.00GHzの二つで、いずれもデュアル対応です(そりゃXeonだからね)。対応マザーも流通しているとあっては、組みたい病が発症するのも無理はない?わけで…

組みたいとは思っても、懐が追いつかないわけです。
まず、CPUが高い。Xeon LV 2.00GHzはバルクで\53,130/個。1.66GHzなら\27,194/個と手が届く範囲ですが、当然処理能力も落ちます。まぁ、普通の用途なら、1.66GHz×Dual Core×Dual CPUならどう転んでもオーバースペックですが、私の用途は当然分子計算です。速いほうがいいです。
マザーボードも高い。一般的な拡張ができるマザーだとTyanのTiger i7520SDでしょうが、現在の最安で\67,800もします。た、高ぇ…
普通に組んだら、今持ってるパーツを流用しても、軽く20万超えます。自作で20万越えって。。。
そんなに価格が下がる系統の代物ではないので、今買ってもそれほど損した気分にはならないのでしょうが、それでもこの値段は出せないですねー。せめてボーナスまで待って…あ、それでもだめか…そんなにボーナスもらえない...orz
持ってるパーツ流用といっても、Tyanのマザーで組むと、まずPCI-exのグラボ持ってない。DDR2のメモリも持ってない。まぁグラボはオンボード使えばとりあえずOKですが、メモリは如何とも。HDDもATAしか持ってないので、SATAのが必要か。SAS?そんな高いもの(SASカードだけで5万)手ぇ出せません!

ああ、4CPUでPC-GAMESSを走らせてみたい…(結局はそれが目的か)

《追記》
デュアルCPUワークステーションといえばUser's Sideということで、U/SでSossaman WSを構築したらどうなるかシミュレート。
最大構成と最小構成はさておき、s2kが思う一番妥当な「中間構成」は以下の通り。
CPU : Intel Xeon LV 2.00GHz/2MB FSB667 BOX ×2 = 113,400円
M/B : Tyan S5365G3NR Tiger i7520SD = 68,040円
RAM : Swissbit SEU533-1024C ×2 = 35,280円
HDD : Maxtor 6V160E0(Serial ATA II 3.0Gb/160GB/7,200rpm/8MBCashe) ×2 = 15,540円
(とりあえずVGAはオンボード。3D性能いらないですし…)
合計で232,260円。こうして現実的な数値が出てくると、ボーナス時に有り金叩いて購入してしまいそうです(汗

Sossaman 2.00GHzのパフォーマンスはCore Duo T2500と同じと考えられるので、MYCOM PC WEBのレビューが参考になりそうです。これによると、CPUMarkの結果を見る限りCore Duo T2500はPentium 4 3.6~3.7GHzぐらいに相当すると考えられますが、これはDualcoreフル活用の結果と考えれば、コア1コ当たりの性能はPentium Mよりちょっと良い程度かも。まぁ、さらにDual CPUになるということは、現在のIntel1CPU最強「Pentium XE」を超える性能は確実にありそうです。CPU2コでも62Wですから、単位消費電力当たりの性能ならばさらに差がつくことに…一般家庭に置くワークステーションの場合、消費電力も大事な指標の一つですので、これもまた食指が動く要因ですね。

2006年04月27日

一足先にゴールデンウィーク♪

今日からゴールデンウィークです。
え?違ってないか?
いいえ。違ってません。27,28両日とも有給休暇です。久しぶりに10時間寝ました。書き込んでいる時間が何よりの証明。。。

ここらで、集中的にサイトの整理をしようと思ってます。整理をするにあたって、優先順位をつけて計画しなくてはなりません(これは会社で学びました)。

とりあえず、優先順位が最も高いのは「記事・画像データの復旧」ですね。その次に新しいコンテンツの追加ということになりますが、こちらは以下の優先順位を設定しました。

1. Facioの詳細を特集化
2. Molekelのマニュアル
3. Moldenのマニュアル
4. GAMESSの使い方マニュアル詳細版

1.は以前からやろうと思っていつつできなかった所。新しい機能がどんどん追加されて、今の記事では古くなってしまいました。問題はどう章分けするか。
2.も手がなかなか付けられなかった所。新バージョンが気になるところで、それが近いうちに発表されたら、使い込んでからの執筆になるので後回しになるかも。
3.これは新コーナーになるのかな?フリーで安定した実行環境が得られるので、世界標準ともいえるこのプログラムはぜひ取り上げなくては。
4.GAMESSは大分使い込めて来ましたが、ここらで各種キーワードの使い方をざっと目的別で書き下してみようと思います。実例込みで。

他にも、MOPACで励起状態やラジカル,高分子の取り扱いなどをまだ記事にしていないので、いずれできればいいですねぇ…ちょっと優先順位は落ち気味ですが。あと、TINKERの使い方ですね。GAMESSのQM/MMやFacioの核酸モデリングなど、TINKERが使われる場面はちらほらありますので。

昨年9月から始まったリニューアルプロジェクトも、もうあと数ヶ月で1年。いい加減形にしなくては。

2006年04月23日

pc-chem.info、MT管理へ移行完了。

げっそり。
ディスプレイの見すぎで目が疲れました。
近所のシャトレーゼでケーキでも買ってくるかなぁ。。。できればブルーベリーのやつ。

疲れはしましたが、今後はむしろ楽になるはず。

そういえば、私のところに「どんな本見て勉強してるんですか?」という質問が来ます。どう見てもまともに勉強していないのは明白なのですが、とりあえず現時点で一通り読んだ本を列挙しておくと、

三訂・量子化学入門(上/下) 米澤貞次郎他著,化学同人(1983)
入門分子軌道法 藤永茂著,講談社サイエンティフィク(1990)
分子軌道法MOPACガイドブック(3訂版) 平野恒夫・田辺和俊編,海文堂(1998)
電子構造論による化学の探求(第二版) J. B. Foresman, A. Frisch著,田崎健三訳,Gaussian社(1996)
高精度分子設計と新素材開発(季刊化学総説No.46) 日本化学会編,学会出版センター(2000)
分子軌道法で見る有機反応―MOPAC演習― 田辺和俊・堀憲次編,丸善(1997)
実験化学講座12 計算化学(第5版) 日本化学会編,丸善(2004)

とまぁ、こんな感じです。実験化学講座は必携の書かな。MOPAC使うならガイドブックも。これ全部でいくらでしょう?

2006年04月22日

IE+Chimeで不具合!?

4月のMicrosoftの定例アップデートで、IEの修正パッチを当てるとChimeで不具合が生じることがあるそうです。MicrosoftもさすがにChimeの動作検証まではしないでしょうから、発生自体はしょうがないとして、問題はMSがいつまでに対処するか、ということですね。

ん?もしかして、このBlog上で挿入しているpdbファイルの閲覧にも影響が??
うちもJmolにしようかなぁ…

2006年04月17日

MoldenをWindowsで使う。(2)

数日前に、X on Windows LEを使ってMoldenを動かす方法を書きました。
よく考えてみると、あれはXoWオフィシャルガイドを買わないといけないので、本サイトの趣旨に反します(本サイトの趣旨とは、お金をかけないで計算化学環境を構築することです)。

で、Cygwinで同じようなことをやってみました。調べていくうちにわかりましたが、最新のCygwinでは、マルチウィンドウモードが標準のようです。これは是非とも使えるようにしたい!というわけで…
 

基本的には、真ゼロ円でできるXサーバ[Windows XP編]を参照して頂ければ、何も問題はないと思います。ただ、リンク先の記述内容は2003年ごろのものですので、その点ご注意を。

[1]Cygwinセットアップ
Cygwinのサイトからsetup.exeをダウンロードし、起動する。選択肢は普通直感的に思う選択肢でほぼ間違いなし。ちなみに私は面倒なので全てのパッケージをインストールしました。実際に必要なのはデフォルト+X11だけだと思います。ディスク容量と時間がもったいない人は最小限で。

[2]Moldenセットアップ
Molden 4.4 for Windowsからzipファイルをダウンロードし、適当な場所に解凍します。ちなみに私はC直下。そのままだとcygwin1.dllのバージョンが合わずにエラーになるので、Cygwinインストールフォルダ(普通はC:\cygwin)のbin内にあるcygwin1.dllをコピーし、Moldenフォルダ内の古い奴に上書きします。

[3]実行
デスクトップ上に作成されたショートカット「Start X - Server (needed for emacs and surf)」をダブルクリック。タスクトレイにXのアイコンが出て、バックグラウンドでXサーバが立ち上がります。後はMoldenフォルダ内のmolden.exeをダブルクリックすれば、マルチウインドウモード(ルートレスモード)で、普通のWindowsアプリと同じように動かせます。

スクリーンキャプチャはこちら↓
molden2.png

をを、Molekelと同じ感じで動かせる!心なしかXoWで動かしたときより軽快かも。

《追記》
量子化学のおもちゃ箱のブログで、Java+WeirdXの例が紹介されていますので、そちらも参考になると思います。動作はCygwinと比べて軽いんでしょうか?私も時間があれば試して見ます。

2006年04月16日

変な錯体シリーズ(3)

GAMESSで構造最適化した錯体を載せるのは3回目です。もう、シリーズ化して良いだろうということで、タイトルも(3)とかにしてみました。
さて、今回のネタはFe(CO)3(1,4-butadiene)です。鉄カルボニル錯体がジエンの保護基として利用できるのは、遷移金属屋さんなら誰でもご存知のことかもしれません。では、ジエンとの結合とはどうなっているのかを知っている人はどれくらいいるのでしょう?

最適化は2段階で行いました。ますHF/TZVで大まかに最適化(TZVなんぞ使ったために、大まかといいながら時間はかかる。3-21にしておけばよかった…)。そして、B3LYP/6311dLAN(6-311(d)とLANL2DZ)で精密最適化しました。え?鉄原子はTZからDZにレベルが下がってるじゃないかって?そんなヤボな突っ込みは勘弁してください。相対論効果を取り込みたくてやった、今は反省している。
ちなみに、精密最適化でちゃんとカルボニル基がまっすぐになったりと効果は出てまして、これはおそらく分極関数(d)の効果だと思います。

構造はこちら(Chemscape Chime)↓

構造的な特色として、ジエンの中央側についている水素原子が、やや内側に曲がっているところが面白いですね。これは鉄のd軌道と炭素のp軌道の重なりをよくするために、少しsp3ライクな構造をとっていると考えられます。フェロセンも精密に見ていくと同じように水素原子が内巻きになってるそうです。
気になる鉄とジエンの結合ですが、bond order tableからそこだけ抽出してみるとこんな感じです。

Fe1-C6/Fe1-C9(鉄-ジエン端側炭素) : 0.583
Fe1-C5/Fe1-C10(鉄-ジエン中央側炭素) : 0.353
C5-C6/C9-C10(ジエン二重結合) : 1.202
C5-C10(ジエン単結合) : 1.295

立体構造からも明らかですが、鉄とジエンの末端側の炭素原子との結合が強く、中央側の炭素原子との結合が弱くなっています。そして、その結果、炭素間の結合はジエン単独の場合から大きく変化し、中心の単結合の二重結合性が、本来二重結合のはずのところより大きくなっています。有機化学者にわかりやすいイメージとしては、ジエンと鉄が[4+1]環化付加したような構造に近いということができます。で、ただ環化付加しただけでなく、新たに出来た二重結合も鉄に配位しているような。ん、またわかりにくくなってきた…

紙の上では知っている遷移金属錯体の構造を「知ったかぶり」で終わらないためにも、これからもちょくちょくこうやって気になる錯体の計算をしていきたいと思います。

pc-chem.info β1をこっそり…

というわけで、こっそり、pc-chem.info β1へのリンクを貼ってみる。

こちら

デザイン修正とかで手間取ってまして進捗が悪いですが、形にはなりました。あとはテキストのコピペを頑張るだけです。実はそれが一番単純作業且つ大変だったりして。どうせなら、古い記述を最新版にあわせて修正しながら行きたいですね。

2006年04月15日

計算結果の妥当性の判断基準って?

計算化学が、実験化学者にとって身近なツールになって結構な時間が経ちました。
Gaussianなどは、そのユーザーフレンドリなIOでその地位を確固たるものにしていますが、それは同時に何の量子力学の知識も無い人が、とりあえず計算することだけはできるということでもあります。
(これには私も含まれますね)

ある系を対象に計算をしようと思ったとき、どういうモデル化学を選ぶかが最も難しいように思います。実験的な構造データ(例えばX線結晶回折)があれば、それと良く合うモデル化学を選ぶというのが一般的なのでしょうか。しかし、実験の条件と計算の条件が一致している若しくは非常に近い場合でないと、それは意味が無いような気もします。
実験結果と整合性の取れるモデル化学を選ばざるを得ない―第一原理に人間の任意性が介入せざるを得ないのが、現在の計算化学の姿のように思います。

計算化学は、実験の補足という位置づけから飛躍し、実験と対等―実験では見えないことを見るとか実験には多大な危険や労力がかかる事象を間接的に予測するなど―に用いられるようになりましたが、「予測」がどれぐらいの精度か、ということはどうやってわかるのでしょう?

ある既存の系によく合うモデル化学で、その既存の系とちょっとだけ違う系の計算を行う。その結果は、当然元の系の結果よりも誤差が広がっているかもしれないし、むしろ縮んでいるかも知れない(元々の誤差が、系の変化によって相殺されるとか)。こんなの、わかりません。
特に、未知の化学に計算化学で踏み込むときは、その判断基準をどう持つかで、どんな結果も生み出し得るわけです。基底関数を限界まで拡大して、電子相関を最大限考慮(場合によってはFull CIでも)して計算できれば、まともな値が得られる可能性は高いと思いますが(当然100%なわけはない)、そもそもそんな高価な計算をある程度の大きさの系(20~50重原子)についてできる環境は、そう無いでしょう。

やっぱり、まだ計算化学は一部の人のモノに過ぎないのではないか、と思ってしまいますね。

そう、素人に到底扱えるような代物ではありません。
だからと言って、私がこのサイトを放棄するわけではありませんよ?まぁ、分子に魅せられた人間がここにも一人いるということです。そういうことを考えていたら、MOLDAを開発した吉田先生を思い出しました。molda.orgが403になっていたので、こども省に転載された、吉田先生の言葉にリンクを。

[訃報][分子の美しさ]MOLDAの吉田先生

2006年04月14日

多くの方のアクセスに感謝@50万OriginalVisit

気が付くと、開設以来500,000 original visitを達成していました(2002.02-2006.03)。単純なHit数なら5,000,000以上。有難いことです。Winmostarの千田さん、生活環境化学の本間先生、Moldaの吉田先生(故人)を初め、大学の研究室の面々、そしてサイトを見て感想や批評を下さった方、とにかく多くの方に支えられてここまできました。
今、そうして培ってきた総合的な化学の知識をフルに生かす職場でやりがいをもって働けるのも、皆さんのお陰です。有難うございます。

一日も速くMovableTypeへ移行するように、頑張ります…

MoldenをWindowsで使う。

分子軌道計算プログラムの出力を可視化するツールは昔からたくさん作られてきましたが、とりわけ有名なものにMoldenがあります。GAMESS, Gaussian, MOPAC, AMPACに対応しており、主にUnix系プラットフォームで利用されています。

このMoldenはWindows上でも利用することができます(やや古めですが有名なこちらのページ参照)。そのためにはX Serverが必要になります。


フリーのX Serverが無いわけではないですが、私はHoron Linuxが開発している「X on Windows」のオフィシャルガイドブックに付属しているXoW LEを利用しました。本当は、最新版を使えばXのデスクトップウィンドウ無しで利用できるのですが、まぁ、これを起動するのにしか使わないと思うので、とりあえずこれでいいだろうと。

起動法は単純で、XoWをXモードで起動し、その後molden.exeをダブルクリックするだけ。
GAMESSで計算したフェロセンのデータを読み込んで、HOMOのユークリッド表示とOpenGLによるグラフィックを出してみました。
molden.png
Moldenといえば、この等密度線ですね。このグラフィックはポストスクリプトファイルに落とすことができるので、さらにPDFに変換できます。ちなみに出来るファイルはこちら。Illustratorの平滑化機能で、折れ線を曲線化してます。

(4/15追記:おもちゃ箱の佐藤さんもmolden使ってたんですね。気が付いたのでTBしました。)

2006年04月12日

久しぶりに風邪引きました。

最近、会社で風邪が流行ってるなぁと思っていたら、私も頂きました。のどの痛みや熱はもう治まりましたが、鼻水と痰がたまりません。そんな状況にもかかわらず、気が付いたら2時間残業…

全然関係ない話ですが、最近某サイトで二次創作の小説を連載している人が、叩き(誹謗中傷)に遭って、創作活動を辞めようかと書いているのを見ました。私はその小説を結構好きで読んでいたのですが、まぁ、創作意欲を削ぐような叩きって、どんなもんなんでしょうね。
かく言う私もサイトを運営している以上、叩かれることがないわけではないですが、それで辞めようと思ったことは今のところないので、よっぽど酷いことを言われたのかなぁと想像します。

心無い人がいるものですね。

2006年04月10日

GAMESS/TINKERでQM/MM計算

巨大分子を計算するのに、ab initio法が不向きなのは言うまでもありません。いくら時間があっても足りません。最近はDFTやFMOなどでタンパク質を扱う試みもされていますが、よく使われている方法としてはQM/MM法があります。大事なところだけQM(量子力学計算)で、他はMM(分子力学:古典力学計算)に置き換えてしまうのです。
例えば、タンパクと低分子の相互作用の強さを計算しようと思ったとき、タンパク全体を計算するのではなく、相互作用部位周辺(+低分子)だけQMレイヤーにして他はMMレイヤーにすれば、大事なところの計算精度はあまり損なわれることなく、大幅な計算速度向上につながるわけです。

GAMESSにはTINKERを利用したQM/MM法がインプリメントされています。簡単な使い方のみ紹介します。
 

簡単な入力の例として、エタノールの二量体の最適化(コア部分=水二量体をMP2/6-31+G(d,p);全体をMM3)の入力示しますと、下記のような感じになります。

$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE MULT=1 EXETYP=RUN
COORD=TINKER NZVAR=48 MPLEVL=2 $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 DIFFSP=.T. $END
$STATPT NSTEP=200 $END
$ZMAT DLC=.T. AUTO=.T. NONVDW(1)=1,2 2,4 1,3 $END
$TINXYZ
18 EtOH_2.pdb MM3 parameters
1 O -1.385000 -0.709000 0.471000 6 2 3
2 H -0.488000 -0.366000 0.456000 21 1
3 C -2.156000 0.467000 0.096000 1 1 7 8 9
4 O 1.380000 0.347000 0.424000 6 5 6
5 C 2.158000 -0.405000 -0.549000 1 4 10 11 12
6 H 1.352000 1.410000 0.141000 21 4
7 H -1.980000 1.262000 0.836000 5 3
8 H -1.835000 0.804000 -0.900000 5 3
9 C -3.606000 0.109000 0.069000 1 3 13 14 15
10 H 2.166000 -1.466000 -0.258000 5 5
11 H 1.696000 -0.292000 -1.541000 5 5
12 C 3.553000 0.128000 -0.573000 1 5 16 17 18
13 H -3.764000 -0.693000 -0.667000 5 9
14 H -3.909000 -0.235000 1.069000 5 9
15 H -4.190000 0.998000 -0.214000 5 9
16 H 3.526000 1.190000 -0.855000 5 12
17 H 3.996000 0.017000 0.428000 5 12
18 H 4.141000 -0.441000 -1.308000 5 12
$END
$LINK IMOMM=.T. IQMATM(1)=1,2,4,6 $END
$TINKEY
parameters C:\WinGAMESS\params\mm3.prm
$END

COORDにはTINKERを指定し、NZVARは3N-6(Nは原子数)を。$ZMATセクションでDLCとAUTOをtrueにします(自動内部座標発生)。$LINKセクションでレイヤーの切り分けを指定します。方法はIMOMM法をここでは使いました。QMレイヤーを$DATAで指定するSIMOMM法もあります(SIMOMM=.T.)。IQMATM(1)でQMレイヤーになる原子を指定。切れたところは勝手に水素が付きます。$TINKEYでパラメータファイルを指定します。
$TINXYZはTINEKR XYZ形式の座標ですが、これはBabelか何かでPDBファイルを変換すればOKです。ただし、atom typeなどは手修正が必要なことが多いです…(これが大変だ)こういうのを自動で(しかも正確に)やってくれるソフトは無いものか…

何はともあれ、計算すると135サイクルで終了します(464.7sec=7.4min)。エネルギーはこんな感じです。

MM Energy (kcal/mol) : 3.9399021695
MM RMS Gradient : 0.0000000698
MM Gradient Norm : 0.0000002419
QM+MM Energy (Hartree): -152.4699134919

最適化構造はこちら↓

複雑な入力になるほどいろいろ大変になってきます(例えば座標発生でエラーが出るとか)。GaussianのONIOMってすごいと思ってしまいます。GaussViewのような操作性でGAMESSのQM/MM計算ができればいいのですが。

さらに、TINKER(現在インプリされているのはver.3.6)が対応している力場に含まれていない元素は計算できないという縛りつき。要は、ほとんどの遷移金属錯体は計算できません。残念。UFFとかに対応することを期待。

2006年04月08日

GAMESSのSurface計算はMOPACのSTEP/POINTとは違う?

さて、GAMESSで計算をいろいろやっていると、反応解析をやってみたいと思うわけです。反応の解析ということは、遷移状態を探索することとほぼ同義と言っていいでしょう。当然、GAMESSは遷移状態へ構造最適化を行うことが出来る(RUNTYP=SADPOINT)わけですが、では、その入力のための初期構造は一体どうやって作成するのでしょう?

MOPACでは、STEP/POINT計算によって1つないし2つの構造パラメータを変化&固定しながら連続的に構造最適化して、大まかなポテンシャル面を描き出します。そして、その中から鞍点(suddle point:遷移状態と同義)に近い点の構造を抽出して初期構造にします。

しかし、GAMESSではそういった計算をどうするのかがわかりません。
 

近い計算として、SURFACE計算があります。これは1つないし2つの構造パラメータを内部座標表示で指定して、それらを動かして各点で計算を実行します。MOPACと同じに聞こえますが、これは別に「パラメータの固定はしない」のです。各点の初期値は変動させますが、$SURFセクション内のRUNTP1/2でoptimizeを指定すると、見事に最適化してしまって皆同じ構造になる、なんてコトが起きます。通常の使い方はRUNTP1/2はENERGYにして1点計算を各点で行うということのようです。

ちなみに、典型的な入力はこちら。

$CONTRL SCFTYP=RHF RUNTYP=SURFACE COORD=ZMT
MAXIT=200 NZVAR=0 $END
$SYSTEM TIMLIM=600 MEMORY=10000000 $END
$BASIS NGAUSS=6 GBASIS=N311 NDFUNC=1 $END
$SCF DIRSCF=.T. DAMP=.T. $END
$GUESS GUESS=HUCKEL $END
$SURF ivec1(1)=1,2 igrp1=2 disp1=0.1 orig1=0 ndisp1=3 $END
$DATA
BF3 surf calc.
C1
B
F 1 1.2964731
F 1 1.2964723 2 119.9999830
F 1 1.2964723 3 120.0000341 2 180.0000000 0
$END

BF3分子のFを一個、0.1Åずつ伸ばしながら3点までSP計算を実行するものです。出力内には以下のような形で各点での座標と全電子エネルギーが出ます。

---- SURFACE MAPPING GEOMETRY ----
COORD 1= 0.000 COORD 2= 0.000
HAS ENERGY VALUE -323.280211
B 0.00000 0.00000 0.00000
F 1.29646 0.00557 0.00000
F -0.65305 1.11998 0.00000
F -0.64341 -1.12555 0.00000
----------------------------------

しかし、これではただ構造パラメータを変化させてるだけで、それに伴う他の部分の構造変化は追っていません。従って、これで出てくる遷移状態もどきは初期構造としては余り優秀ではないと考えられます。そこで、同時に$STATPTセクションのIFREEZで同じパラメータを指定して各点で固定化できないかと考えて、やってみました。
具体的には以下の入力。

$CONTRL SCFTYP=RHF RUNTYP=SURFACE COORD=ZMT
MAXIT=200 NZVAR=0 $END
$SYSTEM TIMLIM=600 MEMORY=10000000 $END
$BASIS NGAUSS=6 GBASIS=N311 NDFUNC=1 $END
$SCF DIRSCF=.T. DAMP=.T. $END
$GUESS GUESS=HUCKEL $END
$STATPT IFREEZ(1)=1,2 $END
$SURF ivec1(1)=1,2 igrp1=2 disp1=0.1
orig1=0 ndisp1=3 runtp1=optimize $END
$DATA
BF3 mep calc.
C1
B
F 1 1.2964731
F 1 1.2964723 2 119.9999830
F 1 1.2964723 3 120.0000341 2 180.0000000 0
$END

で、結果は見事に全て最適化されて3点とも同一構造に。どうやら、$CONTRLセクションでRUNTYP=SURFACEになっているので$STATPTセクションは無視されている模様。($SURF内のRUNTP1=OPTIMIZEには反応してくれない?)
$ZMATセクションがいまいち理解できないので、IFZMAT/FVALUEが怪しいと思いつつもどうすべきかがいまいち不明。。。実はIFREEZのやり方が間違っていたりして。

誰か教えてくださいえろい人。

2006年04月05日

TDDFTで電子遷移の吸収波長予測

現在、PC-GAMESSはver.6.4が最新版ですが、非公開ながらPC-GAMESS ver.7 がRCまで来ています。今回、ver.7 RCを使うことができましたので、この最新版で可能になったTDDFT(時間依存DFT)計算で、紫外・可視吸収の計算をしてみました。

とりあえず、小さい分子で実験値が明らかなものを計算対象にしてみました。
モデル化学はRB3LYP/6-311+G(3df,3p)//RB3LYP/6-311+G(d,p)。結構大きいです。では、結果を早速。

H2O (実測 n→σ*:167nm)
125.02nm(osc.str.=0.1059578,σ→σ*?), 160.42nm(osc.str.=0.0480617,n→σ*)

Ethylene (実測 π→π*:165nm)
166.31nm(osc.str.=0.3283845,π→π*), 175.24nm(osc.str.=0.1036384,π→σ*)

Acetone (実測 π→π*:165nm emax=? ; n→σ*:188nm emax=1860 ; n→π*:279nm emax=15)
206.82nm(osc.str.=0.0348728,n→σ*), 177.38nm (osc.str.=0.0036645,n→σ*), 280.17nm (osc.str.=0.0000000,n→π*)

1,3-Butadiene (実測 π→π*:217nm)
221.09nm(osc.str.=0.6377904,π→π*)

結構いい線いってます。電子遷移の計算はab initioでもなかなか難しいといわれていますが、とりあえず上に挙げた小分子の計算結果は良好です。計算は結構時間が掛かっていて、アセトンのTDDFT計算は708.8秒 (11.8分)掛かってます。

ちなみに、水のTDDFT計算の入力はこんな感じです。

$CONTRL SCFTYP=RHF COORD=UNIQUE
MAXIT=200 NZVAR=0 DFTTYP=B3LYP1 CITYP=TDDFT $END
$TDDFT NSTATE=3 ISTSYM=0 ISTATE=1 $END
$SYSTEM TIMLIM=600 MEMORY=10000000 $END
$STATPT NSTEP=100 OPTTOL=0.0001 $END
$BASIS NGAUSS=6 GBASIS=N311 NDFUNC=3 NPFUNC=3 NFFUNC=1
DIFFSP=.T. $END
$SCF DIRSCF=.T. DAMP=.T. $END
$GUESS GUESS=HUCKEL $END
$DATA
Water TD-DFT calculation
C1
O 8.0 0.0348292859 -0.0738914311 0.0140741414
H 1.0 0.9213736036 -0.3775660179 0.2321831637
H 1.0 -0.4991608895 -0.8729945510 -0.0298713051
$END

太字の部分に注目。

2006年04月03日

PC-GAMESSでDualCore CPUをフル活用。

モスクワ州立大のAlex A. Granovsky教授が開発している「PC-GAMESS」は、GAMESS-USの傍系で、独自のFeatureを加え、さらにCPU毎に最適化が行われています。
さらに、並列計算をサポートしていますので、SMPシステムやDualCore CPUを搭載しているPCを持っている場合、その計算資源をフル活用して計算時間を短縮することができます。

そこで!

Athlon 64 X2 4400+使ってるんですから、並列計算でCPU使用率100%を目指すしかないでしょう!

ちなみに、こちらの記事を参照して、その通りにやれば、簡単に並列化できます。ですので、詳細はそちらを参照ください。

では、その効果をば。
計算対象は、Pd(CN)42-という、平面正方形のアート錯体です。PC-GAMESS 6.4 (for Pentium II / Athlon / Opteron)で、RB3LYP/631LANで構造最適化計算を行い、並列化した場合とSingleで行った場合を比べてみると、

1CPU : 333.9 SECONDS ( 5.6 MIN)
2CPU : 187.6 SECONDS ( 3.1 MIN)

というわけで、1.78倍速く終了しました。単純に2倍とはいきませんが、かなりの高速化です。寝てる間に…なんていう計算は並列で実行すると良いかも。

欠点としては、他のことができなくなるぐらいでしょうか。
(もっとも、優先度を下げれば他のプログラムも動かせますが…面倒くさい)

2006年04月02日

WinGAMESS 06 (2006/02/22 R2)リリース

正確にはいつリリースされたかわかりませんが、ここ一週間ぐらいだと思います。
WinGAMESS 06が公開されました。早速レジストしてダウンロード&インストールしました。今後は06バージョンで計算を行います。一応x86(linux)用ソースコードも入手。なかなかLinuxを使う機会が無くなってしまいましたが、いずれまた手を出したいと思っています。

あまり際立ったNew Featureは(個人的には)無いのですが、主に溶媒効果の計算(PCM)まわりを強化した感じです。あとラマンの計算やMCPの拡張ライブラリ追加など。。。

2006年04月01日

SCFでエネルギーがずっと減り続ける現象に遭遇。

新年度に入り、気分も新たにと言いたいところですが、その初日は、太ももの張りで一日中ごろごろしっぱなしという何とも気合の入らない日になりました。前日の卓球が響いて…

まずはCo2(CO)8の計算について。MP2は地獄のような計算時間がかかりそうな気配だったので、DFT(B3LYP)に変更してみたところ、SCFでエネルギーが大量に減り続ける(DFT switch on後)という現象に。いろいろSCFのオプションを変更して見たところ、DirectSCFを切ったところまともに収束し始めた模様。正確にはDirectSCFが悪いのではなくて、FDIFF=.true.がダメだったと思われます。

これが、DirectSCF ON (FDIFF=.true.)でのSCF計算の様子。

ITER EX DEM TOTAL ENERGY E CHANGE DENSITY CHANGE DIIS ERROR
* * * INITIATING DIIS PROCEDURE * * *
1 0 0 -1185.8328735797 -1185.8328735797 0.373291970 0.663882783
2 1 0 -1188.1492157152 -2.3163421355 1.029643602 0.400976272
3 2 0 -1177.5426463893 10.6065693259 0.747599688 1.146942391
4 3 0 -1189.6100399803 -12.0673935910 0.062694483 0.045492505
5 4 0 -1189.6906903839 -0.0806504036 0.051785277 0.031572975
6 5 0 -1189.7206888275 -0.0299984436 0.047148883 0.021325181
7 6 0 -1189.7336592038 -0.0129703763 0.042945607 0.020397035
8 7 0 -1189.7496324142 -0.0159732104 0.032586750 0.007900405
9 8 0 -1189.7569614708 -0.0073290566 0.016545673 0.003619918
10 9 0 -1189.7588040571 -0.0018425863 0.008702045 0.002411763
11 10 0 -1189.7592655941 -0.0004615370 0.005181674 0.000992590
12 11 0 -1189.7594221701 -0.0001565760 0.003526815 0.000903345
CONVERGED TO SWOFF, SO DFT CALCULATION IS NOW SWITCHED ON.
* * * INITIATING DIIS PROCEDURE * * *
13 12 0 -1196.0037662243 -6.2443440542 0.191539721 0.067546644
14 13 0 -1268.8724653989 -72.8686991746 0.178118196 0.470418821
15 14 0 -1343.0417461189 -74.1692807200 0.046982540 0.910052705
16 15 0 -1416.7500166816 -73.7082705627 0.153761624 1.398497174
17 16 0 -1489.5967436856 -72.8467270039 0.023160572 1.811604783
18 17 0 -1562.4792006954 -72.8824570098 0.001237907 2.319608339
(以下、ほぼ等間隔で減り続けて200iterまで逝き、error termination)


そして、DirectSCF OFF (FDIFF=.false.)でのSCF計算の様子。

ITER EX DEM TOTAL ENERGY E CHANGE DENSITY CHANGE DIIS ERROR
* * * INITIATING DIIS PROCEDURE * * *
1 0 0 -1185.8402383938 -1185.8402383938 0.354155842 0.662908647
2 1 0 -1188.1113787880 -2.2711403942 1.010578513 0.468945004
3 2 0 -1177.3859208369 10.7254579510 0.738632849 1.155595768
4 3 0 -1189.6121763750 -12.2262555380 0.054239472 0.042180526
5 4 0 -1189.6933852075 -0.0812088326 0.034039705 0.023266017
6 5 0 -1189.7259620257 -0.0325768182 0.041476783 0.016323809
7 6 0 -1189.7436387824 -0.0176767567 0.027704917 0.015641709
8 7 0 -1189.7507243529 -0.0070855705 0.026603828 0.013239227
9 8 0 -1189.7571782109 -0.0064538580 0.013940023 0.006362713
10 9 0 -1189.7588977000 -0.0017194891 0.007704270 0.002638349
11 10 0 -1189.7593162309 -0.0004185310 0.004327533 0.001354531
CONVERGED TO SWOFF, SO DFT CALCULATION IS NOW SWITCHED ON.
* * * INITIATING DIIS PROCEDURE * * *
12 11 0 -1196.0004794762 -6.2411632453 0.184353159 0.077281417
13 12 0 -1196.0725361496 -0.0720566734 0.313633910 0.177299394
14 13 0 -1195.5638149286 0.5087212210 0.277194955 0.352926173
15 14 0 -1196.0972915987 -0.5334766701 0.068141189 0.143397315
16 15 0 -1196.2426469844 -0.1453553856 0.034463678 0.050820648
17 16 0 -1196.2487968309 -0.0061498465 0.035474259 0.028912212
18 17 0 -1196.2460838329 0.0027129980 0.026430263 0.034390561
19 18 0 -1196.2547422984 -0.0086584655 0.006966498 0.010533945
20 19 0 -1196.2553073349 -0.0005650365 0.001307886 0.002297016
21 20 0 -1196.2553323812 -0.0000250463 0.000699986 0.000902855
22 21 0 -1196.2553398202 -0.0000074391 0.000141584 0.000090805
(以下現在計算中)

明らかにE changeとDIIS errorの推移が違いますね。FDIFFはFockマトリックスが前のiterationと比べてどれくらい変わったかだけを計算するフラグで、二電子積分なんかは毎回毎回計算しません。DirectSCFを指定するとFDIFFもデフォルトでオンになります
モノによってはこんな事例もあるんだと、一つ経験を積んだ感じがします。