Skip to content

Missing default d-electrons number for Ge #33

@DanPorter

Description

@DanPorter

Error spotted in scan:
/dls/i10-1/data/2026/mm43478-1/i10-1-59569.nxs

cmd: scan energy 1220 1300 0.1 mcse16 0.2 mcse17 0.2 mcse18 0.2 mcse19 0.2

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[17], line 4
      1 if len(pols) > 1:
      2     # Calculate XMCD
      3     xmcd = pol1 - pol2
----> 4     print(xmcd)
      6     for name, spectra in xmcd.spectra.items():
      7         print(spectra)

File /dls_sw/apps/mmg_toolbox/latest/mmg_toolbox/mmg_toolbox/xas/spectra_container.py:392, in SpectraContainerSubtraction.__str__(self)
    390 def __str__(self):
    391     s = super().__str__()
--> 392     return s + '\n' + self.sum_rules_report()

File /dls_sw/apps/mmg_toolbox/latest/mmg_toolbox/mmg_toolbox/xas/spectra_container.py:434, in SpectraContainerSubtraction.sum_rules_report(self, n_holes, mode)
    423 """
    424 Calculate sum rules of XMCD spectra and return report
    425 
   (...)
    431 :returns: str
    432 """
    433 spectra = self.spectra[mode or  self.metadata.default_mode]
--> 434 n_holes = spa.d_electron_holes(self.metadata.element) if n_holes is None else n_holes
    435 report = "=== Sum Rules === \n"
    436 report += f"{self.metadata.default_mode} signal = {self.calculate_signal_ratio()[self.metadata.default_mode]:.2%}\n"

File /dls_sw/apps/mmg_toolbox/latest/mmg_toolbox/mmg_toolbox/xas/spectra_analysis.py:451, in d_electron_holes(element)
    449 def d_electron_holes(element: str) -> float:
    450     """Return the number of holes in the d-orbital for a given element"""
--> 451     return 10 - d_electron_count(element)

File /dls_sw/apps/mmg_toolbox/latest/mmg_toolbox/mmg_toolbox/xas/spectra_analysis.py:432, in d_electron_count(element)
    430 element, oxidation, sign = match.groups()
    431 if element not in NEUTRAL_D_ELECTRONS:
--> 432     raise ValueError('Unknown d electrons in element: {}'.format(element))
    433 if sign == '+':
    434     oxidation_value = int(oxidation or 1)

ValueError: Unknown d electrons in element: Ge

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions