def da_options(): from solcore.state import State options = State() wl = np.linspace(290, 700, 150) * 1e-9 options.T = np.random.uniform(250, 350) options.wavelength = wl options.light_source = da_light_source() options.position = None options.internal_voltages = np.linspace(-6, 4, 20) return options
# General default_options.T_ambient = 298 default_options.T = 298 # Illumination spectrum default_options.wavelength = np.linspace(300, 1800, 251) * 1e-9 default_options.light_source = LightSource(source_type='standard', version='AM1.5g', x=default_options.wavelength, output_units='photon_flux_per_m') # IV control default_options.voltages = np.linspace(0, 1.2, 100) default_options.mpp = False default_options.light_iv = False default_options.internal_voltages = np.linspace(-6, 4, 1000) default_options.position = None default_options.radiative_coupling = False # Optics control default_options.optics_method = 'BL' default_options.recalculate_absorption = False default_options = merge_dicts(default_options, ASC.db_options, PDD.pdd_options, rcwa_options) def solar_cell_solver(solar_cell, task, user_options=None): """ Solves the properties of a solar cell object, either calculating its optical properties (R, A and T), its quantum efficiency or its current voltage characteristics in the dark or under illumination. The general options for the solvers are passed as dicionaries. :param solar_cell: A solar_cell object