-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Description
The error will appear when we want to generate the local density of states (LDOS) for each atom by PostProcessCQ with the following settings:
Conquest_input
## DOS
IO.WFRangeRelative T
IO.min_wf_E -0.450 # 0.450 (Ha) = 12.245 eV
IO.max_wf_E 0.450
IO.MatrixFile.BinaryFormat T
IO.writeDOS T
IO.write_proj_DOS T
Process.Job pdos
Process.WFRangeRelative T
Process.min_DOS_E -0.450 # (Ha) = 12.245 eV
Process.max_DOS_E 0.450
Process.sigma_DOS 0.005 # (Ha, default 0.001)
Process.n_DOS 3601 # (default 1001)
Process.pDOS_l_resolved T
#Process.pDOS_lm_resolved TThe process is performed with two steps:
- one-shot calculation for
Process0000001WF.datandProcessSij000001WF.datfiles byConquest - LDOS generation by
PostProcessCQ
Problem analysis
The problem is that IO.WFRangeRelative T is not working at all.
The offset is set to the Fermi level or not, depending on flag_wf_range_Ef (IO.WFRangeRelative).
If we check init_read_module.f90 for the definition of flag_wf_range_Ef, it can be known that all the things are related by flag_out_wf (IO.OutputWF).
Therefore, if IO.OutputWF is not set to True in Conquest_input, the IO.WFRangeRelative will never work.
Possible Solutions
One simple solution is to tell people to use IO.OutputWF T with IO.WFRangeRelative T.
Another better solution is to enable automatic settings for IO.OutputWF to be True when IO.write_proj_DOS is True by modifying the source code.