Describe the bug
The n/k data for InGaAs alloys (unless In fraction = 0) does not look correct, and the data files end at 840 nm even for the compositions where the bandgaps should be well beyond this wavelength.
To Reproduce
from solcore import material
import numpy as np
import matplotlib.pyplot as plt
from solcore.constants import q
import seaborn as sns
cols = sns.cubehelix_palette(8, start=.5, rot=-.75)
wl = np.linspace(300, 1000, 1000)*1e-9
In_c = np.linspace(0, 0.24, 5)
for i1, in_f in enumerate(In_c):
GaAs = material("InGaAs")(In=in_f)
plt.semilogy(wl*1e9, GaAs.k(wl), label=in_f, color=cols[i1])
print(GaAs.get("band_gap")/q)
plt.legend(title="In fraction")
plt.xlabel("Wavelength (nm)")
plt.ylabel("k")
plt.show()
This gives the following plot:

Clearly, the noise near the bandgap are not correct (looks like dodgy ellipsometry data fitting to me). The missing data for longer wavelengths is also an issue because generally, simulations for multi-junction cells will go to longer wavelengths, and currently the k-values get extrapolated at finite values so the InGaAs layer stays absorbing at any longer wavelength.
Describe the bug
The n/k data for InGaAs alloys (unless In fraction = 0) does not look correct, and the data files end at 840 nm even for the compositions where the bandgaps should be well beyond this wavelength.
To Reproduce
This gives the following plot:
Clearly, the noise near the bandgap are not correct (looks like dodgy ellipsometry data fitting to me). The missing data for longer wavelengths is also an issue because generally, simulations for multi-junction cells will go to longer wavelengths, and currently the k-values get extrapolated at finite values so the InGaAs layer stays absorbing at any longer wavelength.