Set Phagen mode to "led" for EIG calculation.
Ensure that no core-hole is produced when doing an eigen values calculation. This is done by setting calctype="led" in the phagen input file.
This commit is contained in:
parent
19fd6033cc
commit
43886601e9
|
@ -927,22 +927,16 @@ class _EIG(_MSCALCULATOR):
|
||||||
"are supported in EIG spectroscopy mode")
|
"are supported in EIG spectroscopy mode")
|
||||||
exit(1)
|
exit(1)
|
||||||
self.iodata = iodata.Data('EIG Simulation')
|
self.iodata = iodata.Data('EIG Simulation')
|
||||||
|
# ensure no core-hole is created by using the "led" (LEED) mode
|
||||||
|
# of Phagen
|
||||||
|
self.phagen_parameters.calctype = "led"
|
||||||
|
|
||||||
|
|
||||||
def get_eigen_values(self, level=None, kinetic_energy=None, data=None):
|
def get_eigen_values(self, kinetic_energy, data=None):
|
||||||
LOGGER.info("Computting the eigen values...")
|
LOGGER.info("Computting the eigen values...")
|
||||||
if data:
|
if data:
|
||||||
self.iodata = data
|
self.iodata = data
|
||||||
|
|
||||||
if kinetic_energy is None:
|
|
||||||
# try to guess the kinetic energy
|
|
||||||
kinetic_energy = self._guess_ke(level)
|
|
||||||
|
|
||||||
# if still None...
|
|
||||||
if kinetic_energy is None:
|
|
||||||
LOGGER.error('Unable to guess the kinetic energy!')
|
|
||||||
raise ValueError('You must define a kinetic_energy value.')
|
|
||||||
|
|
||||||
# update the parameters
|
# update the parameters
|
||||||
self.scan_parameters.set_parameter('kinetic_energy', kinetic_energy)
|
self.scan_parameters.set_parameter('kinetic_energy', kinetic_energy)
|
||||||
all_ke = self.scan_parameters.get_parameter('ke_array').value
|
all_ke = self.scan_parameters.get_parameter('ke_array').value
|
||||||
|
@ -951,8 +945,6 @@ class _EIG(_MSCALCULATOR):
|
||||||
raise ValueError('Kinetic energy is < 0! ({})'.format(
|
raise ValueError('Kinetic energy is < 0! ({})'.format(
|
||||||
kinetic_energy))
|
kinetic_energy))
|
||||||
|
|
||||||
self.spectroscopy_parameters.set_parameter('level', level)
|
|
||||||
|
|
||||||
# ensure that if the alogorithm is 'inversion' the IPWM must be set to 0
|
# ensure that if the alogorithm is 'inversion' the IPWM must be set to 0
|
||||||
if self.global_parameters.algorithm.lower() == 'inversion':
|
if self.global_parameters.algorithm.lower() == 'inversion':
|
||||||
self.spec_parameters.eigval_ipwm = 0
|
self.spec_parameters.eigval_ipwm = 0
|
||||||
|
|
Loading…
Reference in New Issue