qpv-research-group / solcore5

A multi-scale, python-based library for the modelling of solar cells and semiconductor materials
https://www.solcore.solar/
Other
133 stars 77 forks source link

InGaAs material data is incorrect #255

Open phoebe-p opened 1 year ago

phoebe-p commented 1 year ago

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:

myplot3

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.

phoebe-p commented 1 year ago

@dalonsoa, do you have any idea where this optical constant data for InGaAs came from? There doesn't seem to be a note of it anywhere that I can find. There are four sets of files, for 0%, 10%, 20% and 24% In.

Edit: it seems to be the same data as here which also ends at around 840 nm. Will probably use a critical point model to construct data at longer wavelengths.

dalonsoa commented 1 year ago

Sorry - was on holidays. This data predates me. Maybe @iclned knows where it is coming from. It is also unclear if it is relaxed InGaAs or strained, grown on GaAs...

phoebe-p commented 1 year ago

Hi Diego, no problem, I think I figured it out anyway! The data seems to come from the Ioffe database (not sure what their source is), but it is very low-quality and apparently for strained InGaAs which does not really make sense for a bulk junction! I have identified an alternative data source for relaxed InGaAs.