#!/usr/bin/env python # coding: utf-8 # In[ ]: import numpy as np import matplotlib.pyplot as plt # In[ ]: from solcore.light_source import LightSource, SmartsSolverError # In[ ]: wl = np.linspace(300, 3000, 200) # Now different types of light sources can be defined # In[ ]: gauss = LightSource(source_type='laser', x=wl, center=800, linewidth=50, power=200) bb = LightSource(source_type='black body', x=wl, T=5800, entendue='Sun') am15g = LightSource(source_type='standard', x=wl, version='AM1.5g') spectral = LightSource(source_type='SPECTRAL2', x=wl) # Plot comparing the different light sources # In[ ]: plt.figure(1) plt.plot(*gauss.spectrum(), label='Gauss') plt.plot(*bb.spectrum(), label='Black body') plt.plot(*am15g.spectrum(), label='AM1.5G') plt.plot(*spectral.spectrum(), label='SPECTRAL2') try: smarts = LightSource(source_type='SMARTS', x=wl) plt.plot(*smarts.spectrum(), label='SMARTS') except SmartsSolverError: pass plt.xlim(300, 3000) plt.xlabel('Wavelength (nm)') plt.ylabel('Power density (Wm$^{-2}$nm$^{-1}$)') plt.tight_layout() plt.legend() # In[ ]: try: if "smarts" in locals(): # Plot comparing the spectra calculated with SMARTS at different hours of the day for h in range(8, 20): plt.plot(*smarts.spectrum(HOUR=h), label='{} h'.format(h)) plt.xlim(300, 3000) plt.xlabel('Wavelength (nm)') plt.ylabel('Power density (Wm$^{-2}$nm$^{-1}$)') plt.tight_layout() plt.legend() except SmartsSolverError: pass plt.show()