0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

炭酸イオンを含むPOSCARを,POSCAR.nnlistを用いて判定し,その精度検証を行う(ログ)

Last updated at Posted at 2023-11-30

目的

目標

ある結晶構造が炭酸イオンを含むかどうかを判定する.加えて,その精度を検証する.

流れ

  • ある結晶構造が炭酸イオンを含むかどうかを判定.
    1.元素種C, Oを含むPOSCARファイルパスのリストを取得.
    2.炭酸イオンの大きさ(半径)を見積もる.その距離(半径)と,1. で得たPOSCARファイルからPOSCAR.nnlistファイルを作成する.
    3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
    4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

  • その精度を検証する.
    5-1.3.の炭酸イオンかどうかの判定の精度を検証するため,2.で指定する距離(炭酸イオンの半径)を変え,4.の炭酸イオンだと判定されるPOSCARファイルの数が変わるかどうかを確認する.
    (5-2.4.で取得した炭酸イオンを含むと判定されたPOSCARファイルを可視化して,炭酸イオンを含むかどうかを検証する.)

結果(グラフ版)

  • 検証5-1-1:POSCAR.nnlistの距離を変えることで,炭酸イオンを含む結晶構造の数がどう変わるかを確認した.
    → 1.60Å,1.65Åでは,その数が一定でかつそのPOSCARの種類は変わらなかった.
  • 検証5-1-2:方法1-1で抽出された数が変わったときに,その差分のPOSCARファイルを可視化して確認した.
    → 距離が1.65Åより大きいとき(1.70Åのとき),差分は炭酸イオンではなく,炭酸水素イオン(HCO3^2-)が含まれていた.
    → 距離が1.60Åより小さいとき(1.55Åのとき),差分は炭酸イオンではなく,Cの結合手が4本のものが含まれていた.
    → 局所的に見たら中心にC,周りにO3つの構造を,炭酸イオンだと補足してしまっている.
  • 検証5-1-3:1.60Å~1.65Åの間のPOSCARファイルを可視化させて目視確認した.
    → 10件ほどで炭酸イオンが含まれることを確認した  

rel_dist_posnum_CO3.png

詳細ログ

1.元素種C, Oを含むPOSCARファイルパスのリストを取得.

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

get_CO3-contained_nnlist_abs_path_list.ipynb* get_CO3-contained_nnlist_abs_path_list.py* my_package/ old/ sample.txt*

sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git

[sudo] password for morii-k:
Cloning into 'scripts_get_C_O_existed_poscar_abs_path_list'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 31 (delta 13), reused 24 (delta 6), pack-reused 0
Receiving objects: 100% (31/31), 1.68 MiB | 2.97 MiB/s, done.
Resolving deltas: 100% (13/13), done.

cd scripts_get_C_O_existed_poscar_abs_path_list/
ls -CF

get_C_O_existed_poscar_path_list.py* get_poscar_existed_path_list.py* sample_get_poscar_existed_path_list.py.txt*
get_C_O_existed_poscar_path_list.sh* old/

./get_C_O_existed_poscar_path_list.sh

len(poscar_folder_path_list): 507142
Now getting poscar folder sub path list!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 507142/507142 [08:08<00:00, 1038.73it/s]
len(poscar_existed_file_path_list): 308325
Both poscar_existed_file_path_list and poscar_existed_folder_path_list were saved as .npy
len(poscar_abs_path_list_loaded): 308325
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 308325/308325 [11:44<00:00, 437.72it/s]
len(C_O_existed_poscar_file_path_list): 205733
C_O_existed-poscar file, and folder path list were saved as .npy!!!

2.炭酸イオンの大きさ(半径)を見積もる.その距離(半径)と,1. で得たPOSCARファイルからPOSCAR.nnlistファイルを作成する.

Qiitaの記事[1]にて作成済みのため省略.
注)[1]では距離を1.7Åとして実行した.
[1] POSCARからneighbors listの作成(ログ) #Python3 - Qiita

3.と4.の詳細ログ

3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

cd ..
ls =CF

get_CO3_contained_poscar_path_list.py* my_package/ old/ sample_get_CO3_contained_poscar_path_list.py.txt* scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

time python3 get_CO3_contained_poscar_path_list.py 1.7

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:22<00:00, 1013.61it/s]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 617203/617203 [00:58<00:00, 10569.84it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:19<00:00, 792.81it/s]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 617199/617199 [01:01<00:00, 10080.29it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [57:06<00:00, 60.04it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1189/205733

real 67m3.767s
user 227m15.456s
sys 44m5.871s

ls -CF

CO3_contained_poscar_folder_path_list_1.7.npy* my_package/ scripts_get_C_O_existed_poscar_abs_path_list/
CO3_contained_poscar_path_list_1.7.npy* old/
get_CO3_contained_poscar_path_list.py* sample_get_CO3_contained_poscar_path_list.py.txt*

5-1.3.の炭酸イオンかどうかの判定の精度を検証するため,2.で指定する距離(炭酸イオンの半径)を変え,4.の炭酸イオンだと判定されるPOSCARファイルの数が変わるかどうかを確認する.

2.で見積もる炭酸イオンの大きさ(半径)を1.7Åからを幾通りかに変更する.
1.1Å:0件
1.29Å:362件
1.3Å:512件
1.4Å: , 1180件(ver2)
1.45Å: , 1242件(ver2)
1.5Å:1235件, 1234件(ver2)
1.55Å: , 1194件(ver2)
1.6Å: , 1189件(ver2)
1.65Å: , 1189件(ver2)← 炭酸イオンの熱化学半径は1.64Å
1.7Å:1189件, 1188件(ver2) 
1.9Å:1133件
2.1Å:1094件

予想としては,指定する距離が,炭酸イオンの大きさより大きくなると,NeighborsListで取得する炭酸イオン以外の原子数が多くなり,炭酸イオンと判定されるPOSCARファイルの数は0に近づく.
対して,指定する距離が,炭酸イオンの大きさより小さくなると,NeighborsListで取得する炭酸イオンを取得できなくなり,炭酸イオンと判定されるPOSCARファイルの数は0に近づく.

また,炭酸イオンと判定される数が最大となる距離が,炭酸イオンを最もよく取得できる距離である.

Qiitaの記事[1]と同じように,複数の距離(半径)を指定して,POSCAR.nnlistを作成する.
[1] POSCARからneighbors listの作成(ログ) #Python3 - Qiita

1.3Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: ←1.3と入力
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:33:34<00:00, 36.64it/s]
it took 5614.419535636902sec.

real 95m3.973s
user 159m2.670s
sys 57m57.416s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
`-- nnlist_1.7
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

2 directories, 7 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.3/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

CO3_contained_poscar_folder_path_list_1.7.npy* my_package/ scripts_get_C_O_existed_poscar_abs_path_list/
CO3_contained_poscar_path_list_1.7.npy* old/
get_CO3_contained_poscar_path_list.py* sample_get_CO3_contained_poscar_path_list.py.txt*

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.3に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.3

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:05<00:00, 1110.01it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 822934/822934 [03:08<00:00, 4357.58it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:07<00:00, 831.34it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:39<00:00, 4140.07it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:08:27<00:00, 50.08it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):512/205733

real 80m41.232s
user 120m41.792s
sys 39m5.489s

1.9Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: ← 1.9と入力
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:36:00<00:00, 35.71it/s]
it took 5761.030113458633sec.

real 96m18.947s
user 151m7.230s
sys 57m4.751s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_1.9
    |-- POSCAR.nnlist
    `-- poscar2nnlist_log.txt

3 directories, 10 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.9/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

CO3_contained_poscar_folder_path_list_1.3.npy* CO3_contained_poscar_path_list_1.7.npy* old/
CO3_contained_poscar_folder_path_list_1.7.npy* get_CO3_contained_poscar_path_list.py* sample_get_CO3_contained_poscar_path_list.py.txt*
CO3_contained_poscar_path_list_1.3.npy* my_package/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.3に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.9

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:02<00:00, 1127.08it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1028667/1028667 [03:58<00:00, 4307.37it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [07:36<00:00, 450.88it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:36<00:00, 4248.66it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:16:56<00:00, 44.57it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1133/205733

real 93m24.888s
user 161m10.355s
sys 39m27.325s

2.1Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 2.1 ←入力した

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    `-- poscar2nnlist_log.txt

4 directories, 13 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_2.1/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

CO3_contained_poscar_folder_path_list_1.3.npy* CO3_contained_poscar_path_list_1.7.npy* old/
CO3_contained_poscar_folder_path_list_1.7.npy* CO3_contained_poscar_path_list_1.9.npy* sample_get_CO3_contained_poscar_path_list.py.txt*
CO3_contained_poscar_folder_path_list_1.9.npy* get_CO3_contained_poscar_path_list.py* scripts_get_C_O_existed_poscar_abs_path_list/
CO3_contained_poscar_path_list_1.3.npy* my_package/

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を2.1に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 2.1

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:14<00:00, 1058.60it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1234400/1234400 [05:00<00:00, 4104.40it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:12<00:00, 815.71it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:42<00:00, 4011.33it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:17:14<00:00, 44.39it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1094/205733

real 91m49.332s
user 129m10.674s
sys 42m28.141s

1.1Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.1 ←入力した
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:32:31<00:00, 37.06it/s]
it took 5551.337497711182sec.

real 92m50.562s
user 154m57.971s
sys 61m59.684s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.1
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

5 directories, 16 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.1/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

CO3_contained_poscar_folder_path_list_1.3.npy* CO3_contained_poscar_path_list_1.7.npy* old/
CO3_contained_poscar_folder_path_list_1.7.npy* CO3_contained_poscar_path_list_1.9.npy* sample_get_CO3_contained_poscar_path_list.py.txt*
CO3_contained_poscar_folder_path_list_1.9.npy* CO3_contained_poscar_path_list_2.1.npy* scripts_get_C_O_existed_poscar_abs_path_list/
CO3_contained_poscar_folder_path_list_2.1.npy* get_CO3_contained_poscar_path_list.py*
CO3_contained_poscar_path_list_1.3.npy* my_package/

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.1に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.1

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:15<00:00, 1051.45it/s]100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1440133/1440133 [05:53<00:00, 4071.28it/s]100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:47<00:00, 716.21it/s]100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:43<00:00, 3982.60it/s]Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:06:01<00:00, 51.93it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):0/205733

real 81m59.022s
user 128m16.760s
sys 43m10.338s

1.5Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to
catch: 1.5 ← 入力した.
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:36:45<00:00, 35.44it/s]
it took 5805.28795003891sec.

real 96m53.816s
user 159m44.326s
sys 61m12.162s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.1
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.5
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

6 directories, 19 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.5/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

CO3_contained_poscar_folder_path_list_1.1.npy* CO3_contained_poscar_path_list_1.1.npy* get_CO3_contained_poscar_path_list.py*
CO3_contained_poscar_folder_path_list_1.3.npy* CO3_contained_poscar_path_list_1.3.npy* my_package/
CO3_contained_poscar_folder_path_list_1.7.npy* CO3_contained_poscar_path_list_1.7.npy* old/
CO3_contained_poscar_folder_path_list_1.9.npy* CO3_contained_poscar_path_list_1.9.npy* sample_get_CO3_contained_poscar_path_list.py.txt*
CO3_contained_poscar_folder_path_list_2.1.npy* CO3_contained_poscar_path_list_2.1.npy* scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.5に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.5

100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:36<00:00, 950.12it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1645866/1645866 [06:27<00:00, 4250.32it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:38<00:00, 740.02it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:34<00:00, 4349.59it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:18:06<00:00, 43.90it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1235/205733

real 94m38.732s
user 197m37.565s
sys 43m44.647s

1.2Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to
catch: 1.5 ← 入力した.
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:36:45<00:00, 35.44it/s]
it took 5805.28795003891sec.

real 96m53.816s
user 159m44.326s
sys 61m12.162s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.1
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.5
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

6 directories, 19 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.5/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

ls -CF

CO3_contained_poscar_folder_path_list_1.1.npy* CO3_contained_poscar_path_list_1.1.npy* get_CO3_contained_poscar_path_list.py*
CO3_contained_poscar_folder_path_list_1.3.npy* CO3_contained_poscar_path_list_1.3.npy* my_package/
CO3_contained_poscar_folder_path_list_1.7.npy* CO3_contained_poscar_path_list_1.7.npy* old/
CO3_contained_poscar_folder_path_list_1.9.npy* CO3_contained_poscar_path_list_1.9.npy* sample_get_CO3_contained_poscar_path_list.py.txt*
CO3_contained_poscar_folder_path_list_2.1.npy* CO3_contained_poscar_path_list_2.1.npy* scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.5に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.5

100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:36<00:00, 950.12it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1645866/1645866 [06:27<00:00, 4250.32it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:38<00:00, 740.02it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:34<00:00, 4349.59it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:18:06<00:00, 43.90it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1235/205733

real 94m38.732s
user 197m37.565s
sys 43m44.647s

1.29Åの場合

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.29 ← 入力した.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:29:22<00:00, 38.36it/s]
it took 5362.844165086746sec.

real 89m32.123s
user 154m6.251s
sys 59m1.928s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/1/00/00/1000000

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.1
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.29
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.5
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

7 directories, 22 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.29/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.29に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.29

time python3 get_CO3_contained_poscar_path_list.py 1.29
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:09<00:00, 1084.47it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1851599/1851599 [07:18<00:00, 4219.83it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [09:16<00:00, 369.88it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 617199/617199 [02:25<00:00, 4235.67it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [47:58<00:00, 71.46it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):362/205733

real 70m20.643s
user 171m31.076s
sys 46m10.532s

1.3(: added filter 2 ver.)

get_CO3_contained_poscar_path_list.pyにフィルターを追加した.これを用いて,再度距離1.3で実行.

time python3 get_CO3_contained_poscar_path_list.py 1.3

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:09<00:00, 1083.52it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1851599/1851599 [07:06<00:00, 4337.73it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [05:29<00:00, 623.66it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 617199/617199 [02:24<00:00, 4264.75it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [48:49<00:00, 70.24it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):512/205733

real 67m12.931s
user 175m0.002s
sys 46m26.615s

1.5(: added filter 2 ver.)

get_CO3_contained_poscar_path_list.pyにフィルターを追加した.これを用いて,再度距離1.3で実行.

time python3 get_CO3_contained_poscar_path_list.py 1.5

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:08<00:00, 1090.54it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1851599/1851599 [07:09<00:00, 4306.46it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [10:32<00:00, 325.46it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 617199/617199 [02:23<00:00, 4298.38it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [57:48<00:00, 59.31it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1234/205733

real 81m16.987s
user 229m11.523s
sys 43m43.566s

1.6Åの場合(: added filter 2 ver.)

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.6 ←入力した.
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:33:17<00:00, 36.76it/s]
it took 5597.050124883652sec.

real 93m31.137s
user 156m40.621s
sys 58m18.482s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/9/01/78/9017837

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.1
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.29
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.5
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.6
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

8 directories, 25 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.29/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.6に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.6

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:11<00:00, 1074.87it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2057332/2057332 [08:02<00:00, 4263.84it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [19:55<00:00, 172.11it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:35<00:00, 4287.81it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:22:11<00:00, 41.72it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1189/205733

real 115m13.712s
user 191m18.734s
sys 46m23.013s

1.4Åの場合(: added filter 2 ver.)

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

ls -CF

mk_nnlist_by_poscar2nnlist.py* neib_code.zip* sample_mk_nnlist_by_poscar2nnlist.py.txt* setup_poscar2nnlist.sh*
neib_code/ old/ scripts_get_C_O_existed_poscar_abs_path_list/

cat sample_mk_nnlist_by_poscar2nnlist.py.txt

how to use this commnad:
python3 mk_nnlist_by_poscar2nnlist.py

example:
python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.4 ←入力した.
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:29:31<00:00, 38.30it/s]
it took 5371.110774755478sec.

real 89m40.805s
user 158m36.805s
sys 57m52.490s

確認のため,ディレクトリ構造を例示する.:

pwd

/mnt/ssd_elecom_black_c2c_480G/cif/9/01/78/9017837

tree
.
|-- POSCAR
|-- cif2cell_log.txt
|-- nnlist_1.1
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.29
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.3
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.4
|   |-- POSCAR.nnlist
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.5
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.6
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.7
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
|-- nnlist_1.9
|   |-- POSCAR.nnlist
|   |-- POSCAR.nnlist.csv
|   `-- poscar2nnlist_log.txt
`-- nnlist_2.1
    |-- POSCAR.nnlist
    |-- POSCAR.nnlist.csv
    `-- poscar2nnlist_log.txt

9 directories, 28 files

各POSCARファイルが存在するディレクトリのサブディレクトリにnnlist_1.29/というディレクトリが作成され,
内部にPOSCAR.nnlistファイルが保存されているのが確認できる.

続いて,
3.2.で得たPOSCAR.nnlistファイルを用いて,POSCARファイルが炭酸イオンを含むかどうかを判定する.
4.3.で炭酸イオンだと判定されたPOSCARファイルパスの一覧を取得する.

ディレクトリを移動して,現在地を確認する.:

cd ../scripts_get_CO3-contained_nnlist_path_list
pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_get_CO3-contained_nnlist_path_list

cat sample_get_CO3_contained_poscar_path_list.py.txt

#requirment
sudo git clone https://github.com/k-morii-toridai/scripts_get_C_O_existed_poscar_abs_path_list.git
cd scripts_get_C_O_existed_poscar_abs_path_list
./get_C_O_existed_poscar_path_list.sh

#how to use
python3 get_CO3_contained_poscar_path_list.py
#注:はすでに作成済みのnnlistで指定した距離

#example
python3 get_CO3_contained_poscar_path_list.py 1.7

ここで,python3に渡す引数を1.6に指定して,実行する.:

time python3 get_CO3_contained_poscar_path_list.py 1.4

(略)
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1180/205733
(略)

1.55Åの場合(: added filter 2 ver.)

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.55
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:24:28<00:00, 40.59it/s]
it took 5068.716016054153sec.

real 84m39.070s
user 154m39.505s
sys 60m30.226s

time python3 get_CO3_contained_poscar_path_list.py 1.55

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:03<00:00, 1119.42it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2468798/2468798 [08:39<00:00, 4747.91it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:10<00:00, 820.51it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:29<00:00, 4608.69it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:16:16<00:00, 44.96it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1194/205733

real 93m59.316s
user 165m40.470s
sys 49m28.832s

1.45Åの場合(: added filter 2 ver.)

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.45
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:17:21<00:00, 44.32it/s]
it took 4641.5339868068695sec.

real 77m29.498s
user 147m11.557s
sys 54m29.465s

 time python3 get_CO3_contained_poscar_path_list.py 1.45

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [02:55<00:00, 1174.97it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2674531/2674531 [09:30<00:00, 4692.09it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:41<00:00, 927.97it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:27<00:00, 4726.83it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:00:43<00:00, 56.47it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1242/205733

real 78m31.473s
user 179m41.825s
sys 44m1.348s

1.65Åの場合(: added filter 2 ver.)

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.65
Now poscar2nnlist is making POSCAR.nnlist from POSCAR!!!
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:27:34<00:00, 39.15it/s]
it took 5254.614668369293sec.

real 87m44.312s
user 157m30.135s
sys 58m18.981s

cd ../scripts_get_CO3-contained_nnlist_path_list/
time python3 get_CO3_contained_poscar_path_list.py 1.65

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:23<00:00, 1010.82it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2880264/2880264 [10:55<00:00, 4394.84it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [04:22<00:00, 784.29it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 411466/411466 [01:35<00:00, 4311.13it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:03:53<00:00, 53.66it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1189/205733

real 84m26.614s
user 188m18.801s
sys 46m52.276s

1.70Åの場合(: added filter 2 ver.)

pwd

/mnt/ssd_elecom_black_c2c_480G/scripts/scripts_mk_nnlist

time python3 mk_nnlist_by_poscar2nnlist.py ./scripts_get_C_O_existed_poscar_abs_path_list/C_O_existed_poscar_folder_path_list.npy

Now loading poscar_folder_path_list from .npy file...
poscar_folder_path_list was loaded from .npy file!!!
len(poscar_folder_path_list): 205733
Input a number which is poscar2nnlist's second arg. :nearest neighbors distance(Å) you want to catch: 1.7
folder which name you inputted on command line, 1.7, was already existed.
So quit running this script.

real 0m14.662s
user 0m1.986s
sys 0m1.372s

cd ../scripts_get_CO3-contained_nnlist_path_list/
time python3 get_CO3_contained_poscar_path_list.py 1.7

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [03:24<00:00, 1006.20it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3038988/3038988 [11:38<00:00, 4350.91it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [05:15<00:00, 651.13it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 617199/617199 [02:26<00:00, 4210.65it/s]
Now, judging whether C_O_existed_poscar file is CO3-contained or not.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 205733/205733 [1:03:27<00:00, 54.03it/s]
len(CO3_contained_nnlist_path_list)/len(C_O_existed_poscar_nnlist_path_list)):1188/205733

real 86m30.943s
user 248m35.241s
sys 52m9.268s

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?