« 2006年04月 | メイン | 2006年06月 »

2006年05月27日

WAVEの新作2枚、届きました。

WAVE(アドレス変わりましたね)が5/27に委託販売を開始した2つのミニアルバム幻想交響詩「彼岸桜」/奇想交響詩「月見草」を入手しました。

higan_tsukimi.jpg

感想なんぞを。

最近、インストゥルメンタルを聞くようになっていたので、耳はすんなり反応。
今回は電子音だけではなく、生音(生演奏収録)が入るということだったので、どんな感じになるのかなぁと思っていたら、すっかり溶け込んでいて、全部聴き終わってしばらくしてから、

「あれ、そういえば生演奏入ってたんだよな…?」

と思い出して、リーフレットでどのトラックに入っているか確認して聴く始末。大丈夫か俺の耳。
まぁ、つまりはそれほど自然だったということです。
公式サイトで中の人が「生じゃなきゃいけなかったから生にした」的なことを書いてましたが、そうかーそういうことかーと思いました。

良い買い物でした。

PCの性能をフル活用するために…

いかにデュアルコアプロセッサ搭載といえど、PC-GAMESSを2nodeで動かすとCPU時間のほとんどが占有されてしまい、場合によっては無線ネットワークコントローラなどのほかのプロセスに悪影響を与えることがあります。
計算が始まった瞬間に、タスクマネージャでプロセスの優先度を下げても良いのですが、これは結構面倒な作業です。

そこで、Process Tamerというソフトが有効に使えます。[窓の杜の記事はこちら]

このソフトは、プロセス名(実行ファイル名)を予め登録しておけば、そのプロセスが起動したときに自動的に優先度を指定した値に設定してくれます。そこで、pcgamess.exeを優先度低として登録しておけば、計算開始と同時にプロセスが優先度低に設定され、他のプロセスを阻害することなく計算を行うことができます。当然、CPUは100%使われますが、Webを見たいと思ってブラウザを立ち上げれば、普通にしゃっきりと起動します。通常の作業で余ったCPU時間にPC-GAMESSのプロセスが回されるというイメージでしょうか。もちろん、計算に掛かる時間は多少増えますが、負荷の掛かる作業をしない限り、その差は僅差です。長時間掛かる計算なんかには特に有効ではないでしょうか。

2006年05月20日

GAMESSにとってのメモリとは?

WinGAMESSでは、$CONTRLでRUNTYP=NMRを指定することでNMR遮蔽テンソルの計算を行うことができますが、これには結構な量のメモリが必要になります。
最初のSCF計算は少ないメモリ量で済むのですが、その後がどっと増え、SCFが終わったところでエラー終了することがあります。1024MB(1GB)のメモリを積んでいる場合、$SYSTEMでMWORDS=120ぐらいが上限のようです。

C9H12N2O3という分子式を持つ分子をHF/6-31G(d,p)で計算しようとすると(basis set shell=92, Cartesian Gaussian Basis Function=270)、180Mwordぐらい必要になるのですが、私のPCではメモリ不足で計算ができません。

Windowsでは、物理メモリでは足りなくなったときにハードディスク上の領域を仮想メモリとしてメモリ領域に割り当てることができます。それを考えると、WinGAMESSでメモリが足りませんエラーが出たときは、仮想メモリを増やしてやれば、パフォーマンスが落ちても計算自体は進行するのではないかと考えます。

で、やってみると、これは全く効果がありません。
仮想メモリを増減しても、物理メモリ以上の量をMWORDSで指定すると計算は落ちます。

実際のところは、GAMESSをソースからCygwin/gccでコンパイルするときに、ソースコードのメモリ上限値の辺りをちょちょいと書き換えればこういった縛りは解消されるらしいのですが、そこまでやるか…?いや、ここは私が人柱になってやるべきなのかも知れません。
いや、もっと単純に、「実はこんな簡単な方法で解決できますよ!s2kさんは何でこんなことも知らないんですか?」てな勢いで教えてくれる人がいたらいいのですが…

※1 ちなみに、PC-GAMESSでは倍ぐらいのメモリ量を指定できます。しかし残念ながらNMR計算は現バージョンではまだサポートされていません。
※2 $NMRセクションでINMEM=.T.を指定すると、メモリが足りないエラーは出ませんが、同じところで有無を言わさず落ちます。これもまた謎。

2006年05月18日

合成実験も楽しい…いや、独り言ですけど。

わたくしs2kは、こうしてWeb上では計算化学ネタを書き連ねているので、たまに計算が専門の研究者と勘違いされることがあります(あのクオリティで勘違いされると、本職に対して失礼な気すらしますが)。でも、中の人の本職は合成屋です。某企業で合成研究をやっています。

実は、つい最近まで実験はそれほど好きでもなかったのです。まぁ、だからこそこうやって趣味で計算をやっているのかも知れません。ですが、新しい化合物(合成例なし)をデザインし、自分の手で苦労して合成実験を繰り返し、その果てに目的物を手に出来たときの喜びは、他に例えようのないものでした。

計算の魅力は、手に取ることが出来ない(それは単に合成手段がないという意味や、単離不可能な不安定な構造という意味で)分子を手に取ったかのように扱うことが出来るところにあると、私は考えています。「取ったかのように」が味噌で、「実際に手に取る」のには敵いません。ですから、手に取りえないものを扱うのが一つの大きな目的になります。

それに対して、実験では作れるものに限りはありますが、分子を手に取ることができます。確かにこの世に存在せしめることができるわけです。ブラウン管(古いな)の中の幻影ではないわけです。この世で最初に自分が創り上げた、となるとその価値と充実感は途端に跳ね上がります。

両方の幸せをかみ締めることができる、今の環境に感謝しなくてはなりませんね。

2006年05月13日

備忘録:いまさら構造最適化の最適化

大規模なワークステーションではなく、自宅のPCで計算を行う以上、なるべく効率よく計算が終わることが望ましいのは言うまでもありません。(ワークステーションでも同じことですが、家庭用PCだとより大事になるということです)

構造最適化計算は一般に時間のかかる計算です。これをいかに速くするか。。。
PC GAMESS ver.7.0で、3-MethoxypyridineのHF/3-21Gレベルでの構造最適化をして、その計算時間とステップ数の比較をしてみました。

Winmostarで計算を行うとき、構造最適化に深く関わるパラメータはデフォルトで以下の通りです。
$CONTRL NZVAR=0 (直交座標系で最適化を行う)
$STATPT METHOD=QA (Quadratic Approx.で最適化を行う) IHREP=0(Hessianの再計算をしない)
$ZMAT DLC=.F. AUTO=.F. (内部座標を自動発生させない)
この条件で計算を行うと、収束まで68ステップ・333.6secかかります。

上記の条件を、以下のように変更します。
$CONTRL NZVAR=39 (自由度39=内部座標系での構造パラメータの数)
$STATPT METHOD=RFO (Rational Function Opt.で最適化) IHREP=2(2stepに1回Hessianの再計算)
$ZMAT DLC=.T. AUTO=.T. (内部座標を自動発生させ、それを使って最適化)
こうすると、収束まで6ステップ・122.5secになります。
劇的に効果がありますね。Hessianのアップデートと内部座標系の利用が最も良く効きます(それぞれがデフォルトから100secほど速くする効果がありました)。最適化メソッドは場合によるので必ずしもRFOが良いというわけでもないでしょう。

対称性の低い構造でも、このように設定すれば計算はかなり速くなります。但し、IHREPの値を1にすると、ステップ数は減りますが1ステップあたりに掛かる時間が増えて、むしろ計算時間は延びることがあります。普通は2か3ぐらいが良さそうな印象です。
《追記》
初期構造が良いと思われる場合は、IHREPは0でやったほうが速そう。初期構造が悪い場合でも、原子数が多いとHessianの計算は時間が掛かってしまうのでIHREP=2~5は現実的でないかも。HESS=CALCで最初にHessianをGuessせずに計算してスタートすれば、同じぐらい効果があると思われる。

PC GAMESS v7を早速使ってみました。

取り急ぎ、例のベンチマークの結果のみ。

1 node : 39.0 sec
2 node : 22.2 sec
(ref. WinGAMESS 1 node : 86.0 sec)

まず、1 nodeで既にWinGAMESSの倍以上速いというのがすごいですね。さらに2nodeにしたらほぼ4倍。実際には、この2 nodeは非対称(proc 1はSATA1RAID0(300MB/s)、proc 2はUATA(99MB/s))なので、高速且つ対称なシステムにしたらもっと速いはず。

2006年05月10日

Internet Explorer 7 betaを使ってみました。

Microsoftが、IE7のbeta 2日本語版を公開しました。早速インストールしてどういうインターフェースなのか、動作の速さはどうなのか、CSSの解釈はどうなっているかをいろいろ見てみました。

ページのレンダリングが不安定ですね。まぁ、まだbetaだから、という向きもあるでしょうが、beta 2にもなってリロードする度にページの見た目が変わるというのはちょっとまずいんじゃないでしょうか。私のサイトは、どれも表示がおかしくなってます。どう考えてもCSSの解釈がW3Cに準拠していないとしか思えません。どうにかしてくれ~

インターフェースの使い勝手は悪くないです。タブのサムネイル表示が、Sleipnirに実装されているものと比べて遅いのは減点。ついでにマウスジェスチャーとかつかないだろうか…(特許とかで実装面倒なのかも)

2006年05月07日

「すぐできる量子化学計算…」を買いました。

平尾公彦監修・武次徹也編「すぐできる量子化学計算 ビギナーズマニュアル」が5/1に発売されました。早速購入しましたので、そのファーストインプレッションを。
hiraobook.jpg

非常に平易に書かれています。まえがきにありますが、実験系研究室で計算を担当することになった研究者・学生のために書かれたということで、難しい理論はさらっと流し、計算において重要なところをピンポイントで解説している印象です。
Q&A形式で、どこからでも読めるというのも好印象です。そして、何より、今までの成書ではあまり無かったGAMESSについての解説が多く入れられています(GaussianとGAMESSの解説書です)。応用計算については多くがGaussianについてですが、これはGAMESSというプログラムの性質上しょうがないところでしょう。
「GAMESSは不親切だが、それがまた良い」的な記述がありましたが、それは私も感じるところです。入力の仕方など、いかにもプログラムに命令している感じがするではないですか!

書内のサンプルインプット・アウトプットはhttp://setani.sci.hokudai.ac.jp/qc-book/にあります。

その他、個人的に嬉しかったこと:動画の作成法が詳しい。Winmostarが紹介されている。
その他、個人的に悲しかったこと:このサイトの存在意義が失われそうなこと。


《追記》
内容で、誤解を招きそうな表記があったので、どうなのか読者に問いたい…
「C6 振動数計算について教えてください」の章のp.77にある図6のコメントで、一番下の各種熱力学補正データのところに「これが内部エネルギー、エンタルピー、Gibbsの自由エネルギーですよ」的なコメントが為されていますが、これは熱補正データであって、内部エネルギー・エンタルピー・Gibbsの自由エネルギーそのものではないのではないでしょうか…Gaussianでの出力や、山辺先生の講義録と照らし合わせてもおかしいと思うのですが…

2006年05月06日

GAMESSにおける自由エネルギーの算出

Gaussianでは、振動計算の出力の中の熱化学の項目内に、既に計算されたGibbsの自由エネルギーの値が打ち出されていますが、GAMESSの場合はそれが見当たりません。
となると、自分で出力されたデータを基に計算するしかありません。

多くの方は自力で出来るとは思いますが、私自身の備忘録代わりに。

計算に必要なのは、以下の2つの部分。
一つはSCFが終わって分子軌道が出力された後の全電子エネルギー


----------------------------------------------------------------
PROPERTY VALUES FOR THE RHF SELF-CONSISTENT FIELD WAVEFUNCTION
----------------------------------------------------------------

-----------------
ENERGY COMPONENTS
-----------------

WAVEFUNCTION NORMALIZATION = 1.0000000000

ONE ELECTRON ENERGY = -987.2595601439
TWO ELECTRON ENERGY = 387.7041864650
NUCLEAR REPULSION ENERGY = 277.9643183960
------------------
TOTAL ENERGY = -321.5910552829

ELECTRON-ELECTRON POTENTIAL ENERGY = 387.7041864650
NUCLEUS-ELECTRON POTENTIAL ENERGY = -1308.3624779471
NUCLEUS-NUCLEUS POTENTIAL ENERGY = 277.9643183960
------------------
TOTAL POTENTIAL ENERGY = -642.6939730862
TOTAL KINETIC ENERGY = 321.1029178032
VIRIAL RATIO (V/T) = 2.0015201901

もう一つは最後の熱化学。


-------------------------------
THERMOCHEMISTRY AT T= 403.15 K
-------------------------------

USING IDEAL GAS, RIGID ROTOR, HARMONIC NORMAL MODE APPROXIMATIONS.
P= 1.01325E+05 PASCAL.
ALL FREQUENCIES ARE SCALED BY 0.91730
THE MOMENTS OF INERTIA ARE (IN AMU*BOHR**2)
303.84781 641.85150 945.69928
THE ROTATIONAL SYMMETRY NUMBER IS 1.0
THE ROTATIONAL CONSTANTS ARE (IN GHZ)
5.93418 2.80920 1.90662
THE HARMONIC ZERO POINT ENERGY IS (SCALED BY 0.917)
0.092067 HARTREE/MOLECULE 20206.286818 CM**-1/MOLECULE
57.772731 KCAL/MOL 241.721107 KJ/MOL

Q LN Q
ELEC. 1.00000E+00 0.000000
TRANS. 7.74236E+07 18.164802
ROT. 2.41719E+05 12.395532
VIB. 8.61239E+00 2.153201
TOT. 1.61179E+14 32.713535

E H G CV CP S
KJ/MOL KJ/MOL KJ/MOL J/MOL-K J/MOL-K J/MOL-K
ELEC. 0.000 0.000 0.000 0.000 0.000 0.000
TRANS. 5.028 8.380 -60.888 12.472 20.786 171.816
ROT. 5.028 5.028 -41.549 12.472 12.472 115.533
VIB. 256.148 256.148 234.504 91.959 91.959 53.689
TOTAL 266.204 269.556 132.067 116.902 125.217 341.038

E H G CV CP S
KCAL/MOL KCAL/MOL KCAL/MOL CAL/MOL-K CAL/MOL-K CAL/MOL-K
ELEC. 0.000 0.000 0.000 0.000 0.000 0.000
TRANS. 1.202 2.003 -14.552 2.981 4.968 41.065
ROT. 1.202 1.202 -9.931 2.981 2.981 27.613
VIB. 61.221 61.221 56.048 21.979 21.979 12.832
TOTAL 63.624 64.425 31.565 27.940 29.928 81.510

上記の例は、2-ヒドロキシピリジンのHF/6-31+G(d,p)レベルでの最適化後に同じモデル化学で振動解析を行ったものです。温度を130℃(403.15K)に設定しています。スケール因子は0.9173。

まず、全電子エネルギーE(SCF)がTOTAL ENERGYの値「-321.5910552829 (hartree)」になります。これに各種熱化学補正がかかって、Gibbsの自由エネルギーとなります。
エネルギー熱補正TC(E)は熱化学のE(TOTAL)の値「266.204 (kJ/mol)」。
エンタルピー熱補正TC(H)はTC(E)+RTで、これは熱化学のH(TOTAL)の値「269.556 (kJ/mol)」。
Gibbs自由エネルギー熱補正TC(G)はTC(H)-TSで、これは熱化学のG(TOTAL)の値「132.067(kJ/mol)」。ちなみに、Sは熱化学のS(TOTAL)です。

最終的にGibbsの自由エネルギーGは、E(SCF)+TC(G)となり、1 hartree=627.5095kcal/molと1kcal=4.184kJを使って、-844205.168 (kJ/mol)と算出されます。

2006年05月05日

三崎港に行ってきました。

せっかくのGW、家に引きこもって計算ばかりしていてもしょうがないので、たまには外においしいものでも食べに行こうということで、三崎港までマグロを食べに行ってきました。

三浦半島をウロウロするなら、この「三浦半島1Dayきっぷ」が便利。品川から大人一人1,900円で行き帰り+現地乗り放。

misaki01.jpg

久しぶりに京浜急行に乗りました。快特・三崎口行。駅を出るときのVVVF音といい、運転士さんの声だし確認といい、なぜか感動してしまう自分が…
品川から三崎口までは快特で約1時間。三崎口は三浦市の玄関口ですが、見事に何もありません。原っぱの中にぽつねんと派手な(且つ寂れた)駅舎があるのみ。駅構内も何となく寂れた雰囲気を醸し出してます。しかし、そんな駅もGW中はやたら人でごったがえします。人ごみ嫌いにはたまりません。

バスでさらに20分ほど。目的地の三崎港へ。港の産直センター「うらり」を冷やかし、下町を一周したところで昼食タイム。一応事前にネットで目を通して、ややマニアックそうな「さくらや」(三崎港バス停裏)をチョイス。鮪一色コースで行きました。(写真はまだ全品そろってません)

misaki02.jpg

で、これだけでは刺身がさみしいと思って「鮪のカマ刺し」を追加オーダー。

misaki03.jpg

感想:普通にうまかった。血合肉の唐揚(?)はいいね。カマ刺しは筋が気になるけど脂はよくのっていていい。デフォルトで付いてた刺身は、近所のスーパーと変わらない??

さて、腹も膨れた(いや膨れすぎて苦しい)ところで、この後どうしようかと悩んだ挙句、油壺マリンパークへ。いや、水族館ってあまり行った記憶がないんですよ、これが。大の大人が○○マンショーをステージでやっているような水族館に行くのもどうよと思いつつ、連れがいるのをいいことに(一人は無理)、早速油壺行きのバスへ。
ちなみに、マリンパークは1Dayきっぷを提示すれば40%引きで入れます(大人一人1,020円)。
で、感想ですが、これが面白いんですよ。水族館って大人が見ても面白いんだーと初めて気づきました。実は私の精神年齢が低い説(有力)がありますが、それはさておき、子供たちにまぎれて水槽にかぶりつきです。ちょうどサメの特別展をやっていて、いろんなサメが生きた形で見れました。「生きた形で」見れるのが水族館の何より良いところで、最近は「鮪は柵で泳いでいる」とか「鯵は開きの状態で水揚げされる」と本気で思っている人がいるらしいので、そういう人は一度は水族館へ。
展望台に登ってみたら、これがまた絶景。

misaki04.jpg

ぐるっと180°が海!


そんなこんなで、VVVF音にうとうとしながら帰途に着いたのでした。

※京浜急行2100形の走行音などはこちらでストリーミング視聴できます。SUPER BELL"Zの「MOTOR MAN Vol.3」に収録されている#03 京浜急行VVVFも参考に(?)。

2006年05月02日

新作予告キタ━━━━(゚∀゚)━━━━ッ!!!!!!!!!!!!!!!!!!!!!!

cranky氏がサイト上で新作予告。Feline Groove III!
おおー。久しぶりだー。いつリリースされるんやろー。

こりゃ、しばらく氏のCDを聴きながら待つしかありませんな。

フロンティア軌道論のページの画像を復活、いや作り直し。

pc-chem.infoの中のフロンティア軌道論のページに、画像を復活させました。というか、新しいバージョンで計算し直したあげくキャプチャもし直し。手間が掛かることこの上ないです。本文も加筆訂正や削除を行いました。
今見直してみると、このページには「予測」しか書いてなくて「実証」が抜け落ちてるなと思います。アクロレインの例は良くないかも…かといってフランのプロトン化なんてやると山辺先生の完全なパクリになってしまいますし(つーか出版社から訴えられる?)、微妙に外してフェノールのプロトン化とか。

それはそうと、今回の更新で初めて、計算の入出力ファイル全てをzip化して公開しました。MOPACならそのままで問題ないですが、GAMESSの出力にはホスト名とか出てますんでそこだけ削らなくてはならないかも…まぁ、見られても問題はないですが…

一つ一つ、新しい情報に更新しながらの画像復活ですので、結構時間がかかりますねぇ…とりあえず一日2ページぐらいのペースで頑張るしかないでしょうか。

新コンテンツの準備も少しずつ進んでます。基本的に、データが出たらこのBlogに備忘録的に公開し、それを精査してコンテンツ化する感じです。主にというかほとんどGAMESSネタですが、現在on goingなのが、

○対称性を利用した入力作成
○基底関数の細かな指定法
○PC-GAMESSの簡単な並列化
○QM/MM計算
○溶媒和の考慮
○Molden利用環境の構築
○Rh錯体触媒によるオレフィンの水素化の反応機構解析

上の2つはすぐにでもコンテンツ化できそうですが、とりあえず現コンテンツのリニュが終わるまでは凍結。並列化はスクリプトの内容をよく理解していないので、それが理解できてから。QM/MMもコンテンツ化できそうですが、いい計算例を探してます。溶媒和は現在真っ只中。Moldenももうコンテンツ化できるかなぁ。Rh触媒水素化は現在計算中。基底関数ネタが重要なので、先にそちらが完成してからか。計算大変です。

他に、これからやっていこうと思っているもの。

●Pd触媒クロスカップリングの機構解析(トランスメタル化含む)
●ヒドロホウ素化の機構解析
●励起状態の計算(MOPAC/GAMESS)
●フラグメントMO(FMO)
●高精度エネルギー計算

うわぁ、やることいっぱいある…