IndexError when including SOC

Dear Alex,
Thank you for your convenient code. It has helped me a lot. But when doing a POP calculation taking SOC effect into account, I got the following error: IndexError: arrays used as indices must be of integer (or boolean) type. If the SOC is not included, this error won’t appear and the calculation can proceed normally. I’m wondering if the error is due to improper configuration of my parameters.

input and log files are as follows:

setting.yaml:

# general settings
scattering_type: [POP]
doping: [1e18]
temperatures: [50, 100, 150, 200, 250, 300, 350, 400, 450, 500]
bandgap: 1.23

# electronic_structure settings
interpolation_factor: 50

# materials properties
static_dielectric:
  - [16.653, -0.081, -1.159]
  - [-0.081, 12.017, -0.332]
  - [-1.215, -0.332, 10.388]

high_frequency_dielectric:
  - [4.621, 0.001, 0.028]
  - [0.001, 4.168, 0.001]
  - [-0.028, 0.001, 4.109]

pop_frequency: 25.40
# performance settings
write_mesh: true
#energy_cutoff: 1.3
#nworkers: 4

amset.log:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SCATTERING ~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Scattering mechanisms to be calculated: POP

  Initializing POP scattering
    - average N_po: 0.0276
    - w_po: 159.6 2pi THz
    - hbar.omega: 0.1050 eV

  Forking 80 processes to calculate scattering
    - time: 50.4155 s

  Scattering information:
    - # ir k-points: 18315

  Calculating rates for spin-up band 1
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0599 s

  Calculating rates for spin-up band 2
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0072 s

  Calculating rates for spin-up band 3
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0023 s

  Calculating rates for spin-up band 4
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 5
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 6
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0110 s

  Calculating rates for spin-up band 7
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0069 s

  Calculating rates for spin-up band 8
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0072 s

  Calculating rates for spin-up band 9
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0094 s

  Calculating rates for spin-up band 10
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0186 s

  Calculating rates for spin-up band 11
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0023 s

  Calculating rates for spin-up band 12
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0060 s

  Calculating rates for spin-up band 13
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0027 s

  Calculating rates for spin-up band 14
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 15
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 16
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0022 s

  Calculating rates for spin-up band 17
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0021 s

  Calculating rates for spin-up band 18
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 19
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0030 s

  Calculating rates for spin-up band 20
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 21
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0030 s

  Calculating rates for spin-up band 22
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 23
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0026 s

  Calculating rates for spin-up band 24
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0033 s

  Calculating rates for spin-up band 25
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0021 s

  Calculating rates for spin-up band 26
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0022 s

  Calculating rates for spin-up band 27
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0033 s

  Calculating rates for spin-up band 28
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

  Calculating rates for spin-up band 29
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

  Calculating rates for spin-up band 30
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0035 s

  Calculating rates for spin-up band 31
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0045 s

  Calculating rates for spin-up band 32
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0035 s

  Calculating rates for spin-up band 33
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

  Calculating rates for spin-up band 34
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0039 s

  Calculating rates for spin-up band 35
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0021 s

  Calculating rates for spin-up band 36
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0021 s

  Calculating rates for spin-up band 37
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0053 s

  Calculating rates for spin-up band 38
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

  Calculating rates for spin-up band 39
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0036 s

  Calculating rates for spin-up band 40
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0021 s

  Calculating rates for spin-up band 41
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0024 s

  Calculating rates for spin-up band 42
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0036 s

  Calculating rates for spin-up band 43
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

  Calculating rates for spin-up band 44
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

  Calculating rates for spin-up band 45
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0027 s

  Calculating rates for spin-up band 46
    - # k-points within Fermi-Dirac cut-offs: 0
    - time: 0.0025 s

Calculating rates for spin-up band 47
    - # k-points within Fermi-Dirac cut-offs: 17929

  Scattering process ended with error:
  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 579, in
  scattering_worker
      rate = calculate_rate(
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 681, in
  calculate_rate
      property_mask, band_kpoint_mask, band_mask, kpoint_mask =
  tbs.get_masks(
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/electronic_structure/tetrahedron.py", line 849, in
  get_masks
      self.tetrahedra[spin][tetrahedra_mask],
  IndexError: arrays used as indices must be of integer (or boolean)
  type

  exiting


    ERROR: amset exiting on 16 Nov 2023 at 17:27
  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 499, in
  _get_rate_from_queue
      result = self.out_queue.get(timeout=10)
    File "/public/home/hpc222211023/.conda/envs/py38/lib/python3.8/mu
  ltiprocessing/queues.py", line 108, in get
      raise Empty
  _queue.Empty

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 499, in
  _get_rate_from_queue
      result = self.out_queue.get(timeout=10)
    File "/public/home/hpc222211023/.conda/envs/py38/lib/python3.8/mu
  ltiprocessing/queues.py", line 108, in get
      raise Empty
  _queue.Empty

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 499, in
  _get_rate_from_queue
      result = self.out_queue.get(timeout=10)
    File "/public/home/hpc222211023/.conda/envs/py38/lib/python3.8/mu
  ltiprocessing/queues.py", line 108, in get
      raise Empty
  _queue.Empty

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 499, in
  _get_rate_from_queue
      result = self.out_queue.get(timeout=10)
    File "/public/home/hpc222211023/.conda/envs/py38/lib/python3.8/mu
  ltiprocessing/queues.py", line 108, in get
      raise Empty
  _queue.Empty

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 499, in
  _get_rate_from_queue
      result = self.out_queue.get(timeout=10)
    File "/public/home/hpc222211023/.conda/envs/py38/lib/python3.8/mu
  ltiprocessing/queues.py", line 108, in get
      raise Empty
  _queue.Empty

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/public/home/hpc222211023/.local/bin/amset", line 8, in
  <module>
      sys.exit(cli())
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/click/core.py", line 1130, in __call__
      return self.main(*args, **kwargs)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/click/core.py", line 1055, in main
      rv = self.invoke(ctx)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/click/core.py", line 1657, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/click/core.py", line 1404, in invoke
      return ctx.invoke(self.callback, **ctx.params)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/click/core.py", line 760, in invoke
      return __callback(*args, **kwargs)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/tools/run.py", line 139, in run
      runner.run()
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/core/run.py", line 65, in run
      mem_usage, (amset_data, usage_stats) = memory_usage(
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/memory_profiler.py", line 379, in memory_usage
      returned = f(*args, **kw)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/core/run.py", line 120, in _run_wrapper
      amset_data, scattering_time = self._do_scattering(amset_data)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/core/run.py", line 275, in _do_scattering
      scatter.calculate_scattering_rates(), scatter.scatterer_labels
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 381, in
  calculate_scattering_rates
      ) = self.calculate_band_rates(spin, b_idx)
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 481, in
  calculate_band_rates
      ir_idx, rate = self._get_rate_from_queue()
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 510, in
  _get_rate_from_queue
      return self._get_rate_from_queue()
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 510, in
  _get_rate_from_queue
      return self._get_rate_from_queue()
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 510, in
  _get_rate_from_queue
      return self._get_rate_from_queue()
    [Previous line repeated 2 more times]
    File "/public/home/hpc222211023/.local/lib/python3.8/site-
  packages/amset/scattering/calculate.py", line 519, in
  _get_rate_from_queue
      raise result[0]
  IndexError: arrays used as indices must be of integer (or boolean)
  type