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, options)[source]

Calculates the reflection, transmission and absorption 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.

Parameters:
  • solar_cell
  • options
Returns:

solcore.optics.beer_lambert.absorbed(self, z)[source]
solcore.optics.beer_lambert.calculate_absorption_beer_lambert(widths, alphas, fraction)[source]
solcore.optics.beer_lambert.calculate_absorptance_PDD_and_DA(junction, wl, fraction)[source]
solcore.optics.beer_lambert.calculate_absorptance_DB(junction, wl, fraction)[source]

External optics

solcore.optics.external_optics.solve_external_optics(solar_cell, options)[source]

Calculates the reflection, transmission and absorption of a solar cell from external data, preparing 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.

Parameters:
  • solar_cell
  • options
Returns:

solcore.optics.external_optics.absorbed(self, z)[source]