Ubuntu24.04 에 aiida-quantumespresso 4.6 설치하기

By | 2024년 06월 15일

여기서는 ubuntu 24.04.1 에 aiida-quantumespresso 4.6 설치하는 방법에 대하여 정리하였다.
aiida-quantum espresso대한 내용은 여기를 참조한다.

1 quantum espresso 설치

먼저 Quantum espresso를 설치해야 하는데 방법에 대해서는 이전 posting을 참조한다.

2. 관련 패키지 설치

다음과 같은 명령을 실행하여 필요한 pkg를 설치한다.

$ sudo apt install git python3-dev python3-pip python3.12-venv
$ sudo apt install postgresql postgresql-server-dev-all postgresql-client rabbitmq-server 

그리고 rabbitmq 설정 파일에 다음을 넣어준다.

$ sudo vim /etc/rabbitmq/rabbitmq-env.conf
## 10,000 hours in milliseconds
consumer_timeout=36000000000 

그리고 rabbitmq-server를 다시 시작한다.

$ sudo systemctl restart rabbitmq-server

3. AiiDA (core) 설치

먼저 virtual enviroment를 만들어 준다.

$ python -m venv ~/envs/aiida
$ source ~/envs/aiida/bin/activate

그리고 다음을 실행한다.

(aiida) $ pip install wheel
(aiida) $ pip install aiida-core
(aiida) $ pip install aiida-core[atomic_tools,docs]

특별한 에러 메시지가 없다면 이로써 aiida pkg는 설치되었다. rabbitmq-server의 버전 문제에 대한 워닝메시지를 막기위해 다음의 명령을 수행한다.

(aiida) $ verdi config set warnings.rabbitmq_version False

Tab completion을 워한 다면 다음을 ~/.bashrc 또는 ~/.bash_profile 에 다음 내용을 넣어준다.

#
eval $(_VERDI_COMPLETE=bash_source verdi)
#

4. Aiida profile setup

aiida 설치 후 profile을 설정한다. 이 과정에 대한 자세한 내용은 여기 를 참조하기 바란다.

(aiida) $ verdi quicksetup
Info: enter ? for help
Info: enter ! to ignore the default and set no value
Profile name: prof1
Email Address (for sharing data): me@user.com
First name: my
Last name: name
Institution: where-i-work

$ verdi profile show prof1
Report: Profile: prof1
PROFILE_UUID: xxxxxxxxxxxxxxxxxxxxxxxxxxx
default_user_email: me@gmail.com
options:
  warnings.rabbitmq_version: false
process_control:
  backend: rabbitmq
  config:
    broker_host: 127.0.0.1
    broker_password: guest
    broker_port: 5672
    broker_protocol: amqp
    broker_username: guest
    broker_virtual_host: ''
storage:
  backend: core.psql_dos
  config:
    database_engine: postgresql_psycopg2
    database_hostname: localhost
    database_name: prof1_me_xxxxxxxxxxxxxxxxxxxxxxx
    database_password: xxxxxxxxxxxxxxxxxx
    database_port: 5432
    database_username: aiida_qs_me_3a9ffc1aa329784eee9a5ce8a1c13997
    repository_uri: file:///home/me/.aiida/repository/prof1
test_profile: false

5. Verdi 사용하기

5.1 verdi daemon 시작하기

다음과 같은 방법으로 verdi daemon을 시작한다.

(aiida) $ verdi daemon start 2
Starting the daemon with 2 workers... OK

만약 아래와 같은 에러가 발생하면,

Starting the daemon with 2 workers.verdi daemon start 2.. FAILED

다음의 명령을 실행한다.

$ verdi daemon start-circus --foreground

5.2 설정 상태 확인

다음의 명령으로 verdi 의 상태를 확인한다.

(aiida) $ verdi status
✔ version:     AiiDA v2.5.2
✔ config:      /home/me/.aiida
✔ profile:     host1
✔ storage:     Storage for 'host1' [open] @ postgresql://.........
✔ rabbitmq:    Connected to RabbitMQ v3.12.1 as amqp://guest:guest@127.0.0.1:5672?heartbeat=600
✔ daemon:      Daemon is running with PID 6450

5.3 Verdi computer setup

computer 를 다음과 같은 방법으로 설정한다.

(aiida) $ verdi computer setup
Computer label: dia
Hostname: diamond
Description []: my computer
Transport plugin: core.local
Scheduler plugin: core.slurm
Shebang line (first line of each script, starting with #!) [#!/bin/bash]: 
Work directory on the computer [/scratch/{username}/aiida/]: /home/me/Works/aiida
Mpirun command [mpirun -np {tot_num_mpiprocs}]: 
Default number of CPUs per machine: 8
Default amount of memory per machine (kB).: 64000000
Escape CLI arguments in double quotes [y/N]: y

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 2

Success: Computer<1> dia created
Report: Note: before the computer can be used, it has to be configured with the command:
Report:   verdi -p me -qe1 computer configure core.local dia
(aiida) $ verdi -p me -qe1 computer configure core.local dia

To list computer

$ verdi computer list 
$ verdi computer show dia1
--------------  ------------------------------------
Label           dia
PK              3
UUID            38637a2d-b388-4344-8cc5-c8b8bd0cf20c
Description     my computer
Hostname        diamond
Transport type  local
Scheduler type  slurm
Work directory  /home/me/Works/aiida
Shebang         #!/bin/bash
Mpirun command  mpirun -np {tot_num_mpiprocs}
Prepend text
Append text
--------------  ------------------------------------

5.4 Code Setup

aiida를 사용하여 계산을 하려는 경우, 컴파일된 실행파일을 verdi code 로 설정하여야 한다.
이미 설정되어 있는 code 목록을 보려면 다음의 명령을 실행한다.

(aiida) $ verdi code list

여기서는 quantum espresso 실행파일을 code로 등록하여야 하는데 아래의 방법을 따라 코드로 등록한다.

aiida-quantumespresso 설치

먼저 aiida-quantum-espresso를 설치한다.

(aiida) $ pip install aiida-quantumespresso

이문서를 작성하는 시점에서는 aiida-quantumespresso 최신 버전인 4.6.0 이 설치된다.

설치 후 선호하는 편집기를 사용하여 다음의 파일을 만들고 아래의 내용을 넣어준다.

code-pw73.yml

label: "qe-73-pw"
description: "quantum_espresso v7.3"
input_plugin: "quantumespresso.pw"
on_computer: true
remote_abs_path: "/usr/local/qe/qe-73/bin/pw.x"
computer: "dia"
prepend_text: "ulimit -s unlimited"
append_text: " "

그리고 다음의 명령을 실행한다.

$ verdi code setup --config code-pw73.yml

ph.x, pp.x, cp.x ... 등도 같은 방법으로 설정한디.

설정된 code의 리스트를 보려면

$ verdi code list
# List of configured codes:
# (use 'verdi code show CODEID' to see the details)
* pk 103 - qe-7.3-pw@dia
* pk 104 - qe-7.3-dos@dia
* pk 105 - qe-7.3-cp@dia
* pk 106 - qe-7.3-create_kpoints_from_distance@dia
* pk 107 - qe-7.3-epw@dia
* pk 108 - qe-7.3-matdyn@dia
* pk 109 - qe-7.3-namelists@dia
* pk 110 - qe-7.3-neb@dia
* pk 111 - qe-7.3-ph@dia
* pk 112 - qe-7.3-pp@dia
* pk 113 - qe-7.3-projwfc@dia
* pk 114 - qe-7.3-pw2gw@dia
* pk 115 - qe-7.3-pw2wannier90@dia
* pk 116 - qe-7.3-pwimmigrant@dia
* pk 117 - qe-7.3-q2r@dia
* pk 118 - qe-7.3-seekpath_structure_analysis@dia

pseudopotentials 설치

sssp pseudopotential을 다음의 명령을 실행하여 설치한다.

$ pip install aiida-pseudo
$ aiida-pseudo install sssp -v 1.3 -x PBEsol -p efficiency 
$ aiida-pseudo install sssp -v 1.3 -x PBE -p efficiency 

Pseudo Dojo library를 설치하려면 다음과 같이한다. ```

$ aiida-pseudo install pseudo-dojo

설치된 포텐셜 라이브러리는 다음의 명령으로 확인할 수 있다. ```

$ aiida-pseudo list

6. Jupyter 설치하기

jupyter 를 다음과 같이 설치한다.

$ pip install jupyterlab
$ jupyter notebook

jupyter notebook에서 the aiida magics extension 을 로딩하려면 다음의 명령을 실행한다.

%load_ext aiida

그리고 VERDI profile을 다음과 같은 방법으로 로딩한다.

%aiida
%verdi status

로딩시 에러가 발생하는 경우 다음과 같이 추가 설치 및 설정을 한다.

$ source ~/env/aiida/bin/activate
(aiida) $ pip install ipykernel
(aiida) $ python -m ipykernel install --user --name=aiida_venv

$ cp -r  ~/envs/aiida/lib/python3.10/site-packages/aiida/tools/ipython/*  ~/.ipython/profile_default/startup/

7. Slurm 스케줄러 설치

이전 포스팅인 "Ubuntu 20.4 에 SLURM 스케줄러 설치하기" 를 참조한다.

8. 테스트

이렇게 설치한 aiida-quantumespresso 응 이용하여 예를 계산하여 보자.

BaTiO3 예 를 사용해 보자.

계산시 \'pw-6.3@TheHive\' ==> 설치된 code core.struture ==> strucutre core.dict ==> dict core.array.kpoints ==> array.kpoints

으로 수정하여 사용한다.

여기에 정리한 방법으로 단일 컴퓨처에서는 작동하는 것을 확인하였으나 cluster에서는 아직 작동하지 않는다. cluster에 설치하는 방법에 대해서는 추후에 정리하고자 한다.

References

  1. aiida-core 설치
  2. aiida-quamtumespresso 설치
  3. rabbitmq-cluster 설치

답글 남기기