Dear Alex,
I am calculating the conductivity for a 3D system. All was going well on AMSET until I changed the doping part from -1E18:-1E21:17 to -1E6:-1E9:17. There is an error like “numpy.linalg.LinAlgError: SVD did not converge for a 3D system”.
The settings.yaml is as follow:
# general settings
doping: -1E6:-1E9:17
temperatures: 300:1800:17
scattering_type: ["IMP", "ADP", "POP"]#, "MFP", "CRT"]
# electronic_structure settings
interpolation_factor: 70
wavefunction_coefficients: "wavefunction.h5"
# material settings# material settings
acceptor_charge: 1
donor_charge: 1
free_carrier_screening: true
deformation_potential: "deformation.h5"
elastic_constant:
- [ 33.909, 11.660, 7.431, 0.005, -0.783, -0.004 ]
- [ 11.660, 41.657, 9.479, 0.007, 0.278, -0.004 ]
- [ 7.431, 9.479, 28.838, 0.007, 0.415, -0.004 ]
- [ 0.005, 0.007, 0.007, 9.348, -0.003, 0.254 ]
- [ -0.783, 0.278, 0.415, -0.003, 8.011, 0.002 ]
- [ -0.004, -0.004, -0.004, 0.254, 0.002, 14.417 ]
static_dielectric:
- [9.749399, 0.013434, 0.269193]
- [ 0.013434, 9.871608, -0.002159]
- [ 0.269193, -0.002159, 7.82715]
high_frequency_dielectric:
- [2.912250, 0, 0]
- [ 0, 2.931501, 0]
- [ 0, 0, 2.941479]
#piezoelectric_constant:the material you're looking at is not piezoelectric
pop_frequency: 4.92
mean_free_path: 20
constant_relaxation_time: 1e-14
write_mesh: true
nworkers: 32
the error output is as follow:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TRANSPORT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Calculating conductivity, Seebeck, and electronic thermal
conductivity
ERROR: amset exiting on 11 May 2023 at 08:35
Traceback (most recent call last):
File "/home/ucczfz3/Documents/miniconda3/envs/amset/bin/amset",
line 8, in <module>
sys.exit(cli())
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/amset/tools/run.py", line 139, in run
runner.run()
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/amset/core/run.py", line 65, in run
mem_usage, (amset_data, usage_stats) = memory_usage(
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/memory_profiler.py", line 379, in memory_usage
returned = f(*args, **kw)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/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/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/amset/core/run.py", line 135, in _do_fd_tol
amset_data, transport_time = self._do_transport(amset_data)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/amset/core/run.py", line 282, in _do_transport
transport_properties = solve_boltzman_transport_equation(
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/amset/core/transport.py", line 39, in
solve_boltzman_transport_equation
sigma, seebeck, kappa = _calculate_transport_properties(
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/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/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/BoltzTraP2/bandlib.py", line 530, in
calc_Onsager_coefficients
pL11 = np.linalg.pinv(L11[iT, imu])
File "<__array_function__ internals>", line 180, in pinv
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/numpy/linalg/linalg.py", line 1998, in pinv
u, s, vt = svd(a, full_matrices=False, hermitian=hermitian)
File "<__array_function__ internals>", line 180, in svd
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/numpy/linalg/linalg.py", line 1657, in svd
u, s, vh = gufunc(a, signature=signature, extobj=extobj)
File
"/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
packages/numpy/linalg/linalg.py", line 98, in
_raise_linalgerror_svd_nonconvergence
raise LinAlgError("SVD did not converge")
numpy.linalg.LinAlgError: SVD did not converge