炭酸イオンを１つの点に置換した結晶構造の作成ログ

# 最終目標設定
既存の結晶構造から，炭酸イオン（CO<sub>3</sub><sup>2-</sup>）を１つの点に置換した新しい結晶構造を作成する．


## 今回行ったことの流れ
1．約30万個のPOSCARファイル<sup>※</sup>の中から，元素種C，Oを含むものを抽出する．
※ COD（Crystallography Open Database<sup>[1]</sup>）から得たcifファイルをcif2cell<sup>[2]</sup>を用いて，変換した．
2. 1. で抽出したPOSCARファイルから，各原子について1.7Å<sup>※</sup>以内の隣接原子がリスト化されたPOSCAR.nnlist（というテキストファイル）を作成する．
※ 炭酸イオンの熱化学半径は1.64Å<sup>[3]</sup>　
3. 2.で得たPOSCAR.nnlistから，隣接原子のリストに，Cを1つかつOを3つ含む，POSCAR.nnlistを抽出する．
4. 3.で抽出したPOSCAR.nnlistに対して，Cを1つかつOを3つ含む原子団のxyz座標を，各々の原子座標の相加平均で置き換える．
5. オリジナルと生成したPOSCARファイルを可視化して比較する．

[1] COD: https://www.crystallography.net/cod/
[2] cif2cell: https://github.com/torbjornbjorkman/cif2cell
[3] スマート，L．・Ｅ．ムーア 著，河本　邦仁・平尾　一之 訳，入門　固体化学，化学同人（1996）

## 1. の詳細（：約30万個のPOSCARファイルの中から，元素種C,Oを含むものを抽出）
* get_poacar_file_folder_abs_path_list.py[<sup>[4]</sup>
    * 入力：COD<sup>[1]</sup>からダウンロードしたcifファイルを変換したPOSCARファイル約30万件が入ったディレクトリ(：308325件)

    * 出力：poscar_abs_path_list.npy

* get_C_O_existed_poscar_abs_path_list.py<sup>[5]</sup>
    * 入力：poscar_abs_path_list.npy
    * 出力：C_O_existed_poscar_abs_path_list.npy

* get_C_O_existed_poscar_folder_abs_path_list.py<sup>[6]</sup>
    * 入力：C_O_existed_poscar_abs_path_list.npy
    * 出力：C_O_existed_poscar_folder_abs_path_list.npy

[4] https://github.com/k-morii-toridai/scripts_get_poscar_abs_path_list.git
[5] https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
[6] https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_folder_abs_path_list.git


## 2. の詳細（：各原子について1.7Å以内の隣接原子のリストPOSCAR.nnlistを作成）
* mk_nnlist_by_poscar2nnlist.py<sup>[7]</sup>
    * 準備（requirment）：poscar2nnlist<sup>[8]</sup>
    * 入力：POSCAR<sup>※</sup>
        * ※ C_O_existed_poscar_folder_abs_path_list.npyで各POSCARの絶対パスを指定
    * 出力：POSCAR.nnlist
        * 出力先：各ディレクトリ

[7] https://github.com/k-morii-toridai/scripts_mk_nnlist.git
[8] 研究室で作成されたfortranで書かれたバイナリファイル．各環境でビルドする必要がある．


## 3. の詳細（：隣接原子のリストに，Cを1つかつOを3つ含むPOSCAR.nnlistと親フォルダのリストを抽出）
* get_CO3-contained_nnlist_abs_path_list.py<sup>[9]</sup>
    * 入力：C_O_existed_poscar_folder_abs_path_list.npy
    * 出力：CO3_contained_nnlist_abs_path_list.npy

* get_CO3_contained_poscar_folder_abs_path_list.py<sup>[10]</sup>
    * 入力：CO3_contained_nnlist_abs_path_list.npy
    * 出力：CO3_contained_poscar_folder_abs_path_list.npy

[9] https://github.com/k-morii-toridai/scripts_get_CO3-contained_nnlist_abs_path_list.git
[10] https://github.com/k-morii-toridai/scripts_get_CO3-contained_poscar_folder_abs_path_list.git


## 4. の詳細（：Cを1つかつOを3つ含む原子団のxyz座標を，各々の原子座標の相加平均で置換）
* mk_CO3-clusterd_poscar.py<sup>[11]</sup>
    * 入力：POSCAR, POSCAR.nnlist
    * 出力：POSCAR

* do_mk_CO3-clusterd_poscar.py.py<sup>[11]</sup>
    * 入力：mk_CO3-clusterd_poscar.py，CO3_contained_poscar_folder_abs_path_list.npy
    * 出力：各ディレクトリでmk_CO3-clusterd_poscar.pyの出力

[11] https://github.com/k-morii-toridai/scripts_mk_CO3-clusterd_poscar.git


## 5. の詳細（：オリジナルと生成したPOSCARファイル可視化して比較）
VESTA（Visualization for Electronic and STructural Analysis）<sup>[12]</sup>を用いて，各結晶構造を可視化した．以下，左図にオリジナル，右図に生成したものを配置している．

[12] https://jp-minerals.org/vesta/jp/


* 例1）1000033（：BaCO<sub>3</sub>）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/32ea9978-7345-da47-4518-3e51fa8e4359.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/6cbcbc5a-7b13-51a4-fdfd-6746c181f473.png)



* 例2）1000320（：Ba<sub>3</sub>ScCO<sub>3</sub>F<sub>7</sub>）

注）Ba<sup>2+</sup>，Sc<sup>3+</sup>，F<sup>-</sup>，CO<sub>3</sub><sup>2-</sup>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/e52475af-79ee-7051-4f48-159653b07ab1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/4ca45444-2049-7eb9-2508-295058f372df.png)



* 例3）1000372（：KCuCO<sub>3</sub>F）
注）K<sup>+</sup>，Cu<sup>2+</sup>，CO<sub>3</sub><sup>2-</sup>，F<sup>-</sup>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/beb54a6a-d518-a7e9-06b5-39636588beba.png)


* 例4）1000459（：Ca<sub>4</sub>Al<sub>2</sub>(OH)<sub>12</sub>CO<sub>3</sub>(H<sub>2</sub>O)<sub>5</sub>）
注）Ca<sup>2+</sup>，Al<sup>3+</sup>，OH<sup>-</sup>，CO<sub>3</sub><sup>2-</sup>，H<sub>2</sub>O

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/db20d720-f874-f8c8-2393-2dba13db687f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487151/f45cdd9a-2047-aee9-48d3-1c8f4e0d499a.png)