投稿

2017の投稿を表示しています

計算科学に必要なShellによるテキストファイル編集

イメージ
2018/05/18 追記 2019/12/06 追記 どうやらmac上で、sed がうまく動かないという問題があるようです。 なんで僕のは動いていたんだろうか。。どこかで対処してたのかな。 解決法は以下を参照 https://it-ojisan.tokyo/2018/01/22/mac-linux-sed/ https://qiita.com/catfist/items/1156ae0c7875f61417ee 余分なスペースだらけのテキストファイルの表を、表計算ソフトに移植したい時ありませんか。 私は、単結晶X線構造解析や、計算で出した最適化構造の座標ファイルを扱う時に、余分なスペースに困らされることが、よくあります。 これまで私は、1.テキストをワードで開き、2.検索と置換機能を使って連続するスペースをまとめる、という作業をチマチマ行って、テキストファイルを再編集していました(下図)。 元のテキストファイル これを 表計算ソフトに入れると… スペースの所でグチャグチャに。 手でやるよりは断然効率がよいものの、もっと良い方法があるはず、、と悶々とする日々。 最近、shellがすこし使えるようになってきたので、sedコマンドでかんたんにファイルを整形できるようになったので備忘録です。(Macですが、他のOSでもちょっと調べればできるはず。) ______________________ 1. ターミナルを起動し、対象ファイルのあるところまで移動。(ここがわからなければ、ターミナルコマンドのcdコマンドについて検索) 2. ターミナル上で以下を打ち込む。 sed -r 's/ +/ /g' "ファイル名" 例:デスクトップ上においてある、"abc.txt"とよばれるファイルの空白を飛ばす $ cd Desktop $ sed -r 's/ +/ /g' abc.txt これで、ターミナル上に2つ以上のスペースが一つにまとめられた出力が出てくるはずです。.txt などの拡張子は必ず入れましょう。 's/ +/ /g'というところは、正規表現です。 's/A/B/g'であれば、テ

Mercuryが動かない!

ラボの学生が新しいMacbook pro (10.12.6) を買ってきてセットアップ中のこと、 結晶構造を表示するソフト、Mercuryのインストールが上手くいかないという事案が発生。 インストールまではできているみたいだけど、プログラムを起動した瞬間に、たち下がるようだ。 エラーメッセージを見ると、X11がどうとかこうとか書いてある。 まさかとおもい、XQuartz ( https://www.xquartz.org ,あるいは https://joppot.info/2014/02/16/787 参照 ) をインストールしたところ、無事にうごきました 。 MacのOSの、古いグラフィカルユーザーインターフェイス制御機構だそうですが、新しいOSではデフォルトで入っておりません。 一部のグラフ表示ソフトや、画像処理ソフトを動かす時に必要だったりするそうです。 たとえば、Inkscapeや、Gimpなどのフリー画像処理ソフトでも必要になります。

VNCはとても便利!〜遠隔でLinuxマシンを操作する

イメージ
VNC接続による、MacからLinuxコンピューターへの接続。 先日の 記事 にも書いたけど、遠隔地にあるLinuxに、VNC接続ができるようになると、とにかく仕事が捗る!!   Macの画面の中に立ち上がった、Linuxの画面。おわかりいただけるであろうか。 Linuxの方が同一のネットワーク内にあり、設定( 先日の記事 )は済んでいるとして、、、 (計算機購入の際に、やってもらうのが吉) Finderの「移動」から「サーバーへ接続」 ここで、ウィンドウに、vnc://(接続するマシンのIP)と打ち込む。 vnc://122.111.222.2  みたいな感じ。IPを間違えると、当然つながりません。 設定によっては、どのポートから接続するか、まで指定する必要があります。その場合は vnc://122.111.222.2:5901 という感じで設定。 vnc接続のパスワードが聞かれると思うので、passを入力しログイン(パスを入れない設定も、設定できるようだ。なんか怖いのでやらないけど。) WindowsからLinuxマシンへのアクセスだと、プログラムをインストールする必要があります。 ultravnc が、よく使われるみたいです。

VNCサーバー設定の備忘録

私のところでは、Linuxの計算機を普段いる居室とは少し離れたところに置いて運用しています。大体の司令はコマンドラインから流せるようになってきましたが、それでも何かトラブルがあったときや、込み入ったInputファイルを作成する場合には、gaussviewから作るのがはかどります。 もう、使用している方には何の説明もいらないのですが、離れたところのコンピューターのデスクトップに直接アクセスできるVNC (Virtual Network Computing)は、めちゃくちゃ便利で作業がはかどります。 計算機の移転に伴って、VNC接続した際の画面サイズが極端に小さくなってしまい、設定変更に手間取ってしまったので備忘録 (VNCの画面サイズが大きくなりすぎると、マシン間の通信が遅くなってしまい、操作がもたついてしまうこともあるそうだ。) 参考サイト: http://www.obenri.com/_vnc/vnc_server2.html http://d.hatena.ne.jp/rdera/20090303/1236071478) 環境は、Mac –> Linux (redhat)です。 1. まず、rootから [ ]# ps ax | grep vnc で、vnc 関係のプロセスをリストアップ その後、killコマンドで vnc 関係のプロセスをシャットダウン (もっと望ましい方法があるとおもう。) [ ]# kill xxxx  (xには適当な数字が入る) 2. [ ]# nano usr/bin/vncserver で、vncserverという名前のファイルを編集。(nanoでなくとも、viでもemacsでもよい)。 ” geometry = ” の後ろが解像度なので、ここの設定を変更。保存してクローズ。 ここで、設定が変わったはずなのだが、設定が反映されない! psで、プロセスを見ると、立ち上がっているvncは、確実にgeometryの設定がかわっているのだけれども。 そこでさらに、 3. [ ]# nano /etc/sysconfig/vncservers で、ファイルを編集。 中にはいろいろ書いてあるのだが、全て#でコメントアウトされている(読み込まれないようになっている) # VNCSERV

シンギュラリティ

2000年前と今、変わったこと、変わらないことってなんだろう。今と2000年後、いや100年後、変わること、変わらないことってなんだろう。 いつも佐藤健太郎さんの書く記事は楽しく読ませていただいているが、最近投稿された二つの記事を読んで、考えさせられたことがあった。 1  世界史を変えた新素材 変幻自在の万能材料――プラスチック 前編 2  薬にまつわるエトセトラ 第32回「AI創薬の波」 一つ目の記事で特におもしろいと思ったのは、近代に入ってから見つかったプラスチックが、実はローマ帝国の時代に見つけた人がいたかもしれない、という話。 床に叩きつけても割れないグラス( プラスチック性 としか考えにくい)を、職人から献上された、時の皇帝ティベリウスは、その 職人につくり方を知っているのはお前だけか、と問う。 私だけですと答えた職人を、ティベリウスは賞賛すると思いきや斬首してしまう。 もしこれが本当にプラスチックであれば、職人が殺されていなければ、歴史は大きく変わっていただろう。 佐藤さんは、ティベリウスが暴君であったというよりは、常識を覆す性能をもった素材の出現によって、せっかく安定してきた政治が再び不安定になることを嫌ったのではないかと解説している。 (新物質の登場は、どっしりした権力のピラミッドでさえあっさりと覆す可能性があることをこの話は象徴しており、化学者としては高揚感を感じるものである。) ティベリウスが、ローマ帝国の安定を守るため、瞬時にそのような判断を下したのだとしたら、為政者としては翠眼としか言いようがない。ここで、自分だったらそこまで頭が回るだろうか?と、ハッとする。 僕は塩野七生のローマの歴史に関する著作を読んでいるが、ローマの政治は(2000年も前のことだというのに!)とてもよく考えて制度設計されており、リーダー達は今の人類と比べても遜色のないレベルだったと推察される。 つまり、約2000年の歴史を学ぶと、人類は多くのことを克服し、明らかにしてきたが、人類一人一人の能力は、決して大きく向上しているわけではないということが、逆説的によく分かる。ティベリウスが職人を斬首した事件のような咄嗟の英断は、長いローマの歴史の中で、幾度となくあったことだろう。ローマの時代から、大きく社会自体は発展した現代の我々のほとんどは、こん

電子移動の非断熱&断熱

イメージ
電子移動反応を勉強すると出会う、よく意味のわからない言葉、  ”断熱過程 (Adiabatic) & 非断熱過程 (Non-adiabatic)” について、調べました。(断熱過程で調べると、熱力学の記事ばかりでるんですよね。) 量子論では、複数の原子核と電子からなる多体系である分子の電子状態を扱う際に、「核は核、電子は電子で分けて考える」ということをしばしば行います。 原子核は電子と比較して、極めて重たい粒子であり、動きが遅い (正確には運動量が小さい) ため成り立つ方法です。 核の位置を固定しておいて、その間を飛び回る電子の位置考えましょう、というところでしょうか。これは当たり前のように聞こえますが、電子と核は、引っ張り合って位置を動かし合うので、ちゃんと考えようとすると極めてややこしい(数学的には解けない多体問題)。そこで、核は固定!とします。 この近似のことを、提唱者にちなみボルン・オッペンハイマー近似と呼びます。 これと非常に近いところにある概念で、原子核が動くと、それに瞬時に追随して電子も動くと考える近似のことを断熱近似と呼びます。( どの項まで計算するかで、断熱近似かボルン・オッペンハイマー近似かが決まる ) つまり、核の動きを考えれば、電子がどこにいるのか決まる、というのを ややこしく きっちり定義しているのが断熱近似で、核の配置はみなさんもよく見るであろう図で表現されます(下図:水素分子の断熱ポテンシャル曲面の模式図)。振動準位を調和振動子として近似できる範囲で示すと二次関数になります。この断熱ポテンシャル曲面の上を伝って進行するのが断熱過程です。 この曲面同士が重なって混ざり合う時に、化学反応が進行するのですが、電子移動については、ポテンシャル曲面同士が近接さえしていれば、曲面が明確な交点を持っていなくても、トンネル現象で飛び移ってしまう。これを非断熱遷移と呼びます。 このような過程の場合、曲面から曲面へと飛び移る際の確率を表す透過係数(溶液系では多くの場合1として処理)を設定してやれば、二次関数同士の頂点と交点の関係は、再配列エネルギーを与えてやれば解けるという寸法です(下図左)。 逆に、二つの断熱曲面のミキシングが効いてくる場合は、その効果によって交点よりも低いところに活性化障壁のトップがくるの

メールの転送設定、[.forward]の罠

大学のメールをgmailなどのサービスに転送したい方は、結構いらっしゃると思うので、そのためのtipsをシェア。 .forwardから始まるテキストファイルをサーバーに置くことで、メールの転送が可能になります。(方法は、所属の組織によって異なると思います。うちはウェブ上で設定していく仕様) ここに、転送先のアドレスだけを入れておくと、メールはそちらに転送されてしまって、メールが元々送られてきたアドレスのサーバーに情報が残りません。そこで、転送先のアドレスの前に、 \[ 元々のアドレス ],[ 転送先 ]   というように、" \ + アドレス "という一文を書き込む必要があります。 我々の大学のサーバーの設定では、 [ 元々のアドレス ]のところが、 [ユーザー名]となっていました。 もっと具体的な例を出すと、 \xxxxx@yyy-u.ac.jp,zzzzz@gmail.com または \tttttt,zzzzz@gmail.com (tは、大学内のアドレスのユーザー名)  という感じです。 このなかで、バックスラッシュが曲者で、ツボってしまいました。 バックスラッシュ"\"は、日本語環境では¥と表示されることが多々あり、windowsのファイルパスなんかの時は、"\"でも、"¥"でも昨日するのですが、 うちのサーバーでは、¥といれて.forwardを登録すると、元々のアドレスにメールが残りませんでした。 ここで、少しツボって時間をとったので、共有した次第です。 [参考] .forwardについて http://www.itmedia.co.jp/help/tips/linux/l0245.html http://x68000.q-e-d.net/~68user/unix/pickup?%7E%2F%2Eforward バックスラッシュと¥について [バックスラッシュと円記号の悲劇] http://juangotoh.hatenablog.com/entry/2016/06/13/104139

Ni(II)はヤーン・テラーで歪むのか

イメージ
銅(II)ヘキサアクア錯体では、軸位にある水は、エカトリアル位の水よりも少し遠くに位置していることが知られている(下図左)。銅(II)を代表として、eg軌道に奇数個の電子を持っている金属錯体は、上記の錯体と同様の、z軸方向の歪みを持つことが知られている。 この歪みは、dx2–y2軌道とdz2軌道の縮退が解けることにより、エネルギーの利得が得られるためだと教えるのがヤーンテラー効果 (Jahn-Teller Effect ) の入門的な説明だ。 素直に考えて行けば、Co(II)に代表されるd7の電子配置を有する金属イオンや、ハイスピン状態をとったd4の金属イオンの八面体型錯体の場合、構造の対称性が低下することは容易に理解できる。 (縮退が自発的に解けることがポイントで、フラーレンラジカルアニオンのような高い対称性の骨格+奇数の電子をもつ有機分子でも起こることが知られている。) それではニッケル(II)ではどうなるのか(上図、中)?この場合も dx2–y2軌道とdz2軌道の縮退が解けるのではなかろうか。(d8では起こらないと習った気もする。) 学部生にこのことを教えていて引っかかったので、調べてみることにした。 多くの入門書には、「ヤーンテラー効果はd7やd9の配置の場合にみられる」とさらっと書いてあるにとどまり、d8の場合はヤーンテラーは出ないとだけ書いてある。 どこかの教授さまが記した講義資料を幾つか拝見するも、肝心な知りたいところが書いていない。 幾つかの英文サイトを逡巡して、丁寧に解説してあるものを見つけた。やはり、多少の論争もあるらしく(Niもヤーンテラーするよ派 vs しないよ派)、論争を踏まえた上で、やはりNi(II)はヤーンテラー効果が出ないとするものであった。 参照 http://www.adichemistry.com/inorganic/cochem/jahnteller/jahn-teller-distortion.html 以下、その解説の要約である。 ニッケル(II)の電子配置について、ハイスピン状態(HS)とロースピン状態(LS)の二つに分けて考える。 HS.「 ニッケル(II)のハイスピン錯体は、eg軌道に電子を詰め込む方法が一つしかない。 よって、軌道の対称性を崩そうにも、縮退

.log fileが開けない

ワークステーションに蓄積したスクラッチを消去した後、これまでに計算して作ったlogファイル等々、開けなくなった。 ファイル自体におかしいところはなさそうだし、ワークステーションとは別のコンピューターに入っているgauss viewからは開けるようだ。 分子の構造を描画する際にスクラッチファイルを読み込みに行っていることが原因と考えられたので、gauss viewの設定を変更することで解決できた。 File –> Preference –> File/Directory 「Scratch Directory」の設定を、Use GAUSS_SCRDIRからUse launch directoryへ変更することで、log ファイルが開ける様になった。 とりあえずの問題は解決したが、.chk の読み込みなど、他の挙動に影響はでるんだろうか。。

ラボのHP

ボスから、研究室のホームページを刷新せよとのご下命。 自身のページは、かんたんにオシャレなページができると一瞬話題になった、 strikingly で作っている。 シンポジウムのページもそれでサクッと作ったことがあるのだけれど、ボスの反応はいまいち芳しくない。 デザインがアグレッシブすぎのように感じてるのだろうけど、運用面でも独自ドメインでないのは少々問題なようだ。 WixとかJimdoなども少し検討したけど、ドメインを取得するには月1500円程度の使用量がかかるようだ。 いろいろと見て、最終、WordPressに行き着いた。 無料だし、オープンソースのコミュニティがしっかりしている(開発が継続的に行われている)し、勉強する手段も多そう。 すこし勉強してみよう。17/3/22

Lanl2DZの使い方

イメージ
第6周期の重〜い金属イオンの錯体の計算をかけることがあったので、備忘録。 金属錯体分子の計算は、有機分子と比較して扱う電子の数が増えるので、ただでさえ遅くなりますが、第5-6周期になると、なおのこと大変。 基底関数によっては、「Xeまでしか対応してません」とか言って、計算が止まる(参考:HCPシステムズの ホームページ )。 重い元素では、結合に関与してこない内核電荷を真面目に計算せずに、「凍結」した状態として扱う有効内核ポテンシャル近似 (ECP) を用いることが、わたし(遷移金属錯体)の分野では多いです(2017年現在)。いわゆる擬ポテンシャル(Pseudopotential)の一種。論文によっては、フローズンコアと書いている場合もあります。 具体的な手法としては、Lanl2DZ(ロスアラモス国立研究所発のメソッド)、あるいはSDD(シュトゥットガルト-ドレスデンのチーム発)になるかと思います。 [この記事に興味がある方は、もしかしてコッチも読んだほうが・・・ 「SDDを使った重原子を含む分子の計算」 https://whereareelectrons.blogspot.com/2019/07/sdd.html ] 中心金属にECP、配位子に一般的な(6-31G等)基底関数を使って組み合わせる際は、Lanl2DZはダブルゼータ、SDDはトリプルゼータレベルなので合わせた方がよい、という話もあるようです。(計算科学.comさんの 記事 ) (トリプルゼータレベルのLanl2TZなんてのもあるそうです。ただ、gaussian09まではデフォルトでは入っていないので、自分で設定してやることが必要なようです。) 今回計算した金属元素についてはLanl2DZを使っている論文がマジョリティーのようだったので、Lanl2DZを用いましたが、自分のコミュニティーの論文なんかを読んでいるとSDDが多い気がします。 具体的な計算方法 入力ファイルの B3LYP/(基底関数) の部分に、Lanl2DZといれるだけで、計算できます。 この場合、第一、二周期元素にはD95Vという基底関数があてられ、Na-Biの元素にはLos Alamos ECP で内核ポテンシャルを近似した上で、 ダブルゼータレベルの関数で価電子の軌道計算が行われます。 少し