| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
Use the following command to install this tool:
python setup.py installThere are two ways to use this tool:
First, prepare a file named 'config.json' in json format:
{
"bandfile": "BANDS_1.dat",
"efermi": 6.585653952007503,
"energy_range": [-1.5, 6],
"kptfile": "KPT"
}| Property | Type | Note |
|---|---|---|
| bandfile | str or List[str] | Bands data file output from ABACUS. 'BANDS**.dat' for band structure and 'PBANDS**' for projected band structure |
| efermi | float or List[float] | Fermi level in eV |
| energy_range | list | Range of energy in eV |
| shift | bool | If set 'true', it will evaluate band gap (only for semiconductors and insulators). Default: 'false' |
| index | List[int] or Dict[str, List[int]] or Dict[str, Dict[int, List[int]]]] | Extract PBANDS of each atom from 'PBANDS_*' file e.g. [index_0, index_1...] or {index_0:[l_0, l_1, ...], ...}, [index_0:{l_0:[m_0, m_1, ...], ...}, ...] |
| atom_index | List[int] or Dict[str, List[int]] or Dict[str, Dict[int, List[int]]]] | Extract PBANDS of each atom with same atomindex from 'PBANDS*' file e.g. [atom_index_0, atom_index_1...] or {atom_index_0:[l_0, l_1, ...], ...}, [atom_index_0:{l_0:[m_0, m_1, ...], ...}, ...] |
| species | List[str] or Dict[str, List[int]] or Dict[str, Dict[int, List[int]]]] | Extract PBANDS of each atom with same species from 'PBANDS_*' file e.g. [elem_0, elem_1...] or {elem_0:[l_0, l_1, ...], ...}, [elem_0:{l_0:[m_0, m_1, ...], ...}, ...] |
| kptfile | str | K-points file with Line mode in ABACUS format |
| label | str or List[str] | Label of band structure |
| color | str or List[str] | Color of band structure |
If you want to plot band structure of nspin=2 or compare two band structure on same k-path, you can set bandfile, efermi, label, color in list type.
The kptfile should be as follows, and notes after # will be set as k-points label automatically.
K_POINTS
7
Line
0.5 0.5 0.5 20 #L
0.0 0.0 0.0 20 #G
0.5 0.0 0.5 10 #X
0.5 0.25 0.75 15 #W
0.5 0.5 0.5 10 #L
0.375 0.375 0.75 20 #K
0.0 0.0 0.0 1 #GThen, use the following command to plot band structure:
abacus-plot -bThen, the following command will plot projected band structure and figures output to directory PBAND*_FIG ($=1$ for $nspin=1$, $=2$ for $nspin=2$):
abacus-plot -d -pThen, the following command will output parsed partial DOS to directory PBAND*_FILE ($=1$ for $nspin=1$, $=2$ for $nspin=2$):
abacus-plot -d -oFirst, prepare a file named 'config.json' in json format:
{
"pdosfile": "PDOS",
"efermi": 6.585653952007503,
"energy_range": [-5, 7],
"dos_range": [0, 5],
"species": {
"C": {
"0": [0],
"1": [0, 1]
},
"Si": [0, 1]
},
"pdosfig": "pdos.png"
}If you only want to plot total DOS, you can modify pdosfile to tdosfile and do not set species and pdosfig.
| Property | Type | Note |
|---|---|---|
| tdosfile | str | Total DOS data file output from ABACUS |
| pdosfile | str | Partial DOS data file output from ABACUS in xml format |
| efermi | float | Fermi level in eV |
| energy_range | list | Range of energy in eV |
| shift | bool | If set 'true', it will evaluate band gap. Default: 'false' |
| index | List[int] or Dict[str, List[int]] or Dict[str, Dict[str, List[int]]]] | Extract PDOS of each atom e.g. [index_0, index_1...] or {index*0:[l_0, l_1, ...], ...}, [index_0:{l_0:[m_0, m_1, ...], ...}, ...] |
| _atom_index* | List[int] or Dict[str, List[int]] or Dict[str, Dict[str, List[int]]]] | Extract PDOS of each atom with same atom*index e.g. [atom_index_0, atom_index_1...] or {atom_index_0:[l_0, l_1, ...], ...}, [atom_index_0:{l_0:[m_0, m_1, ...], ...}, ...] |
| _species* | List[str] or Dict[str, List[int]] or Dict[str, Dict[str, List[int]]]] | Extract PDOS of each atom with same species e.g. [elem_0, elem_1...] or {elem*0:[l_0, l_1, ...], ...}, [elem_0:{l_0:[m_0, m_1, ...], ...}, ...] |
| _tdosfig* | str | Output picture of total DOS |
| pdosfig | str | Output picture of partial DOS |
Then, the following command will plot total DOS:
abacus-plot -dThen, the following command will plot partial DOS:
abacus-plot -d -pThen, the following command will output parsed partial DOS to directory PDOS_FILE:
abacus-plot -d -o| Back | FazBrowse Home | New Git URL |