NaN value of IMP calculation in AMSET

Dear Alex,
Thank you for developing and maintaining that code.
I am trying to calculate with CoAs3 with this code.
I keep getting NaN values while performing the IMP calculation. I do not what happened. How to solve it?

setting.yaml:

general settings

scattering_type: auto
doping: [‘1.e13’, ‘1.e14’, ‘1.e15’, ‘1.e16’, ‘1.e17’, ‘1.e18’, ‘1.e19’, ‘1.e20’, ‘1.e21’, ‘0’]
temperatures: [300]
bandgap: 0.498
free_carrier_screening: true
energy_cutoff: 1.5
fd_tol: 0.01
#scissor: 0.1

electronic_structure settings

interpolation_factor: 50

materials properties

deformation_potential: deformation.h5
pop_frequency: 7.16
elastic_constant:

  • [238, 46, 46, 0, 0, 0]
  • [ 46, 238, 46, 0, 0, 0]
  • [ 46, 46, 238, 0, 0, 0]
  • [ 0, 0, 0, 75, 0, 0]
  • [ 0, 0, 0, 0, 75, 0]
  • [ 0, 0, 0, 0, 0, 75]
    static_dielectric:
  • [42.033142, 0, 0]
  • [0, 42.033142, 0]
  • [0, 0, 42.033142]
    high_frequency_dielectric:
  • [34.062727 , 0, 0]
  • [0, 34.062727 , 0]
  • [0, 0, 34.062727]

performance settings

write_mesh: false
The output:

     /$$$$$$  /$$      /$$  /$$$$$$  /$$$$$$$$ /$$$$$$$$
    /$$__  $$| $$$    /$$$ /$$__  $$| $$_____/|__  $$__/
   | $$  \ $$| $$$$  /$$$$| $$  \__/| $$         | $$
   | $$$$$$$$| $$ $$/$$ $$|  $$$$$$ | $$$$$      | $$
   | $$__  $$| $$  $$$| $$ \____  $$| $$__/      | $$
   | $$  | $$| $$\  $ | $$ /$$  \ $$| $$         | $$
   | $$  | $$| $$ \/  | $$|  $$$$$$/| $$$$$$$$   | $$
   |__/  |__/|__/     |__/ \______/ |________/   |__/

                                                v0.4.22

  Ganose, A. M., Park, J., Faghaninia, A., Woods-Robinson,
  R., Persson, K. A., Jain, A. Efficient calculation of
  carrier scattering rates from first principles.
  Nat. Commun. 12, 2222 (2021)

amset starting on 31 May 2025 at 08:26


Run parameters:
  - scattering_type: auto
  - doping: [1.e+13 1.e+14 1.e+15 1.e+16 1.e+17 1.e+18 1.e+19 1.e+20 1.e+21 0.e+00]
  - temperatures: [300]
  - bandgap: 0.498
  - soc: False
  - zero_weighted_kpoints: prefer
  - interpolation_factor: 50
  - wavefunction_coefficients: wavefunction.h5
  - use_projections: False
  - unity_overlap: False
  - free_carrier_screening: True
  - high_frequency_dielectric: 
      [[ 34.06   0.00   0.00]
       [  0.00  34.06   0.00]
       [  0.00   0.00  34.06]]
  - static_dielectric: 
      [[ 42.03   0.00   0.00]
       [  0.00  42.03   0.00]
       [  0.00   0.00  42.03]]
  - elastic_constant: 
      [[ 238.0   46.0   46.0    0.0    0.0    0.0]
       [  46.0  238.0   46.0    0.0    0.0    0.0]
       [  46.0   46.0  238.0    0.0    0.0    0.0]
       [   0.0    0.0    0.0   75.0    0.0    0.0]
       [   0.0    0.0    0.0    0.0   75.0    0.0]
       [   0.0    0.0    0.0    0.0    0.0   75.0]]
  - deformation_potential: deformation.h5
  - defect_charge: 1
  - compensation_factor: 2
  - pop_frequency: 7.16
  - energy_cutoff: 1.5
  - fd_tol: 0.01
  - dos_estep: 0.01
  - symprec: 0.01
  - nworkers: -1
  - cache_wavefunction: True
  - calculate_mobility: True
  - separate_mobility: True
  - mobility_rates_only: False
  - file_format: json
  - write_input: False
  - write_mesh: False
  - print_log: True
  - write_log: True


~~~~~~~~~~~~~~~~~~~~~~~~~~~~ STRUCTURE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Structure information:
  - formula: CoAs3
  - # sites: 16
  - space group: Im3-

Lattice:
  - a, b, c [angstrom]: 7.18, 7.18, 7.18
  - a, b, y [deg]: 109, 109, 109


~~~~~~~~~~~~~~~~~~~~~~~~~~ BAND STRUCTURE ~~~~~~~~~~~~~~~~~~~~~~~~~

Input band structure information:
  - # bands: 96
  - # k-points: 61
  - Fermi level: 6.510 eV
  - spin polarized: False
  - metallic: False

Band gap:
  - direct band gap: 0.498 eV
  - direct k-point: [0.00, 0.00, 0.00]

Valence band maximum:
  - energy: 6.346 eV
  - k-point: [0.00, 0.00, 0.00]
  - band indices: 48

Conduction band minimum:
  - energy: 6.844 eV
  - k-point: [0.00, 0.00, 0.00]
  - band indices: 49, 50, 51


~~~~~~~~~~~~~~~~~~~~~~~~~~ INTERPOLATION ~~~~~~~~~~~~~~~~~~~~~~~~~~

Getting band interpolation coefficients
  - time: 0.4336 s

Interpolation parameters:
  - k-point mesh: 59x59x59
  - energy cutoff: 1.5 eV

Interpolating spin-up bands 47-56
  - time: 1.2378 s

bandgap set to 0.498 eV, applying scissor of 0.000 eV

Generating tetrahedron mesh vertices
  - time: 1.8961 s

Initializing tetrahedron band structure
  - time: 9.0177 s

Initializing momentum relaxation time factor calculator

Initializing wavefunction overlap calculator

Desymmetrizing k-point mesh
  - Found initial mesh: 10.000 x 10.000 x 10.000
  - Integer mesh: 10 x 10 x 10
  - Using 24 symmetry operations

Desymmetrizing wavefunction coefficients
  - time: 1.8353 s


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DOS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DOS parameters:
  - emin: 4.02 eV
  - emax: 9.12 eV
  - dos weight: 2
  - n points: 509

Generating tetrahedral DOS:
  - time: 27.4226 s

Intrinsic DOS Fermi level: 6.5954 eV

DOS contains 3.996 electrons

Calculated Fermi levels:

  conc [cm-3]    temp [K]    E_fermi [eV]
-------------  ----------  --------------
     1.00e+13       300.0          6.5360
     1.00e+14       300.0          6.5333
     1.00e+15       300.0          6.5107
     1.00e+16       300.0          6.4549
     1.00e+17       300.0          6.3945
     1.00e+18       300.0          6.3268
     1.00e+19       300.0          6.2072
     1.00e+20       300.0          5.9013
     1.00e+21       300.0          5.2954
     0.00e+00       300.0          6.8079

Calculated Fermi-Dirac cut-offs:
  - min: 5.017 eV
  - max: 7.161 eV


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

Examining material properties to determine possible scattering 
mechanisms

Scattering mechanisms to be calculated: ADP, IMP, POP

Initializing deformation potential interpolator

Inverse screening length (b) and impurity concentration (N_i):

  conc [cm-3]    temp [K]    b2 [a^-2]    N_i [cm-3]
-------------  ----------  -----------  ------------
     1.00e+13       300.0     4.03e-08      2.00e+13
     1.00e+14       300.0     4.05e-08      2.00e+14
     1.00e+15       300.0     6.16e-08      2.00e+15
     1.00e+16       300.0     4.66e-07      2.00e+16
     1.00e+17       300.0     4.50e-06      2.00e+17
     1.00e+18       300.0     3.49e-05      2.00e+18
     1.00e+19       300.0     1.51e-04      2.00e+19
     1.00e+20       300.0     6.00e-04      2.00e+20
     1.00e+21       300.0     7.03e-03      2.00e+21
     0.00e+00       300.0     7.16e-04      0.00e+00

Initializing POP scattering
  - average N_po: 0.4665
  - w_po: 44.99 2pi THz
  - hbar.omega: 0.0296 eV

Forking 56 processes to calculate scattering
  - time: 19.8486 s

Scattering information:
  - # ir k-points: 9020

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

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

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

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

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

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

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

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

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

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

Interpolating missing scattering rates
  - time: 1.7703 s

Filling scattering rates [s⁻¹] outside FD cutoffs with:

  conc [cm-3]    temp [K]       ADP       IMP       POP
-------------  ----------  --------  --------  --------
     1.00e+13       300.0  1.39e+12       nan  8.20e+12
     1.00e+14       300.0  1.39e+12       nan  8.20e+12
     1.00e+15       300.0  1.39e+12       nan  8.20e+12
     1.00e+16       300.0  1.39e+12       nan  8.19e+12
     1.00e+17       300.0  1.39e+12       nan  8.10e+12
     1.00e+18       300.0  1.39e+12       nan  7.63e+12
     1.00e+19       300.0  1.39e+12       nan  6.71e+12
     1.00e+20       300.0  1.39e+12       nan  5.29e+12
     1.00e+21       300.0  1.39e+12       nan  2.33e+12
     0.00e+00       300.0  1.39e+12  1.00e-32  5.08e+12


~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TRANSPORT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Calculating conductivity, Seebeck, and electronic thermal 
conductivity


  ERROR: amset exiting on 31 May 2025 at 10:55
Traceback (most recent call last):
  File "/home/hyj/.local/bin/amset", line 8, in <module>
    sys.exit(cli())
  File "/home/hyj/.local/lib/python3.10/site-
packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/hyj/.local/lib/python3.10/site-
packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/hyj/.local/lib/python3.10/site-
packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/hyj/.local/lib/python3.10/site-
packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/hyj/.local/lib/python3.10/site-
packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/tools/run.py", line 139, in run
    runner.run()
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/core/run.py", line 65, in run
    mem_usage, (amset_data, usage_stats) = memory_usage(
  File "/home/hyj/.local/lib/python3.10/site-
packages/memory_profiler.py", line 379, in memory_usage
    returned = f(*args, **kw)
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/core/run.py", line 124, in _run_wrapper
    amset_data, timing = self._do_fd_tol(amset_data, directory, 
prefix, timing)
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/core/run.py", line 135, in _do_fd_tol
    amset_data, transport_time = self._do_transport(amset_data)
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/core/run.py", line 282, in _do_transport
    transport_properties = solve_boltzman_transport_equation(
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/core/transport.py", line 39, in 
solve_boltzman_transport_equation
    sigma, seebeck, kappa = _calculate_transport_properties(
  File "/home/hyj/.local/lib/python3.10/site-
packages/amset/core/transport.py", line 186, in 
_calculate_transport_properties
    sigma[n, t], seebeck[n, t], kappa[n, t], _ = 
calc_Onsager_coefficients(
  File "/home/hyj/.local/lib/python3.10/site-
packages/BoltzTraP2/bandlib.py", line 538, in 
calc_Onsager_coefficients
    pL11 = np.linalg.pinv(L11[iT, imu])
  File "/home/hyj/.local/lib/python3.10/site-
packages/numpy/linalg/linalg.py", line 2022, in pinv
    u, s, vt = svd(a, full_matrices=False, hermitian=hermitian)
  File "/home/hyj/.local/lib/python3.10/site-
packages/numpy/linalg/linalg.py", line 1681, in svd
    u, s, vh = gufunc(a, signature=signature, extobj=extobj)
  File "/home/hyj/.local/lib/python3.10/site-
packages/numpy/linalg/linalg.py", line 121, in 
_raise_linalgerror_svd_nonconvergence
    raise LinAlgError("SVD did not converge")
numpy.linalg.LinAlgError: SVD did not converge

Thank you very much!

Best wishes,
Y. J.Hao

I solved it. Thank you very much!

@yjhao Can you please tell me how you solved the problem? Thanks in advance.

1 Like

@alex can you please help?

I also encountered this kind of problem, please ask how you solve