FC2ブログ

Perl 学習:MSVcif2xyz

2019-11-27 :  PCクリニック
前(2019-11-13)の記事:「Perl 学習:CIF2Cell 三度目」では、

(任意の)CIF形式ファイルを入力して、
PythonプログラムのCIF2Cellを使って、
XYZ形式ファイルを出力するPerlプログラムを作った。


今度は、
(任意の)形式のファイルからMSVでExportした、
CIF形式ファイルを入力して、
XYZ形式ファイルを出力するPerlプログラムを作った。
 (注)CIF形式でExport出来るのは、結晶定義されているものだけ。


ここで、タイトルにあるMSVcif2xyzとは、
上記の如く、
「MSVがExportしたcifファイルからxyzファイルを作る」
ことを略した<紙>の(勝手な)命名である。



それで、
MSV でExportしたcifファイルは、
以下のような構造となっている。

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

loop_
_symmetry_equiv_pos_as_xyz
x,y,z
_cell_length_a 10.0000
_cell_length_b 10.0000
_cell_length_c 10.0000
_cell_angle_alpha 90.0000
_cell_angle_beta 90.0000
_cell_angle_gamma 90.0000

・・・・・
・・・・・

loop_
_atom_site_label
_atom_site_type_symbol
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
_atom_site_U_iso_or_equiv
_atom_site_adp_type
_atom_site_occupancy
S1 S 0.00310 -0.00040 0.00372 0.00000 Uiso 1.00
O2 O 0.15128 0.00156 -0.09491 0.00000 Uiso 1.00
O3 O 0.27070 -0.00079 -0.00748 0.00000 Uiso 1.00
H4 H 0.36242 0.00054 -0.07047 0.00000 Uiso 1.00
O5 O -0.13953 0.00239 -0.10278 0.00000 Uiso 1.00
O6 O 0.00135 0.14260 0.10967 0.00000 Uiso 1.00
O7 O 0.00084 -0.14813 0.10298 0.00000 Uiso 1.00
H8 H -0.23199 0.00069 -0.04088 0.00000 Uiso 1.00

・・・・・
・・・・・


それで、

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

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



本日はここまで。


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


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

191011
関連記事
スポンサーサイト



コメントの投稿

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

人気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
ブックマーク