Output format issue with PARCHG
Posted: Mon Mar 26, 2018 12:10 am
Dear VASP community:
I used LPARD=.TRUE. to write band and k-point decomposed charge density (vasp 5.4.4). When plotting generated PARCHG files with VESTA, I noticed that some plots have a bug that appears as a constant 3D charge density after a certain coordinate. The reason is a mismatch between the value and the format that results in "***********" output as shown below:
oleg$ grep "*" PARCHG*
PARCHG: 0.61416E-01 -2.3446 -4.8390 -7.1151 -8.8709 -9.8715 *********** -9.2820 -7.8766 -6.0362
To solve the problem, I edited "pardens.F" file and replaced in line 1157
CALL OUTCHG(GRIDC,iunit,.FALSE.,CHTOT)
with
CALL OUTCHG(GRIDC,iunit,.TRUE.,CHTOT)
This enables "LLONG" output format for the charge densities in the file "fileio.F"
IF (LLONG) THEN
FORM='(1(1X,E17.11))'
NWRITE=5
ELSE
FORM='(1(1X,G11.5))'
NWRITE=10
ENDIF
It seems that G11.5 may not be sufficient in some cases.
I hope this will be helpful
Oleg
I used LPARD=.TRUE. to write band and k-point decomposed charge density (vasp 5.4.4). When plotting generated PARCHG files with VESTA, I noticed that some plots have a bug that appears as a constant 3D charge density after a certain coordinate. The reason is a mismatch between the value and the format that results in "***********" output as shown below:
oleg$ grep "*" PARCHG*
PARCHG: 0.61416E-01 -2.3446 -4.8390 -7.1151 -8.8709 -9.8715 *********** -9.2820 -7.8766 -6.0362
To solve the problem, I edited "pardens.F" file and replaced in line 1157
CALL OUTCHG(GRIDC,iunit,.FALSE.,CHTOT)
with
CALL OUTCHG(GRIDC,iunit,.TRUE.,CHTOT)
This enables "LLONG" output format for the charge densities in the file "fileio.F"
IF (LLONG) THEN
FORM='(1(1X,E17.11))'
NWRITE=5
ELSE
FORM='(1(1X,G11.5))'
NWRITE=10
ENDIF
It seems that G11.5 may not be sufficient in some cases.
I hope this will be helpful
Oleg