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 T
The process is performed with two steps:
- one-shot calculation for
Process0000001WF.dat and ProcessSij000001WF.dat files by Conquest
- 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.
Description
The error will appear when we want to generate the local density of states (LDOS) for each atom by
PostProcessCQwith the following settings:Conquest_input
The process is performed with two steps:
Process0000001WF.datandProcessSij000001WF.datfiles byConquestPostProcessCQProblem analysis
The problem is that
IO.WFRangeRelative Tis 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.f90for the definition offlag_wf_range_Ef, it can be known that all the things are related byflag_out_wf(IO.OutputWF).Therefore, if
IO.OutputWFis not set to True inConquest_input, theIO.WFRangeRelativewill never work.Possible Solutions
One simple solution is to tell people to use
IO.OutputWF TwithIO.WFRangeRelative T.Another better solution is to enable automatic settings for
IO.OutputWFto be True whenIO.write_proj_DOSis True by modifying the source code.