FC2ブログ

Perl 学習:CIF2Cell 三度目

2019-11-13 :  PCクリニック
5年前(2014-02-13)の記事:「CIF2Cell」で、
  ・・・・・
  ・・・・・
  これは!!!
  「CIF」形式ファイルは、(<紙>にとっては)難しいものだが、
  此を読み込んで、例えば、構成原子の座標データが得られる???
  ・・・・・
  ・・・・・
と書いている。

更に、
その4ヶ月後(2014-06-28)の記事:
Python 学習:CIF2Cell 再び」で書いた如く、
WinPython”版CIF2Cellを作った。


今回、
 “Anaconda”版CIF2Cellを作り、
 これを使って、“Perl”スクリプトで、XYZ形式ファイルに変換する。
プログラムを作った。


CIF2Cell は、Python スクリプトなので、
Perl だけでの処理では無いのだが、・・・・・

そこは、
昨年(2018-02-09)の記事:
Anaconda 学習:スクリプトを exe ファイル化」で書いている手段で、
exe化してしまう?(出来るものは巨大サイズだが)

と云うことで、Perl だけでの処理と考える。



それで、
  "Python cif2cell $file.cif --no-reduce --supercell=[1,1,1]"
として起動したCIF2Cell の出力は、
以下のような構造となっている。

初めの方に、結晶格子情報があり、
終わりの方に、基本セル内の原子位置情報がある:
・・・・・
・・・・・

Lattice parameters:
a b c
4.7607000 4.7607000 12.9947000
alpha beta gamma
90.0000000 90.0000000 120.0000000

・・・・・
・・・・・

All sites, (lattice coordinates):
Atom a1 a2 a3
Al 0.3521600 0.3521600 0.3521600
Al 0.1478400 0.1478400 0.1478400
Al 0.8521600 0.8521600 0.8521600
Al 0.6478400 0.6478400 0.6478400
O 0.5561000 0.9439000 0.2500000
O 0.9439000 0.2500000 0.5561000
O 0.2500000 0.5561000 0.9439000
O 0.4439000 0.0561000 0.7500000
O 0.0561000 0.7500000 0.4439000
O 0.7500000 0.4439000 0.0561000

・・・・・
・・・・・


そこで、
(1)結晶格子情報については、
結晶格子の座標変換」の、

 2009/10/22 : 理科部 部活 : 結晶格子の座標変換2
か、
 2009/10/02 : 理科部 部活 : 結晶格子の座標変換
にある処理コードに従って、
3次元空間座標でのベクトルに変換して、


(2)基本セル内の原子位置情報
上記ベクトルで、3次元空間座標値に変換する。

と云うことで、
cif形式ファイルからxyz形式ファイルに変換出来ますネ?



本日はここまで。


Perl の学習もまだまだ続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

191004
関連記事

コメントの投稿

管理者にだけ表示を許可する

人気blog Ranking



最新記事
カレンダー
07 | 2021/08 | 09
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

FC2 / i2i / Google




Google Analytics
ブックマーク