Does E3 have the same function of ref-band plot as SK?
Details
Hi Developers,
I hope this message finds you well. I have a couple of questions regarding the functionality of the ref_band feature and the eigenvalue output in dftio.
In the SK example, the file band.json contains the field "ref_band": "./eigenvalues.npy". When plotting, this results in both lines and points being displayed in the generated figure. However, in the E3 example, this behavior does not seem to occur.
Additionally, I would like to find which file in ABACUS outputs corresponds to the --eigenvalue option in dftio. If the eigenvalue file is indeed in .npy format, I believe it might be possible for the E3 model to also support the ref_band plot functionality, similar to the SK model. Could you confirm whether this is the case?
Looking forward to your clarification. Thank you for your time and support!
Hi, thanks for your usage. "ref_band" in e3 mode is indeed possible. When parsing the data, the dftio will also give a eigenvalues.npy, which can then be used as the "ref_band" in the plotting. Can you detail a bit why you mentioned it will not work in E3 cases?
The output of ABACUS eigenvalues parsed by dftio is saved as eigenvalues.npy file, which should appear in the parsed data folder.
Should you have more questions, please feel free to ask.
Zhanghao
Thanks for your reply.
Through nscf calculation of ABACUS to output BANDS_1.dat, eigenvalues.npy has been obtained.
I meet another error. You know, band should be calculated by nscf after scf. There will be scf and nscf files in OUT.ABACUS. When I parsed by dftio, an error pops up that does not recognize abacus/nscf.
NotImplementedError: Unsupported data format abacus/nscf.
Supported formats: qe/cp/traj qe/pw/scf orca/spout gaussian/log gaussian/md gaussian/gjf deepmd/raw deepmd deepmd/comp deepmd/npy deepmd/npy/mixed deepmd/hdf5 amber/md sqm/out sqm/in lammps/lmp lmp lammps/dump dump mol_file mol sdf_file sdf list psi4/out psi4/inp pwmat/output pwmat/mlmd pwmat/movement mlmd movement pwmat/final.config pwmat/atom.config final.config atom.config cp2k/aimd_output cp2k/output ase/structure ase/traj gromacs/gro gro 3dmol n2p2 fhi_aims/output fhi_aims/md fhi_aims/scf xyz quip/gap/xyz_file quip/gap/xyz pymatgen/structure pymatgen/molecule pymatgen/computedstructureentry openmx/md stru abacus/stru abacus/lcao/scf abacus/pw/scf abacus/scf abacus/lcao/md abacus/pw/md abacus/md abacus/lcao/relax abacus/pw/relax abacus/relax vasp/contcar vasp/poscar contcar poscar vasp/string vasp/outcar outcar vasp/xml xml siesta/output siesta/aimd_output dftbplus
If I copy the output files of scf in advance, then proceed with the nscf calculation to obtain the band. Subsequently copy the BANDS_1.dat file into the previous scf output folder, dftio is able to parse it successfully.
dftio_test.zip The zip file contains the data I have organized, and I hope it can help you reproduce this issue.
I have a small request: the tutorial for dftio is a bit challenging to get started with, especially for users who are new to ABACUS . For example, it's not entirely clear which output switches need to be turned on in ABACUS, or which files should be used as the starting point to parse and generate specific output files. Additionally, the guidance regarding folder paths feels somewhat ambiguous — I had to try several times with the -r path option and -p PREFIX to get things working. Of course, for users who are already experienced with ABACUS, these might be straightforward tasks, but clearer instructions would be greatly appreciated for newcomers.
Thank you all again for making this powerful package open source and free.
Hi, this is the problem on our side.
The dftio does not support reading the nscf result. Indeed, if you copy the BANDS_1.dat to the scf folder, it can read the bands, but not all the data. For example, the kpoint corresponding to the band should be matched, but if you copy the band alone, the kpoint would not be processed correctly. We do not suggest to parse like this.
For the current usage of sk, you can output the band in scf and parse it with dftio, which will give a band in k mesh defined in abacus scf. The sk mode can work safely with the kmesh eigenvalues.
We will mark this issue and address it asap. Thanks
Thanks for your reply. Through
nscfcalculation of ABACUS to outputBANDS_1.dat,eigenvalues.npyhas been obtained. I meet another error. You know, band should be calculated by nscf after scf. There will be scf and nscf files in OUT.ABACUS. When I parsed bydftio, an error pops up that does not recognize abacus/nscf.NotImplementedError: Unsupported data format abacus/nscf. Supported formats: qe/cp/traj qe/pw/scf orca/spout gaussian/log gaussian/md gaussian/gjf deepmd/raw deepmd deepmd/comp deepmd/npy deepmd/npy/mixed deepmd/hdf5 amber/md sqm/out sqm/in lammps/lmp lmp lammps/dump dump mol_file mol sdf_file sdf list psi4/out psi4/inp pwmat/output pwmat/mlmd pwmat/movement mlmd movement pwmat/final.config pwmat/atom.config final.config atom.config cp2k/aimd_output cp2k/output ase/structure ase/traj gromacs/gro gro 3dmol n2p2 fhi_aims/output fhi_aims/md fhi_aims/scf xyz quip/gap/xyz_file quip/gap/xyz pymatgen/structure pymatgen/molecule pymatgen/computedstructureentry openmx/md stru abacus/stru abacus/lcao/scf abacus/pw/scf abacus/scf abacus/lcao/md abacus/pw/md abacus/md abacus/lcao/relax abacus/pw/relax abacus/relax vasp/contcar vasp/poscar contcar poscar vasp/string vasp/outcar outcar vasp/xml xml siesta/output siesta/aimd_output dftbplusIf I copy the output files of scf in advance, then proceed with the nscf calculation to obtain the band. Subsequently copy the
BANDS_1.datfile into the previous scf output folder,dftiois able to parse it successfully.dftio_test.zip The zip file contains the data I have organized, and I hope it can help you reproduce this issue.
I have a small request: the tutorial for
dftiois a bit challenging to get started with, especially for users who are new to ABACUS . For example, it's not entirely clear which output switches need to be turned on in ABACUS, or which files should be used as the starting point to parse and generate specific output files. Additionally, the guidance regarding folder paths feels somewhat ambiguous — I had to try several times with the-rpath option and-pPREFIX to get things working. Of course, for users who are already experienced with ABACUS, these might be straightforward tasks, but clearer instructions would be greatly appreciated for newcomers.Thank you all again for making this powerful package open source and free.
Hi, a fix to this problem is to ask the dpdata team to support parsing the NSCF ABACUS output.