Dear Rose.
You can easily decide exactly which energies the DDOS should be evaluated at. For example, if you first create and execute a script that does a device calculation followed by an ordinary DDOS analysis, you can then create another script that simply reads in the self-consistent calculation and performs a new DDOS analysis at any energies you choose:
- In the Script Generator, use the "Analysis from File" block.
- Also add a DDOS block.
- Send the script to the Editor, and modify the energies at which the DDOS is evaluated.
I have attached a script that does exactly that, you can see it below. Note how the energies are manually defined in a list, which is then passed to the DDOS object as a numpy array with units of eV.
# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
configuration = nlread('/home/jw/forum/DDOS.nc', object_id='gID000')[0]
# -------------------------------------------------------------
# Device Density Of States
# -------------------------------------------------------------
energies = [-1, -0.5, -0.25, -0.1, 0, 0.05, 0.1, 0.3, 2.0]
device_density_of_states = DeviceDensityOfStates(
configuration=configuration,
energies=numpy.array(energies)*eV,
kpoints=MonkhorstPackGrid(1,1),
contributions=All,
energy_zero_parameter=AverageFermiLevel,
infinitesimal=1e-06*eV,
self_energy_calculator=RecursionSelfEnergy(),
)
nlsave('DDOS_custom_energies.nc', device_density_of_states)
nlprint(device_density_of_states)