Cif2cell (https://sourceforge.net/projects/cif2cell/files/latest/download) から第一原理計算用入力ファイル.inを作成する方法の備忘録。とにかくcif2cellを動すことが目標としている。次の動画を主に参照している。(https://www.youtube.com/watch?v=yPUjTDWIMOU&list=LL&index=2&t=210s)
環境:Ubuntu
まずCif2cellはUbuntuに標準搭載のpython3では動かないらしい(筆者は試していないが)ためUbuntuにpython2を入れる。
$ sudo apt upgrade
$ sudo apt -y install python2 python-setuptools python2-dev
次にCif2cellのホームページから(https://sourceforge.net/projects/cif2cell/files/latest/download) からcif2cell-1.2.10.tar.gzをダウンロードし、任意のディレクトリ中で解凍する。
$ tar -zxvf cif2cell-1.2.10.tar.gz
次にpython2をデフォルトで使用できるようにする。筆者は次の方を参考にした。(https://qiita.com/piyo_parfait/items/5abbe4bee2495a62acdc) 現段階でどのpythonが入っているか、確認する。
~$ which python2
/usr/bin/python2
~$ ls /usr/bin/ | grep python
python2
python2-config
python2.7
python2.7-config
python3
python3-config
python3.10
python3.10-config
x86_64-linux-gnu-python2-config
x86_64-linux-gnu-python2.7-config
x86_64-linux-gnu-python3-config
x86_64-linux-gnu-python3.10-config
python2は2.7 python3は3.10が入っていることがわかります。下記の通り入力し python2.7を優先度1、python3.10を優先度2で登録しておきます。
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 #python3.6を優先順位1で登録
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2 #python2.7を優先順位2で登録
登録されたpythonの、優先順位を確認しpython2に設定する。
$ sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.10 2 auto mode
1 /usr/bin/python2.7 1 manual mode
2 /usr/bin/python3.10 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
再びcif2cell-1.2.10のディレクトリ内に入って確認
$ cd cif2cell-1.2.10
$ ls
ESPInterfaces.py LICENSE PyCifRW-3.3.tar.gz cif2cell docs setup.py uctools.py
HOWTOCITE PKG-INFO README cifs elementdata.py spacegroupdata.py utils.py
PyCifRW-3.3.tar.gzを解凍
$ tar -zxvf PyCifRW-3.3.tar.gz
PyCifRW-3.3中に入ってsetup.pyを実行
$ cd PyCifRW-3.3
$ sudo python2 setup.py install
cif2cell-1.2.10に戻ってsetup.pyを実行
$ cd ..
$ sudo python2 setup.py install
ここまででCif2cellの環境構築は終了。
(https://www.crystallography.net/cod/) から適当なcifを持ってきて保存。cifファイルを保存したディレクトリに移動し確認。今回は1010196.cifで保存している。
$ ls
1010196.cif
細かいコマンドは別の投稿で解説する予定。対称性を保った形で.inファイルを作成する。.cifを最後に書く。
cif2cell --force -p pwscf --setup-all --print-symmetry-operations --pwscf-atomic
-units --pwscf-pseudostring=.pbe-spn-kjpaw_psl.1.0.0.UPF -f 1010196.cif
同じディレクトリ中に.inファイルが作成されている。
$ ls
1010196.cif name.in