Skip to content

Commit 3dcf003

Browse files
committed
added function to compute useful power and spectral efficiency for multi-junction STPV
1 parent 8015fbd commit 3dcf003

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

wptherml/stpvlib.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,25 @@
1111
k=1.38064852e-23
1212

1313

14+
''' An idealized efficiency figure of merit with a numerator
15+
that is proportional to short circuit current and a denominator proporitonal
16+
to incident power... the light-source can be thermal emission or can be solar. '''
17+
def multi_spectral_efficiency(lam, light, lbg1, lbg2):
18+
### upper-bound of light-source
19+
upper = np.amax(lam)
20+
### integrand for PV 1
21+
num_integrand_1 = light * lam/lbg1
22+
### integrand for PV 2
23+
num_integrand_2 = light * lam/lbg2
24+
### numerator 1
25+
numerator_1 = numlib.Integrate(num_integrand_1, lam, 1e-9, lbg1)
26+
### numerator 2
27+
numerator_2 = numlib.Integrate(num_integrand_2, lam, lbg1, lbg2)
28+
### denominator
29+
denominator = numlib.Integrate(light, 1e-9, upper)
30+
31+
return numerator_1, numerator_2, denominator
32+
1433
### Trial objective function for multi-junction STPV with a single emitter!
1534
def jsc_multi(lam, TE, eps_pv1, eps_pv2, T_pv1):
1635
upper = np.amax(lam)

wptherml/wpml.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -701,6 +701,19 @@ def filter_grad(self):
701701
### Normal versions first - no explicit dependence on angle
702702

703703
### Spectral Efficiency - see Eq. 4 in Jeon et al, Adv. Energy Mater. 2018 (8) 1801035
704+
''' method for multi-junction stpv devices! Provide the light-source and the band-gap wavelengths
705+
of the first and second PVs, it will return the useful power density of the first and
706+
second PVs along with the incident power density! '''
707+
def multistpv_se(self, light, lbg1, lbg2):
708+
output = stpvlib.multi_spectral_efficiency(self.lambda_array, light, lbg1, lbg2)
709+
self.pv1_useful_power_val = output[0]
710+
self.pv2_useful_power_val = output[1]
711+
self.pv1_spectral_efficiency_val = output[0]/output[2]
712+
self.pv2_spectral_efficiency_val = output[1]/output[2]
713+
self.spectral_efficiency_val = (output[0]+output[1])/output[2]
714+
return 1
715+
716+
704717
def stpv_se(self):
705718
self.spectral_efficiency_val = stpvlib.SpectralEfficiency(self.thermal_emission_array,
706719
self.lambda_array,

0 commit comments

Comments
 (0)