Other optical methods¶
Finally, the optical properties of the solar cell can be defined with a simple Beer-Lambert formalism and also provided externally by the user. These section describe the methods that are called internally by the solar cell solver in these two cases.
Beer-Lambert law¶
-
solcore.optics.beer_lambert.
solve_beer_lambert
(solar_cell: solcore.solar_cell.SolarCell, wavelength: numpy.ndarray[Any, numpy.dtype[ScalarType]], **kwargs) → None[source]¶ Calculates RAT of a solar cell object using the Beer-Lambert law.
Reflection is not really calculated and needs to be provided externally, otherwise it is assumed to be zero.
- Args:
- solar_cell: A solar_cell object
- wavelength: Array of wavelegth at which the optics are calculated.
- Return:
- None
External optics¶
-
solcore.optics.external_optics.
solve_external_optics
(solar_cell: solcore.solar_cell.SolarCell, wavelength: numpy.ndarray[Any, numpy.dtype[ScalarType]], position: numpy.ndarray[Any, numpy.dtype[ScalarType]], **kwargs) → None[source]¶ Calculates RAT of a solar cell from external data
It also prepares the structure for further calculations. The external data that must be provided in the solar cell definition is:
- external_reflected: a function that provides the fraction of reflected light at the specified wavelengths (in m).
- external_absorbed: a function that provides an array with the differential absorption at a depth Z (in m) at the specified wavelengths.
Note that both are functions of a single variable - wavelength in the first case and position in the second - and that the latter provides as output an array at the wavelengths indicated in the options.
- Args:
- solar_cell: A solar_cell object
- wavelength: Array of wavelegth at which the optics are calculated.
- position: Array of positions in the z direction to calculate the absorption vs depth.
- Return:
- None