Power-dependent PL analysis of input.csv

Data: 1024 energy points (1.196-1.606 eV), 15 spectra at 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100 uW. The file already holds one merged spectrum per power (one column each), so each column was fitted as a whole.

Lorentzian fit (each spectrum, over the full range): y = y0 + sum_i A_i (w_i/2)^2 / ((x - xc_i)^2 + (w_i/2)^2)
- Peak 1: main PL peak, about 1.32-1.335 eV, FWHM about 0.06-0.07 eV
- Peak 2: weaker peak, about 1.53-1.54 eV, FWHM about 0.08-0.11 eV
- A third Lorentzian, with its centre held above 1.606 eV, models the rising edge at the high-energy end of the window. It only absorbs that tail and is not reported as a peak.
- Intensity = Lorentzian peak height A (counts); position = xc (eV)

P(uW) | I1 (counts)   | xc1 (eV)        | I2 (counts)  | xc2 (eV)
  5   |  122.7 ± 1.5  | 1.3180 ± 0.0004 |  79.1 ± 4.8  | 1.5363 ± 0.0029
 10   |  226.6 ± 1.6  | 1.3231 ± 0.0002 | 109.4 ± 10.3 | 1.5307 ± 0.0016
 15   |  319.3 ± 1.8  | 1.3252 ± 0.0002 | 153.9 ± 10.8 | 1.5322 ± 0.0011
 20   |  409.8 ± 2.0  | 1.3269 ± 0.0002 | 199.6 ± 11.0 | 1.5334 ± 0.0009
 25   |  500.8 ± 2.0  | 1.3281 ± 0.0001 | 244.8 ± 12.1 | 1.5346 ± 0.0008
 30   |  593.9 ± 2.2  | 1.3291 ± 0.0001 | 281.4 ± 15.1 | 1.5363 ± 0.0010
 35   |  669.2 ± 2.3  | 1.3295 ± 0.0001 | 299.0 ± 12.7 | 1.5352 ± 0.0007
 40   |  792.7 ± 2.5  | 1.3307 ± 0.0001 | 354.0 ± 16.7 | 1.5373 ± 0.0008
 45   |  855.1 ± 4.9  | 1.3309 ± 0.0002 | 450.8 ± 16.1 | 1.5427 ± 0.0015
 50   |  947.8 ± 3.0  | 1.3319 ± 0.0001 | 417.9 ± 18.9 | 1.5357 ± 0.0008
 60   | 1131.8 ± 3.4  | 1.3324 ± 0.0001 | 491.9 ± 19.9 | 1.5361 ± 0.0007
 70   | 1321.5 ± 3.8  | 1.3336 ± 0.0001 | 544.2 ± 24.1 | 1.5372 ± 0.0008
 80   | 1501.9 ± 4.2  | 1.3338 ± 0.0001 | 606.5 ± 27.3 | 1.5397 ± 0.0010
 90   | 1723.3 ± 4.7  | 1.3344 ± 0.0001 | 659.0 ± 30.7 | 1.5392 ± 0.0009
100   | 1989.0 ± 5.3  | 1.3350 ± 0.0001 | 704.5 ± 33.9 | 1.5391 ± 0.0010
(The 45 uW spectrum has a spike at the last few points near 1.605 eV, and its peak-2 value is somewhat off the trend.)

Allometric fits, y = a * P^b (unweighted nonlinear least squares):
Plot 1, peak intensity vs power:
- Peak 1: a = 20.1 ± 1.6, b = 0.990 ± 0.019, R^2 = 0.9974 (nearly linear, I ∝ P^0.99)
- Peak 2: a = 21.0 ± 2.3, b = 0.767 ± 0.026, R^2 = 0.991 (sublinear)
Plot 2, peak position vs power:
- Peak 1: a = 1.3103 ± 0.0005 eV, b = 0.00412 ± 0.00010, R^2 = 0.993 (small blueshift, about 17 meV from 5 to 100 uW)
- Peak 2: a = 1.528 ± 0.003 eV, b = 0.0015 ± 0.0005, R^2 = 0.41 (nearly constant, about 1.536 eV)

Files: lorentz_results.csv (fit parameters), intensity_vs_power.svg, position_vs_power_peak1.svg, position_vs_power_peak2.svg, final.py (the fitting script).

The headline exponent is the one for the main peak's intensity vs power (Peak 1).

RESULT: b = 0.990 ± 0.019
