Skip to content
Snippets Groups Projects
Commit 741d7baf authored by Jan Siwiec's avatar Jan Siwiec
Browse files

Update phono3py.md

parent 91ccb6a9
No related branches found
No related tags found
4 merge requests!368Update prace.md to document the change from qprace to qprod as the default...,!367Update prace.md to document the change from qprace to qprod as the default...,!366Update prace.md to document the change from qprace to qprod as the default...,!323extended-acls-storage-section
......@@ -2,9 +2,9 @@
## Introduction
This GPL software calculates phonon-phonon interactions via the third order force constants. It allows to obtain lattice thermal conductivity, phonon lifetime/linewidth, imaginary part of self energy at the lowest order, joint density of states (JDOS) and weighted-JDOS. For details see Phys. Rev. B 91, 094306 (2015) and [website][a].
This GPL software calculates phonon-phonon interactions via the third order force constants. It allows obtaining lattice thermal conductivity, phonon lifetime/linewidth, imaginary part of self energy at the lowest order, joint density of states (JDOS), and weighted-JDOS. For details, see Phys. Rev. B 91, 094306 (2015) and [website][a].
Available modules
Available modules:
```console
$ ml av phono3py
......@@ -18,7 +18,7 @@ $ ml phono3py
### Calculating Force Constants
One needs to calculate second order and third order force constants using the diamond structure of silicon stored in [POSCAR][1] (the same form as in VASP) using single displacement calculations within supercell.
You need to calculate second order and third order force constants using the diamond structure of silicon stored in [POSCAR][1] (the same form as in VASP) using single displacement calculations within supercell.
```console
$ cat POSCAR
......@@ -61,7 +61,7 @@ POSCAR-00006 POSCAR-00015 POSCAR-00024 POSCAR-00033 POSCAR-00042 POSCAR-00051
POSCAR-00007 POSCAR-00016 POSCAR-00025 POSCAR-00034 POSCAR-00043 POSCAR-00052 POSCAR-00061 POSCAR-00070 POSCAR-00079 POSCAR-00088 POSCAR-00097 POSCAR-00106
```
For each displacement the forces needs to be calculated, i.e. in form of the output file of VASP (vasprun.xml). For a single VASP calculations one needs [KPOINTS][2], [POTCAR][3], and [INCAR][4] in your case directory (where you have POSCARS) and those 111 displacements calculations can be generated by [prepare.sh][5] script. Then each of the single 111 calculations is submitted [run.sh][6] by [submit.sh][7].
For each displacement, the forces needs to be calculated, i.e. in form of the output file of VASP (vasprun.xml). For a single VASP calculations, you need [KPOINTS][2], [POTCAR][3], and [INCAR][4] in your case directory (where you have POSCARS) and those 111 displacements calculations can be generated by the [prepare.sh][5] script. Then each of the single 111 calculations is submitted [run.sh][6] by [submit.sh][7].
```console
$./prepare.sh
......@@ -76,7 +76,7 @@ disp-00007 disp-00015 disp-00023 disp-00031 disp-00039 disp-00047 disp-00055 dis
disp-00008 disp-00016 disp-00024 disp-00032 disp-00040 disp-00048 disp-00056 disp-00064 disp-00072 disp-00080 disp-00088 disp-00096 disp-00104 disp_fc3.yaml
```
Taylor your run.sh script to fit into your project and other needs and submit all 111 calculations using submit.sh script
Tailor your run.sh script to fit into your project and other needs and submit all 111 calculations using the submit.sh script
```console
$ ./submit.sh
......@@ -84,23 +84,23 @@ $ ./submit.sh
## Collecting Results and Post-Processing With Phono3py
Once all jobs are finished and vasprun.xml is created in each disp-XXXXX directory the collection is done by
Once all jobs are finished and vasprun.xml is created in each disp-XXXXX directory, the collection is done by:
```console
$ phono3py --cf3 disp-{00001..00111}/vasprun.xml
```
and `disp_fc2.yaml, FORCES_FC2`, `FORCES_FC3` and disp_fc3.yaml should appear and put into the HDF format by
and `disp_fc2.yaml, FORCES_FC2`, `FORCES_FC3` and disp_fc3.yaml should appear and put into the HDF format by:
```console
$ phono3py --dim="2 2 2" -c POSCAR
```
resulting in `fc2.hdf5` and `fc3.hdf5`
resulting in `fc2.hdf5` and `fc3.hdf5`.
### Thermal Conductivity
The phonon lifetime calculations takes some time, however is independent on grid points, so could be splitted:
The phonon lifetime calculations take some time; however, it is independent on grid points, so it can be split:
```console
$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --sigma 0.1 --wgp
......@@ -149,19 +149,19 @@ ir_grid_points: # [address, weight]
* grid_point: 364
```
One finds which grid points needed to be calculated, for instance using following:
You can find which grid points needed to be calculated, for instance, using:
```console
$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR --sigma 0.1 --br --write-gamma --gp="0 1 2
```
One calculates grid points 0, 1, 2. To automize one can use for instance scripts to submit 5 points in series, see [gofree-cond1.sh[8].]
You can calculate grid points 0, 1, 2. To automate, use for instance, scripts to submit 5 points in series, see [gofree-cond1.sh[8].]
```console
$ qsub gofree-cond1.sh
```
Finally the thermal conductivity result is produced by grouping single conductivity per grid calculations using
Finally, the thermal conductivity result is produced by grouping single conductivity per grid calculations using
```console
$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --br --read_gamma
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment