QFlow ๆฏไธไธช็จไบ็ฎก็่ฎก็ฎๆๆๅญฆๅทฅไฝๆต็ไปปๅก่ฐๅบฆ็ณป็ป๏ผๆฏๆ็ปๆไผๅใๅฃฐๅญ่ฎก็ฎใQHA๏ผๅ่ฐ่ฟไผผ๏ผ่ฎก็ฎ็่ชๅจๅๆต็จ็ฎก็ใๆฏๆ MatterSim ๅ VASP ไธค็ง่ฎก็ฎๅ็ซฏ๏ผไฝฟ็จ Phonopy ่ฟ่กๅฃฐๅญ่ฎก็ฎๅๅๅค็ใ
็น็น๏ผ
- ๅบไบ SQLite ๆฐๆฎๅบ็ไปปๅก้ๅ็ฎก็
- ๆฏไธช่ฎก็ฎไปปๅก็ฌ็ซๆไบค sbatch๏ผๅ ๅๅฉ็จ้็พค่ตๆบ
- Manager ่ฟ็จ่ด่ดฃไปปๅก่ฐๅบฆๅๅๅค็
- ๆฏๆ VASP ๅ MatterSim ไธค็ง่ฎก็ฎๅ็ซฏ
- ่ชๅจ่้ขๆฃๆตๅๆ ่ฎฐ
- ๆบ่ฝ่ถ ่็ๆ็ฎๆณ๏ผๆปก่ถณๆๅฐๅๅญๆฐๅ่พน้ฟ็บฆๆ็ๆไผ่ถ ่๏ผ
- ไปปๅกไผๅ ็บง๏ผopt > phonon > qha
- ็บง่ๅ ้คๆบๅถ๏ผ้็ฝฎไธๆธธไปปๅกๆถ่ชๅจๅ ้คไธๆธธไปปๅก๏ผ
# ๅ
้ไปๅบ
git clone https://github.com/liuzf/qflow.git
cd qflow
# ๅฎ่ฃ
๏ผๆจ่ไฝฟ็จๅทฒๆ็conda็ฏๅข๏ผ
pip install -e .
# ้ช่ฏๅฎ่ฃ
qflow --helpconfig.yaml ้ ็ฝฎๆไปถ๏ผ
# ๅทฅไฝ็ฎๅฝ
work_dir: .
# Manager้
็ฝฎ
manager:
structures_dir: ./qha_structures # ็ปๆๆไปถ็ฎๅฝ
scan_interval: 10 # ๆซๆ้ด้๏ผ็ง๏ผ
max_workers: 25 # ๆๅคงๅนถๅไปปๅกๆฐ
qha: true # ๅผๅฏ QHA ๅทฅไฝๆต
bte: false # ๅผๅฏ BTE ๅทฅไฝๆต
plain_submit: false # true ๆถไป
่ท่ธชๅนถๆไบคๅทฒๆ task.*๏ผไธ็ๆไธๆธธไปปๅก
# Worker้
็ฝฎ
worker:
mode: vasp # ่ฎก็ฎๆจกๅผ: vasp ๆ mattersim
vasp_cmd: "mpirun vasp_std" # VASPๆง่กๅฝไปค
# SLURM้
็ฝฎ
slurm:
nodes: 1
ntasks_per_node: 32
partition: cpu
time: "150:00:00" # Managerๆถ้ด้ๅถ
extra_commands: # ็ฏๅขๅ้่ฎพ็ฝฎ
- export LD_LIBRARY_PATH=/path/to/libs:$LD_LIBRARY_PATH
# ็ปๆไผๅ้
็ฝฎ
opt:
fmax: 0.01 # ๅๆถๆๆ ๅ (eV/Angstrom)
refine_structure: true # ๆฏๅฆๅจไผๅๅๆ ๅๅๆถๆ ผ๏ผๆจ่ๅฏ็จ๏ผ
# ๅฃฐๅญ่ฎก็ฎ้
็ฝฎ
phonon:
supercell: null # ่ถ
่็ฉ้ต๏ผnull่กจ็คบ่ชๅจ่ฎก็ฎ
max_atoms: 300 # ๆๅคงๅๅญๆฐ้ๅถ
min_atoms: 100 # ๆๅฐๅๅญๆฐ๏ผ็กฎไฟ่ถณๅค็ฒพๅบฆ๏ผ
min_length: 10.0 # ๆๅฐ่พน้ฟ (ร
)๏ผ็กฎไฟๅฃฐๅญๆถๆ
displacement_distance: 0.01 # ไฝ็งป่ท็ฆป (Angstrom)
t_min: 0 # ็ญๅๅญฆๆง่ดจๆไฝๆธฉๅบฆ (K)
t_max: 1000 # ็ญๅๅญฆๆง่ดจๆ้ซๆธฉๅบฆ (K)
t_step: 10 # ๆธฉๅบฆๆญฅ้ฟ (K)
# QHA่ฎก็ฎ้
็ฝฎ
qha:
volumes: [0.98, 0.99, 1.0, 1.01, 1.02] # ไฝ็งฏ็ผฉๆพๅ ๅญ
pressure: 0 # ๅๅ (GPa)
t_min: 0 # ๆไฝๆธฉๅบฆ (K)
t_max: 800 # ๆ้ซๆธฉๅบฆ (K)
t_step: 10 # ๆธฉๅบฆๆญฅ้ฟ (K)
# POTCAR่ฎพ็ฝฎ
potcar:
functional: PBE_54 # POTCAR็ๆฌ: PBE, PBE_52, PBE_54, PBE_64
# VASP ่พๅ
ฅ้้ๆฉ
# ๅฏ้ๅผ: matpes | mpstatic | mprelax
vasp_sets:
opt: mprelax
qha_opt: mprelax
bte_opt: mprelax
phonon: matpes
plain: matpes
# VASP INCAR่ฎพ็ฝฎ๏ผ่ฆ็pymatgen้ป่ฎคๅผ๏ผ
incar:
opt:
ALGO: Normal
EDIFF: 1.0e-07
EDIFFG: -1.0e-03
IBRION: 1
ISIF: 3
ISMEAR: 0
KSPACING: 0.2
LREAL: False
NELM: 100
NSW: 99
PREC: Accurate
SIGMA: 0.01
NPAR: 4
phonon:
ALGO: Normal
EDIFF: 1.0e-08
IBRION: -1
ISMEAR: 0
LREAL: False
NELM: 200
NSW: 0
PREC: Accurate
SIGMA: 0.05
LCHARG: False
LWAVE: False
NPAR: 4
plain:
ALGO: Normal
EDIFF: 1.0e-08
IBRION: -1
ISMEAR: 0
LREAL: False
NELM: 200
NSW: 0
PREC: Accurate
SIGMA: 0.05
LCHARG: False
LWAVE: False
NPAR: 4plain_submit: true ๆถ๏ผManager ๅช้ๅฝๆซๆๅนถ่ท่ธชๅทฒๆ็ task.* ็ฎๅฝ๏ผไธ่ชๅจ็ๆ optใphononใqhaใbte ไปปๅก๏ผไนไธๅๅๅค็ใ
VASP ๆจกๅผไธ๏ผ
task.*ไผ่ฏปๅincar.plain- ๅนถๆ
vasp_sets.plain้ๆฉ่พๅ ฅ้ - ๅฆๆๆฒกๆ้
็ฝฎ
incar.plain๏ผไผๅ้ๅฐincar.phonon๏ผๅๅ้ๅฐincar.opt
็ปๆๆไปถ็ฎๅฝ๏ผ
qha_structures/
โโโ mp-10172/
โ โโโ POSCAR
โโโ mp-1022/
โ โโโ POSCAR
โโโ ...# ๅฏๅจ Manager๏ผๆไบคๅฐ SLURM๏ผ
qflow manager run
# ๆฅ็็ถๆ
qflow status
# ๆฅ็ๆญฃๅจ่ฟ่ก็ไปปๅก่ฏฆๆ
qflow status --runningqflow status่พๅบ็คบไพ๏ผ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโ
โ Stage โ Pending โ Running โ Success โ Failed โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ Optimization โ 0 โ 0 โ 93 โ 0 โ
โ Phonon โ 23 โ 6 โ 197 โ 0 โ
โ QHA โ 743 โ 19 โ 26 โ 0 โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ Total โ 766 โ 25 โ 316 โ 0 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโ
โ ๅญๅจ่้ข็็ปๆ: 34/93
ๆ่ฟ6ๅฐๆถๅนณๅๆง่กๆถ้ด:
opt: 6.6 min (ๆ ทๆฌ: 20)
phonon: 26.1 min (ๆ ทๆฌ: 43)
qha: 7.0 min (ๆ ทๆฌ: 26)
้ข่ฎกๅฉไฝๆถ้ด: 3.9 ๅฐๆถ (ๅนถๅ: 25)
qflow status --running่พๅบ็คบไพ๏ผ
ๆญฃๅจ่ฟ่ก็ไปปๅก (25 ไธช):
====================================================================================================
Path Type Time SCF Info
----------------------------------------------------------------------------------------------------
qha_structures/mp-23162/opt opt 8.7 min ion=8 e=27 rms=0.560E-04
qha_structures/mp-23240/opt opt 8.1 min ion=6 e=23 rms=0.440E-04
qha_structures/mp-1434/volume_1.0/task.000000 phonon 8.8 min
...
ion=8: ๅทฒๅฎๆ8ไธช็ฆปๅญๆญฅe=27: ๅฝๅ็ฆปๅญๆญฅๆง่กไบ27ไธช็ตๅญๆญฅrms=0.560E-04: ๆๅไธไธช็ตๅญๆญฅ็rmsๅผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Manager (SLURM Job) โ
โ qflow manager run โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1. ๆซๆ็ปๆ็ฎๅฝ๏ผ็ๆไปปๅก โ
โ 2. ๆไผๅ
็บงๆไบค sbatch ไปปๅก๏ผopt > phonon > qha๏ผ โ
โ 3. ไปฅๆฐๆฎๅบไธบไธป่ท่ธชไปปๅก็ถๆ๏ผ่ฟ่กๆๅ็ปๅ squeue ่ฝป้ๆ ก้ช โ
โ 4. ๅๅค็๏ผๅฃฐๅญใQHAใ่้ขๆฃๆต๏ผ โ
โ 5. ๆฐๆฎๅบ่ชๅจๅคไปฝ๏ผๆฏ10ๅ้๏ผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SQLite ไปปๅกๆฐๆฎๅบ โ
โ tasks.db โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ - ไปปๅก็ถๆ: pending / running / success / failed โ
โ - ไผๅ
็บง: opt(100) > phonon(50) > qha(30) โ
โ - ่ชๅจๅคไปฝ: tasks.db.backup โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ sbatch job โ โ sbatch job โ โ sbatch job โ
โ (opt task) โ โ(phonon task) โ โ (qha task) โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
# Manager ็ฎก็
qflow manager run # ๆไบค Manager ๅฐ SLURM
qflow manager cancel # ๅๆถ Manager ไฝไธ
# ็ถๆๆฅ่ฏข
qflow status # ๆฅ็ไปปๅก็ป่ฎก
qflow status --running # ๆฅ็่ฟ่กไธญไปปๅก่ฏฆๆ
๏ผๆๆถ้ดๆๅบ๏ผ
# ไปปๅก็ฎก็
qflow cancel # ไป
ๅๆถๅฝๅๅทฅไฝ็ฎๅฝไธ manager ๅๅฎๆไบค็ไปปๅก
qflow reset --running # ๆๆฐๆฎๅบ่ฎฐๅฝ้็ฝฎ running๏ผๅนถๆธ
็ๅฏนๅบ .running
qflow reset --failed # ๆๆฐๆฎๅบ่ฎฐๅฝ้็ฝฎ failed๏ผๅนถๆธ
็ๅฏนๅบๅคฑ่ดฅๆ ่ฎฐ
# ไปปๅก้ๆฐ็ๆ๏ผไฟฎๆน้
็ฝฎๅไฝฟ็จ๏ผ
qflow regen opt # ้ๆฐ็ๆ opt ไปปๅก๏ผ็บง่ๅ ้ค phonon ๅ qha๏ผ
qflow regen phonon # ้ๆฐ็ๆ phonon ไปปๅก๏ผ็บง่ๅ ้ค qha๏ผ
qflow regen qha # ้ๆฐ็ๆ qha ไปปๅก
# ้ๅๅๆญฅ
qflow sync # ๅฟซ้ๆซๆๅนถๆณจๅๆฐไปปๅกๅฐๆฐๆฎๅบ๏ผไธ้้กนๅๅๆงไปปๅก็ถๆ
# ๅนถๅๆงๅถ
qflow worker 25 # ่ฎพ็ฝฎๆๅคงๅนถๅไปปๅกๆฐไธบ 25| ๆจกๅผ | ่ฏดๆ | ้็จๅบๆฏ |
|---|---|---|
mattersim |
MatterSimๆบๅจๅญฆไน ๅฟ | ๅฟซ้ๆต่ฏใ้ซ้้็ญ้ |
vasp |
VASP็ฌฌไธๆงๅ็่ฎก็ฎ | ้ซ็ฒพๅบฆ่ฎก็ฎ |
# config.yaml
worker:
mode: vasp # ๆ mattersimproject/
โโโ config.yaml # ้
็ฝฎๆไปถ
โโโ tasks.db # SQLiteไปปๅกๆฐๆฎๅบ
โโโ tasks.db.backup # ๆฐๆฎๅบๅคไปฝ
โโโ max_workers.txt # ๆๅคงๅนถๅๆฐ้
็ฝฎ๏ผๅฏ้๏ผ
โโโ subs/ # SLURM่ๆฌ็ฎๅฝ
โ โโโ manager.slurm
โโโ log/ # ๆฅๅฟ็ฎๅฝ
โ โโโ manager_*.log
โ
โโโ qha_structures/ # ็ปๆๆไปถ
โโโ mp-10172/
โ โโโ POSCAR # ๅๅง็ปๆ
โ โโโ .has_imag # ่้ขๆ ่ฎฐ๏ผๅฆๆ๏ผ
โ โโโ .phonon_done # phononๅฎๆๆ ่ฎฐ
โ โโโ .generated__* # ไปปๅก็ๆๆ ่ฎฐ
โ โโโ .postprocess__* # ๅๅค็ๅฎๆๆ ่ฎฐ
โ โโโ opt/ # ็ปๆไผๅ
โ โ โโโ POSCAR
โ โ โโโ CONTCAR # ไผๅๅ็ปๆ
โ โ โโโ .success
โ โโโ volume_1.0/ # ๅฃฐๅญ่ฎก็ฎ๏ผๅนณ่กกไฝ็งฏ๏ผ
โ โ โโโ task.000000/
โ โ โโโ task.000001/
โ โ โโโ ...
โ โ โโโ task_perfect/ # ๅฎ็พ่ถ
่๏ผๆ ไฝ็งป๏ผ
โ โ โโโ analyze/
โ โ โโโ phonopy_disp.yaml
โ โ โโโ phonopy_params.yaml
โ โ โโโ thermo_properties.yaml
โ โ โโโ phonon_band.png
โ โ โโโ phonon_dos.png
โ โโโ volume_0.98/ # QHAไฝ็งฏ็น
โ โโโ volume_0.99/
โ โโโ volume_1.01/
โ โโโ volume_1.02/
โ โโโ analyze/ # QHA็ปๆ
โ โโโ pressure_0.00_gibbs-temperature.dat
โ โโโ pressure_0.00_volume-temperature.dat
โ โโโ pressure_0.00_bulk_modulus-temperature.dat
โ โโโ ...
โโโ ...
plain submit ๆจกๅผไธๅฏ็ดๆฅๆพๅทฒๆไปปๅก็ฎๅฝ๏ผ
qha_structures/
โโโ any_structure/
โโโ task.000000/
โ โโโ POSCAR
โ โโโ .success / .failed / .running
โ โโโ error.log
โโโ nested/
โโโ task.000001/
โโโ POSCAR่ฏดๆ๏ผ
- plain ๆจกๅผๅชไผๆ
task.*ๆพๅ ฅๆไบค้ๅ task_perfectใoptไธไผๅจ plain ๆจกๅผไธๆณจๅ- ๆฏไธชๅญไปปๅก่ชๅทฑ็ๆไบค็ถๆๅ้่ฏฏ่ฎฐๅฝ้ฝไฟ็ๅจๅฏนๅบ
task.*็ฎๅฝๅ
็ปๆไผๅ (opt)
โ
โผ
ๅฃฐๅญ่ฎก็ฎ (volume_1.0/task.*)
โ
โผ
ๅฃฐๅญๅๅค็ (Phonopy)
โ
โโโโ ๅๅปบ .phonon_done ๆ ่ฎฐ
โ
โผ
่้ขๆฃๆฅ โโโ ๆ่้ข๏ผๅๅปบ .has_imag๏ผ่ทณ่ฟQHA
โ
โผ ๆ ่้ข
็ๆๅ
ถไปไฝ็งฏ็น (volume_0.98, 0.99, 1.01, 1.02)
โ
โผ
ๅไฝ็งฏ็นๅฃฐๅญ่ฎก็ฎ & ๅๅค็
โ
โผ
QHA ๅๅค็
QFlow ไฝฟ็จๆบ่ฝ็ฎๆณ็ๆๆปก่ถณ็บฆๆ็ๆไผ่ถ ่๏ผ
-
็บฆๆๆกไปถ๏ผ
min_atoms: ๆๅฐๅๅญๆฐ๏ผ้ป่ฎค100๏ผ๏ผ็กฎไฟๅฃฐๅญ่ฎก็ฎ็ฒพๅบฆmin_length: ๆๅฐ่พน้ฟ๏ผ้ป่ฎค10ร ๏ผ๏ผ็กฎไฟๅฃฐๅญๆถๆmax_atoms: ๆๅคงๅๅญๆฐ๏ผ้ป่ฎค300๏ผ๏ผๆงๅถ่ฎก็ฎๆๆฌ
-
็ฎๆณ็ญ็ฅ๏ผ
- ้ฆๅ ๆปก่ถณ่พน้ฟ็บฆๆ๏ผ่ฎก็ฎๆฏไธชๆนๅ็ๆๅฐๆฉ่ๅๆฐ
- ็ถๅ้ๆญฅๅขๅ ๆฉ่ๅๆฐ๏ผไผๅ ๅขๅ ๅฝๅๆ็ญ่พน๏ผไฟๆ่ถ ่ๅๅ๏ผ
- ็ดๅฐๆปก่ถณๆๅฐๅๅญๆฐ็บฆๆ
-
็คบไพ๏ผๅฏนไบ3ๅๅญใ่พน้ฟ5.28ร ็FCCๆถ่
- ่พน้ฟ็บฆๆ๏ผ
ceil(10/5.28) = 2โ ๅๅง 2ร2ร2 = 24ๅๅญ - ๅๅญๆฐไธ่ถณ100๏ผ้ๆญฅๅขๅ ๅฐ 4ร3ร3 = 108ๅๅญ
- ๆ็ป่พน้ฟ๏ผ21.1ร ร 15.8ร ร 15.8ร
- ่พน้ฟ็บฆๆ๏ผ
qflow regen ๅฝไปค็จไบไฟฎๆน้
็ฝฎๅ้ๆฐ็ๆVASP่พๅ
ฅๆไปถ๏ผ
# ้ๆฐ็ๆ opt ไปปๅก
qflow regen opt
# - ้ๆฐ็ๆๆๆ opt ็ฎๅฝ็ INCAR/KPOINTS/POTCAR
# - ็บง่ๅ ้คๆๆ volume_* ็ฎๅฝ๏ผphonon ๅ qha ไปปๅก๏ผ
# - ๆธ
็ .has_imag ๆ ่ฎฐ
# ้ๆฐ็ๆ phonon ไปปๅก
qflow regen phonon
# - ไป
ๅค็ opt ๅทฒๅฎๆ็็ปๆ
# - ๅฆๆ volume_1.0 ไธๅญๅจ๏ผ่ชๅจๅๅปบๆฐ็ phonon ไปปๅก
# - ๅฆๆ volume_1.0 ๅญๅจ๏ผ้ๆฐ็ๆๅ
ถไธญ็ VASP ่พๅ
ฅๆไปถ
# - ็บง่ๅ ้คๆๆ qha ็ volume_* ็ฎๅฝ
# - ๆธ
็ .has_imag ๅ .phonon_done ๆ ่ฎฐ
# ้ๆฐ็ๆ qha ไปปๅก
qflow regen qha
# - ไป
ๅค็ phonon ๅทฒๅฎๆ๏ผ.phonon_done๏ผไธๆ ่้ข็็ปๆ
# - ้ๆฐ็ๆๆๆ volume_* (้คไบ 1.0) ็ VASP ่พๅ
ฅๆไปถ-
Manager ๆถ้ด้ๅถ๏ผManager ไฝไธบ SLURM ไฝไธ่ฟ่ก๏ผๅปบ่ฎฎ่ฎพ็ฝฎ่พ้ฟๆถ้ด๏ผๅฆ150ๅฐๆถ๏ผ
-
ๅนถๅๆงๅถ๏ผ
- ้่ฟ
config.yaml็manager.max_workers่ฎพ็ฝฎ้ป่ฎคๅผ - ่ฟ่กๆถๅฏ้่ฟ
qflow worker Nๅจๆ่ฐๆด - ไนๅฏ็ดๆฅ็ผ่พ
max_workers.txtๆไปถ
- ้่ฟ
-
ๆฐๆฎๅบๅคไปฝ๏ผManager ๆฏ10ๅ้่ชๅจๅคไปฝๆฐๆฎๅบๅฐ
tasks.db.backup -
่้ขๅค็๏ผ
- ๅญๅจ่้ข็็ปๆไผๅๅปบ
.has_imagๆ ่ฎฐ - ่ฟไบ็ปๆไธไผ่ฟ่ก QHA ่ฎก็ฎ
- ไฝฟ็จ
qflow regen optๆqflow regen phononไผๆธ ็ๆญคๆ ่ฎฐ
- ๅญๅจ่้ข็็ปๆไผๅๅปบ
-
ๆ ้ๆขๅค๏ผ
qflow reset --running/qflow reset --failedไผๆๆฐๆฎๅบไธญ็่ทฏๅพๅ็ถๆ้็ฝฎ- reset ๅๆถไผๆธ ็ๅฏนๅบไปปๅก็ฎๅฝไธ็็ถๆๆ ่ฎฐๆไปถ
- ๆฐๆฎๅบๆๅๆถๅฏไป
tasks.db.backupๆขๅค
-
ๅๆญฅไธ็ถๆ๏ผ
qflow status้ป่ฎค็ดๆฅ่ฏปๆฐๆฎๅบ็ป่ฎก๏ผๅชๅฏน running ไปปๅกๅ่ฝป้ๆ ก้ชqflow syncๅช่ด่ดฃๅฟซ้ๆซๆๅนถๆณจๅๆฐไปปๅก๏ผ่ไปปๅก็ถๆ็ฑ manager ่ฝฎ่ฏขๆถๅๆญฅ- ๅฟซ้ๆซๆไฝฟ็จ
os.scandir()้ๅฝใๆญฃๅๅ็ฑปๅ SQLite ๆน้INSERT OR IGNORE
-
ๆฅๅฟๆฅ็๏ผ
- Managerๆฅๅฟ๏ผ
log/manager_*.log - ไปปๅกๆฅๅฟ๏ผๅไปปๅก็ฎๅฝไธ็
slurm_*.log
- Managerๆฅๅฟ๏ผ
-
POTCAR ่ฎพ็ฝฎ๏ผ
- ้่ฟ
potcar.functionalๆๅฎ POTCAR ็ๆฌ - ๆฏๆ
PBE,PBE_52,PBE_54,PBE_64็ญ
- ้่ฟ
-
็ปๆๆ ๅๅ๏ผ
- ๅฏ็จ
opt.refine_structure: trueไผๅจไผๅๅๆ ๅๅๆถๆ ผ - ไฝฟ็จ primitive cell ้ฟๅ ไธๅฟ ่ฆ็ๅๅญๆฐๅขๅ
- ๅฏ็จ
phonopy
ase
numpy
pyyaml
matplotlib
pymatgen
tqdm
Q: ไปปๅกไธ็ดๆฏ running ็ถๆไฝ squeue ไธญๆฒกๆไฝไธ๏ผ
qflow cancel # ๅๆถๅฝๅๅทฅไฝ็ฎๅฝไธ็ไฝไธๅนถๆธ
็ๅฏนๅบ .running ๆ ่ฎฐ
qflow manager run # ้ๆฐๅฏๅจ ManagerQ: ไฟฎๆนไบ INCAR ่ฎพ็ฝฎ๏ผๅฆไฝ่ฎฉๅทฒๆไปปๅกไฝฟ็จๆฐ่ฎพ็ฝฎ๏ผ
qflow cancel # ๅ
ๅๆญข Manager
qflow regen opt # ้ๆฐ็ๆ opt ไปปๅก๏ผไผ็บง่ๅ ้ค phonon/qha๏ผ
qflow manager run # ้ๆฐๅฏๅจQ: plain_submit ็จๅชๅฅ INCAR / VASP set๏ผ
manager:
plain_submit: true
vasp_sets:
plain: matpes # ๆ mpstatic / mprelax
incar:
plain:
IBRION: -1
NSW: 0plain ๆจกๅผไธ๏ผtask.* ไผไฝฟ็จ incar.plain ๅ vasp_sets.plainใ
Q: ๅฆไฝๅช้ๆฐ่ฎก็ฎๆไธช็ปๆ็ phonon๏ผ
# ๆๅจๅ ้ค่ฏฅ็ปๆ็ volume_1.0 ็ฎๅฝ
rm -rf qha_structures/mp-xxx/volume_1.0
rm -f qha_structures/mp-xxx/.phonon_done
rm -f qha_structures/mp-xxx/.has_imag
# ็ถๅ่ฟ่ก
qflow regen phononQ: ่ถ
่ๅคชๅคง๏ผ่ฎก็ฎๅคชๆ
ขๆไนๅ๏ผ
่ฐๆด config.yaml ไธญ็ๅๆฐ๏ผ
phonon:
min_atoms: 80 # ้ไฝๆๅฐๅๅญๆฐ
min_length: 8.0 # ้ไฝๆๅฐ่พน้ฟ
max_atoms: 200 # ้ไฝๆๅคงๅๅญๆฐ็ถๅ่ฟ่ก qflow regen phonon ้ๆฐ็ๆใ