<jupyter_start><jupyter_text>Calculate triple-junction cell with Germanium substrate<jupyter_code>top_eg=np.linspace(1.6,2.2,num=20) # Set up range of top cell band gaps
mid_eg=np.linspace(0.9,1.55,num=20)# Set up range of top cell band gaps

eta=np.zeros((20,20)) # Initialize an array for storing efficiencies

ge_cell=SQCell(eg=0.67,cell_T=293)
for i,teg in enumerate(top_eg):
    for j,beg in enumerate(mid_eg):
        tc=SQCell(eg=teg,cell_T=293) # Set up top cell
        bc=SQCell(eg=beg,cell_T=293) # Set up bottom cell
        mj=MJCell([tc, bc,ge_cell]) # Make multijunction cell by "streaming" the 1J cells
        mj.set_input_spectrum(input_ill) # Set up the illumination
        eta[i,j]=mj.get_eta() # Store the calculated efficiency in an array
levels=np.unique(np.concatenate((np.arange(0.12,0.6,step=0.06),[0.44,0.46,0.48,0.50])))
cs=plt.contour(mid_eg,top_eg,eta,levels)
plt.clabel(cs,levels, fontsize=9, inline=1,fmt="%.2f")
plt.xlabel("middle cell band gap (eV)")
plt.ylabel("top cell band gap (eV)")
plt.savefig("3J_2d.pdf")
np.max(eta)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1487603305785124, 'fraction_numerical': 0.050505050505050504, 'mean_word_length': 5.374269005847953, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '424558', 'license': 'Apache-2.0', 'n_tokens_mistral': 483, 'n_tokens_neox': 434, 'n_words': 89, 'path': 'legacy/Optimal band gap of multi-junction cells.ipynb', 'repo_name': 'kanhua/pypvcell', 'size': '1089'}