メイン | 2006年04月 »

2006年03月29日

桜が満開なわけですが。

今日は風が強くて寒い一日でしたが、桜はすでに満開。どうしても会社を出るのが8時近くなりがちなので、いつも夜桜しか見れないのですが、街灯に照らし出される満開の桜ってのもなかなか風情があります。
桜に埋もれるように「止まれ」の標識があるのですが、それが鳥に「留まれ」と言っている様に見えるのは気のせいか…それにしても、今年は鶯が鳴いているのを聞きません。まだ2回ぐらい。なんでかなぁと思っていたら、桜の木にカラスが巣を作ってやがりました。そりゃ寄り付きませんわ。お前に「留まれ」とは言っていないのだよワトソン君。

2006年03月27日

複核錯体Co2(CO)8の不思議

ここ数日、タイトルに出した錯体「Co2(CO)8」の構造最適化に挑戦してます。この錯体は、Co原子2つと一酸化炭素8分子からなる複核錯体で、Co-Co結合とμ配位の一酸化炭素二分子、そして普通の単座配位の一酸化炭素6分子から成ります。Pauson-Khand反応の触媒として知られていますが、これの構造最適化が一筋縄ではいきません。

まずは、HF/631dLAN(LANL2DZ for Co, 6-31(d) for C,O)で最適化をかけてみたところ、以下のような構造に。

何じゃこりゃ。架橋COが無くなってるし…

で、いろいろやっているうちに、HF/STO-3Gで最適化してみると…


おっ、何かちゃんとした構造になってる!(同じ初期構造なのに)
わざわざ精度の低いモデル化学にしたらまともな構造に収束したというのは、予備知識なしではかなり驚きますね。この場合、原因が何なのかまだはっきりしませんが、
(1)電子相関を考慮していないモデル化学では、STO-3Gの計算誤差がちょうどいい具合に作用してこうなった
(2)LANL2DZのECPがこのタイプの錯体には向いていない
(3)その他
などがとりあえず思いつきますが…(何だその他というのは)

現在、MP2/631dLANで、HF/STO-3Gの結果を初期構造にして最適化中…どうなることやら。

2006年03月25日

対称性を利用して入力を作る。

先日、Rh錯体の最適化で変なエラーが出るという話を書いたら、量子化学のおもちゃ箱の佐藤さんからコメントを頂きました(有難うございます)。で、対称性を利用して入力を作ると計算が速くなるということを聞きました。

ちなみに、Rh2(HCO2)4はD4hに属します。ですので、入力はこんな感じに。

$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE COORD=UNIQUE
MAXIT=200 NZVAR=0 ICHARG=0 ECP=READ $END
$SYSTEM TIMLIM=600 MEMORY=10000000 $END
$STATPT NSTEP=300 OPTTOL=0.0001 $END
$BASIS EXTFIL=.T. GBASIS=631dLAN $END
$SCF DIRSCF=.T. DAMP=.T. $END
$GUESS GUESS=HUCKEL $END
$ECP
RH-ECP GEN 28 3
5 ----- f potential -----
-0.05389580 0 600.32430320
-20.13162820 1 157.69101760
-105.36541210 2 49.88419950
-42.32743700 2 15.59668950
-3.66540430 2 5.50992960
5 ----- s-f potential -----
2.97537280 0 59.34425260
25.12303060 1 83.74260610
626.09261450 2 18.45302480
-812.25493850 2 12.41946060
467.37293400 2 8.81729130
5 ----- p-f potential -----
4.95372130 0 53.43090680
20.48711160 1 65.66718430
598.01201390 2 16.83698620
-718.40590280 2 11.30421360
382.81731510 2 8.03124440
4 ----- d-f potential -----
3.02795320 0 64.39936530
24.75265160 1 43.46250530
142.68442890 2 19.40203010
32.14068570 2 4.68793280
RH-ECP
O-ECP NONE
O-ECP
O-ECP
O-ECP
O-ECP
O-ECP
O-ECP
O-ECP
C-ECP NONE
C-ECP
C-ECP
C-ECP
H-ECP NONE
H-ECP
H-ECP
H-ECP
$END
$DATA
Rh(II)2(HCO2)4 complex
Dnh 4

Rh 45.0 0.0000 0.0000 1.2416
O 8.0 1.9885 0.0000 1.2416
C 6.0 2.7053 0.0000 0.0000
H 1.0 3.8036 0.0000 0.0000
$END

GAMESSのINPUT manualを読むと分かりますが、axial groupではz軸を主軸とし、xy平面をsigma-h planeとするのがデフォルトになっているということで、上記のように4原子全てがxz平面上にくるようにし、主軸上に来るRhをz軸上に据えました。$CONTRLセクションのCOORD=UNIQUEは必須。

$DATAセクションからは、対称性を使って錯体構造を構築したときの原子の指定順がわかりませんので、ECP関連の入力を外し、基底系をSTO-3Gなんかにしてから一旦$CONTRLセクションのEXETYP=CHECKを使ってどんな並びになるかを確認し、それに合わせて$ECPセクションを書きました。
(※単純に4原子分だけ書くと、「全部ちゃんと指定しなさい!」って怒られます)

さて、同じ座標で、D4hで計算した場合とC1で計算した場合でどれくらい計算時間に差があるかというと…

RHF/631dLAN(RhのみLANL2DZ-ECP, C,H,Oは6-31G(d))による構造最適化計算
C1 : 3238.2 sec (53.97 min) , NSTEP=8
D4h : 394.5 sec (6.575 min) , NSTEP=9

ステップ数は1つ多いのに、トータルの計算時間は8.2倍速いという結果に!もちろん、最適化された構造は結合距離で0.0001Å差以内。
普段対称性の高い構造を扱わないので(反応機構解析とかですから)、こういうやり方はしたことが無かったんですが、すごいですね。圧倒的に速いです。もちろん、対称性が高いものを扱うのに限定はされますが。

-------謝辞-------
量子化学のおもちゃ箱の佐藤さん、有難うございました。m(_ _)m

また変な錯体を構造最適化してみました。

計算時間の都合上また321LAN基底ですが。。。
変な錯体シリーズ第二段。今度は対称性の悪い、美しくない錯体ですが、合成化学的には面白い錯体と言うことで、Os(II)-(η2-phenol)錯体です。

↓Chemscape Chimeでどうぞ。

この錯体はフェノールの反応性を、η2型で結合することにより1-Hydroxy-1,3-butadieneに変えてしまうと言う世にも恐ろしい代物です。フェノールのパラ位がジエノラートとして求電子剤と反応します。
フェノールのOと配位子NH3のHが相互作用して傾いてますね。

2006年03月23日

ああ、これ欲しいかも。

いちいち居間にテレビ見に行くのがだるいなぁ…(完全に引きこもりやん)
そんなあなたに、これを。

エルザ、高感度外部アンテナが付属するPCカード型TVキャプチャーユニット(ITmedia)

ノートで高画質録画を手軽にやりたい人にいいかも。僕もそんな人。
社会人になって「金ならあるよ?」って言えるようになった身分としては(本当は給料なんてたかが知れてるのに)、衝動買いの衝動を抑えるのが大変です。

しっかしこれ、部屋の中ではどれぐらいの感度で受信できるんだろ…

2006年03月21日

321LAN基底で最適化した錯体。

321LAN(3-21GとLANL2DZの複合)基底系で、Rh2(HCO2)4を構造最適化してみました。

↓Chemscape Chimeをインスコしてご覧下さい。

こいつの最適化中に出てくる、
YOUR B MATRIX HAS A SMALL DETERMINANT.
の意味と回避方法をご存知の方いらっしゃいますか?
(とりあえず正常に完走しましたが、気になるもので)

外部の基底ファイルの読み込み法

忘れないうちに書いておく方針で…

GAMESSでは、$BASISセクションでEXTFIL=.T.を指定することで外部ファイルから基底を読み込むことができます。

例えば、WinGAMESSで、実行ファイルのあるフォルダ(多くはC:\WinGAMESS)の中に「extbas」というフォルダを作成し、その中に外部基底関数ファイル「extbas.txt」を入れたとします。
その場合、runscript.csh(gamess.0x.exeと同じフォルダ内にある)をエディタで開いて、「setenv EXTBAS」の行を、

setenv EXTBAS $GMSPATH/extbas/extbas.txt

とします。そして、そのextbas.txtは例えば

Pd LANL2DZ
S 3
1 2.787000000 -1.610239300
2 1.965000000 1.848984200
3 0.6243000000 0.6037492000
S 4
1 2.787000000 1.354077500
2 1.965000000 -1.678084800
3 0.6243000000 -0.8559381000
4 0.1496000000 1.020029900
S 1
1 0.4360000000E-01 1.000000000
P 3
1 5.999000000 -0.1034910000
2 1.443000000 0.7456952000
3 0.5264000000 0.3656494000
P 2
1 0.7368000000 0.7632850000E-01
2 0.8990000000E-01 0.9740065000
P 1
1 0.2620000000E-01 1.000000000
D 3
1 6.091000000 0.3761460000E-01
2 1.719000000 0.5200479000
3 0.6056000000 0.5706071000
D 1
1 0.1883000000 1.000000000

C LANL2DZ
S 7
1 4233.000000 0.1220000000E-02
2 634.9000000 0.9342000000E-02
3 146.1000000 0.4545200000E-01
4 42.50000000 0.1546570000
5 14.19000000 0.3588660000
6 5.148000000 0.4386320000
7 1.967000000 0.1459180000
S 2
1 5.148000000 -0.1683670000
2 0.4962000000 1.060091000
S 1
1 0.1533000000 1.000000000
P 4
1 18.16000000 0.1853900000E-01
2 3.986000000 0.1154360000
3 1.143000000 0.3861880000
4 0.3594000000 0.6401140000
P 1
1 0.1146000000 1.000000000

H LANL2DZ
S 3
1 19.23840000 0.3282800000E-01
2 2.898700000 0.2312040000
3 0.6535000000 0.8172260000
S 1
1 0.1776000000 1.000000000

のような形式で書きます。元素記号の隣りに基底関数の名前(ここでは例のサイトから引っ張ってきたLANL2DZ ECPなのでLANL2DZとしています)を入れていることに注意。

そして、入力ファイルからは

$BASIS EXTFIL=.T. GBASIS=LANL2DZ $END

として引っ張り込みます。
典型的な入力例はこちら

-------------------------
追加。とりあえず使える外部ファイルを作成しました。(本ファイルを利用したことによる不具合・不利益について一切関知しません。利用する際は自身の責任でお願いします)
extbas.txt
改行コードがLFなので、Windowsのメモ帳で開くと変になります。Terapadなんかで開いてください。改行コードをLFにするのはUnix的仕様。Cygwinアプリでありがちかも。
中を見たらわかりますが、3種類の基底系が入ってます。321LAN, 631dLAN, 6311dLANの3つ。それぞれがどういう構成かはファイルのヘッダを参照してください。LANL2DZのECPを$ECPセクションで入力するのが必須です(Lan基底由来の元素に関して)。
このextbasファイルを利用した入力例はこちら

ECPとスプリットバレンス基底を組み合わせる。

WBCで日本が勝ったのを横目で見つつ、せっせとGAMESSを動かしている自分…マニアはつらいね(何がだ)。

Gaussianでは比較的容易に複合基底(6-31GとLANL2DZで631LANなど)で計算が行えますが、GAMESSではどうするのかを調べてみました。ぶっちゃけ面倒くさいです。

ECPとしては、SBKJCとHWがGAMESSに同梱されていますが、他のECPもEMSL Gaussian Basis Set Order Formから入手可能です。当然、おなじみLANL2DZやStuttgartもあります。ここから入手した生データを使うなら、以下のようにすればOK。例としてUO2(二酸化ウラン)の構造最適化の入力(元ネタはこちら)を。

$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE MAXIT=200 NZVAR=0 ECP=READ $END
$SYSTEM MEMORY=100000000 $END
$STATPT NSTEP=500 OPTTOL=0.0001 $END
$SCF DIRSCF=.T. DAMP=.T. $END
$GUESS GUESS=HCORE $END
$ECP
U-ECP GEN 78 4
7 ----- g potential -----
-0.22527100 0 4.51627250
-53.78057010 1 368.68769520
-516.30520530 2 112.75767080
-202.67382220 2 30.20329150
-62.56440490 2 10.29783550
-21.55895590 2 3.49105150
-1.53905450 2 1.26683910
8 ----- s-g potential -----
2.61188160 0 257.35294420
81.23566570 1 83.16054280
353.24653640 2 29.72005130
311.92922340 2 6.24821320
-423.55257950 2 4.16346720
293.21608360 2 3.00015110
-21.34425520 2 1.56000000
1.66925480 2 0.87000000
8 ----- p-g potential -----
1.84143880 0 288.72982500
75.70547550 1 76.78384200
288.46016740 2 24.82520030
250.72894290 2 5.12487350
-318.89680610 2 3.76033000
160.08449240 2 2.97617060
33.78018910 2 1.99190170
-2.06999970 2 0.97388320
6 ----- d-g potential -----
2.90820640 0 350.46994070
74.35776280 1 166.70913010
587.11403290 2 85.82061190
317.25436790 2 26.98422550
102.84221170 2 7.15655920
22.42142780 2 1.28408550
7 ----- f-g potential -----
3.93503390 0 251.26707540
64.94341200 1 108.01092180
265.18047760 2 114.80218950
389.42840900 2 39.91125450
153.47672210 2 11.90397840
12.08074440 2 3.38507720
-1.35101380 2 1.26776070
O-ECP NONE
O-ECP NONE
$END
$DATA
UO2 geoopt
C1
U 92.0 -0.0000000934 0.1666684376 0.0000000000
S 4
1 2.444000000 0.2802780000
2 1.433000000 -1.323110000
3 0.6677000000 1.394999000
4 0.2556000000 0.4531230000
S 5
1 2.444000000 -0.8375400000E-01
2 1.433000000 0.6082360000
3 0.6677000000 -0.8184330000
4 0.2556000000 -0.9057530000
5 0.1200000000 1.234020000
S 1
1 0.4000000000E-01 1.000000000
P 3
1 1.138000000 -0.5581500000
2 0.6874000000 0.9701720000
3 0.2506000000 0.5419030000
P 4
1 1.138000000 0.2257630000
2 0.6874000000 -0.4204690000
3 0.2506000000 -0.5459030000
4 0.1200000000 0.7429360000
P 1
1 0.4000000000E-01 1.000000000
D 1
1 0.3826000000 1.000000000
D 1
1 0.1473000000 1.000000000
F 2
1 4.113000000 0.2189930000
2 1.697000000 0.4595390000
F 2
1 0.6774000000 0.4216990000
2 0.2510000000 0.1790660000

O 8.0 1.8892462012 0.1666655491 0.0000000000
TZV

O 8.0 -1.8892461064 0.1666660133 0.0000000000
TZV

$END


ポイントとしては、$CONTRLセクションのECP=READで、$ECPセクションに、ゲットしてきたECPの生データを入れます。ECPを使わない原子はNONEで。
$BASISセクションは使わず、$DATAセクションに基底系は直接入力(規模の大きい錯体だと面倒なことこの上ない)。Uには先に入手したECPデータに一緒に入ってるスプリットバレンス基底のデータを入れ、Oはもとから入っているTZVを利用。
あと、ポイントはもう一つ。$GUESSセクションでGUESS=HCOREとする。デフォルトはHUCKELですが、それでいくと「この系には適してないよ」とかで止まります。HCOREにすると最初のSCFに手間取りますが、2周目以降はスムーズにSCFも収斂して3周で最適化構造となります。


誰か、もっと簡単な方法があれば教えてくれい…
(Pd-η3-アリル錯体なんかで、PdはLANL2DZ,他は6-31+G(d)、って感じの系で)

2006年03月19日

pc-chem.infoはMTで構築?

いつまでたっても再構築される気配の無いpc-chem.infoですが(管理者本人が他人のように語るな)、実は、Movable Typeで構築中です。

というのも、各記事へコメントを頂くのが容易だったり、記事の追加・修正・削除が全てWebからできる(FTP操作が必要ない)というのが何より有利だと思うのです。しかもデザインの自由度も高い。これからMTの中身について勉強しようと思ってますが、いずれBlogシステム化された形でpc-chem.infoは公開する予定です。

2006年03月18日

川越に行ってきました。

今日から来週の火曜まで4連休にしてみました。で、早速初日。川越に旨い物を食べに行ってきました。
川越と言うと、「小江戸」と呼ばれる古風な蔵造の街並みで知られていますね。そして芋料理とうなぎでしょう。

JR川越駅に朝10:00頃到着。3番のりば「小江戸名所めぐりバス」に乗り込み、一日乗車券(大人300円)を購入。まず最初に喜多院へ。そこで名物(?)の焼き団子をぱくり↓
kawagoe01.jpg

次に成田山(新勝寺)別院でおみくじを引き(なんと大吉)、再びバスで札の辻へ。ちょっと地理を把握してから昼食はうんとん処春夏秋冬にて「春夏秋冬御膳」↓
kawagoe02.jpg
上品な感じ。男一人にはちょっと物足りないか?でもおいしいのでよしとする。

腹をある程度満たしたところで、元町散策。有名な時の鐘↓
kawagoe03.jpg
そして、程近い一番街に面した「深善美術表具店」↓
kawagoe04.jpg
なんとも味わい深い店構え。こんな街並みが続いてます。時代劇中に紛れ込んだ気分。
そして、かの有名な「菓子屋横丁」へ。え?写真がない?そうなんです。ここの写真だけ撮り忘れました。会社にお土産は買ったんで勘弁してください。とりあえず、すごい人だかり。食べ歩かずには居られないレトロな雰囲気。是非一度行って見ることをおすすめします。

昼食を食べてからわずか2時間。やはり上品過ぎて腹に溜まらなかったのか、早くも腹の虫が騒ぎ始めます(菓子屋横丁でたべた煎餅と鯛焼きは別腹)。もう辛抱ならず、本日のメインイベント・「いちのや」のうな重を頂くことに↓
kawagoe05.jpg
特重「菊」3,150円也。うなぎ一匹半が折り重なるように詰められています。第一印象は「味があっさりしている」といこと。スーパーで売っているうなぎの味の濃さは、うなぎの質をごまかす代物か。とにかくいちのやのうなぎはあっさりしていて、うなぎ本来の味を存分に味わえます。ああ、「弐段」にしておけばよかった…良い物に金は惜しまないものです。
(いちのや注意事項:店は大きな通りに面していますが、入り口は裏の駐車場側にあります。大通りから店内に入ると、店員さんに気づいてもらえません!)

食い物だけで1万円近く散財した川越食べ歩きはこれにて終了。風も出てきて寒くなったので、とっとと退散です。でも大満足。うなぎだけでも今度また食べに来よう、と思いました。ちなみにいちのやは神泉にもお店があるので、東京にお住まいの方はそちらでも同じうなぎを味わうことができるはず。

2006年03月17日

WinmostarがV3.33に更新。

WinmostarがV3.33に更新されました。ダミー原子の入った直線型官能基の部品が追加されています。これ、リクエストしたのは私ですので、もしこの部品が使いにくいとか、いらないとかそういう苦情があれば私の方に(笑
今回の更新内容の細かいところでは、ダミー原子の元素記号(?)がXxからXに変更になったところでしょうか。

実は、MOPACでのダミー原子の元素記号「Xx」は、GAMESSではエラーになってしまうんです。Winmostarに同梱されている遷移金属錯体向け部品(例えばCp(Cyclopentadienyl)基やPIC2H4(η2-C2H4)基など)は、ダミー原子を利用して構築されていますが、それを利用して錯体の初期構造を作成して、いざGAMESSで計算しようとすると、「Xxって何やねん!計算できるか!こんなもん!」と怒られてしまいます。そこで、GAMESSにおけるダミー原子の元素記号「X」をデフォルトに変えてもらいました。
ちなみに、XのままMOPACで計算しても、勝手にXxに読み替えて計算してくれますのでご安心を。(MOPACの方が頭いいじゃんか)
ただし、MOPACで計算して初期構造とし、続けてGAMESSに投げると、MOPACで計算を終えた段階でXXxになってますからエラーになります。ご注意を。(自分でx削ってください)

blogをMovableTypeに変更しました。

出社を遅らせて何をしているのかと思いきや…最近blogへのコメントスパムが多発してまして、削除が追いつかない感じになっていました。で、そういった操作がしやすいMovableTypeへ移行しました。ついでにURLもサブドメインでhttp://blog.3016.net/にしました(とりあえず従来のURLでもアクセスできます)。

とりあえず、デフォルトデザインのまま設置。後で少しずつカスタマイズしていこうと思って枡。

というか、もう会社行かんと…9:00になってまう。

あまりに今までの内容が雑多すぎるので、これからは計算化学ネタで気づいたこと、掲示板で指摘されて検証したことなどなど、備忘録的にも使っていきたいと思っています。