optics{ irradiation{} }¶
Output of comparison spectra, compute light field in the device, and photo-generation.
Note that spectral data can be alternatively defined in the database (see also Optical groups in database{} for list of predefined illumination spectra), in the database section of the input file, or imported from external files.
Lorentzian, Gaussian and Planck illumination spectra are fully additive, i.e. several of each can be added as needed in order to synthesize more complex illumination spectra.
Attributes for Specifying Energy Grid¶
- min_wavelength
minimum photon wavelength
- value:
real value >= 10 and <= 1e6
- units:
[nm]
- max_wavelength
maximum photon wavelength
- value:
real value >= 10 and <= 1e6
- units:
[nm]
- min_energy
minimum photon energy
- value:
real value >= 1e-6 and <= 100
- units:
[eV]
- max_energy
maximum photon energy
- value:
real value >= 1e-6 and <= 100
- units:
[eV]
- energy_resolution
resolution of energy grid
- value:
real value >= 1e-6
- units:
[eV]
irradiation{
min_energy = 0.5
max_energy = 5.0
# min_wavelength = 300.0
# max_wavelength = 2000.0
energy_resolution = 0.01
}
illumination{}¶
A group defining illumination of modelled device
- direction_x
ascending/descending illumination in x direction
- value:
integer +1/-1
- units:
(dimensionless)
- direction_y
ascending/descending illumination in y direction
- value:
integer +1/-1
- units:
(dimensionless)
- direction_z
ascending/descending illumination in z direction
- value:
integer +1/-1
- units:
(dimensionless)
- database_spectrum{}
Importing one of several spectra (solar spectra, CIE illuminants, coefficient, reflectivity, …), which can be found in the database file Optical groups in database{}. Relative intensities (e.g. CIE illuminants) are normalized to 1.0 \(\mathrm{W/m}^2\)
- name
- value:
string
- concentration
- value:
real value >= 0.0
- default:
1.0
illumination{ direction_x = 1 database_spectrum{ name = "Solar-ASTM-G173-global" # name = "CIE-D75" concentration = 300 # e.g. 300 suns } }- import_spectrum{}
importing spectrum from a file
- import_from
path to a spectrum for importing
- type:
string
- cutoff
- choice:
yes or no
- absolute_intensities
- choice:
yes or no
- concentration
- type:
real
illumination{ direction_x = 1 import_spectrum{ import_from = "filename" cutoff = yes # yes/no: If yes, set values outside definition interval to zero. # (default=?) absolute_intensities = yes # yes/no (default: yes) # If no, spectrum does not contain absolute values, # normalize intensity to 1 [W/cm^2 nm^-1] before concentration concentration = 300 # e.g. 300 suns } }- constant_spectrum{} (optional)
- irradiance
- type:
real
- unit:
\(W/m^2\)
constant_spectrum{ irradiance = 10000.0 # in [W/m^2], integrated as min_energy...max_energy }- planck_spectrum{} (optional)
- irradiance
- type:
real
- unit:
\(W/m^2\)
- temperature
- type:
real
- unit:
\(K\)
planck_spectrum{ irradiance = 10000.0 # in [W/m^2], for complete(!) Planck spectrum; real value >= 0.0 temperature = 5000.0 # real value >= 1e-6 }- lorentzian_spectrum{} (optional)
- irradiance
- type:
real
- unit:
\(W/m^2\)
- wavelength (optional)
- type:
real
- unit:
\(nm\)
- width (optional)
- type:
real
- unit:
\(nm\)
- energy (optional)
- type:
real
- unit:
\(eV\)
- gamma (optional)
- type:
real
- unit:
\(eV\)
lorentzian_spectrum{ irradiance = 10000.0 # in [W/m^2], for complete(!) Lorentzian spectrum; real value >= 0.0 # Specify either wavelength and width, or ... wavelength = 500.0 # real value >= 10.0 in |unit:nm| width = 100.0 # real value >= 1e-3 in |unit:nm| # ... specify energy and gamma. energy = 2.5 # real value >= 1e-6 in |unit:eV| gamma = 1.0 # real value >= 1e-6 in |unit:eV| }- gaussian_spectrum{} (optional)
- irradiance
- type:
real
- unit:
\(W/m^2\)
- wavelength (optional)
- type:
real
- unit:
\(nm\)
- width (optional)
- type:
real
- unit:
\(nm\)
- energy (optional)
- type:
real
- unit:
\(eV\)
- gamma (optional)
- type:
real
- unit:
\(eV\)
gaussian_spectrum{ irradiance = 1000.0 # in [W/m^2], for complete(!) Gaussian spectrum; real value >= 0.0 # Specify either wavelength and width, or ... wavelength = 500.0 # real value >= 10.0 in |unit:nm| width = 100.0 # real value >= 1e-3 in |unit:nm| # ... specify energy and gamma. energy = 2.5 # real value >= 1e-6 in |unit:eV| gamma = 1.0 # real value >= 1e-6 in |unit:eV| }
reflectivity{} (optional)¶
- database_spectrum{} (optional)
- name
- value:
string
reflectivity{ database_spectrum{ name = "Al0.80Ga0.20As" }- import_spectrum{} (optional)
importing spectrum from a file
- import_from
path to a spectrum for importing
- type:
string
- cutoff
- choice:
yes or no
import_spectrum{ import_from = "filename" cutoff = yes # yes/no: If yes, set values outside definition interval to zero. # (default=?) }- constant_spectrum{} (optional)
- reflectivity
- type:
real
constant_spectrum{ reflectivity = 0.5 # real value >= 0.0 and <= 1.0 (dimensionless) }
absorption{} (optional)¶
- database_spectrum{} (optional)
- name
- value:
string
absorption{ database_spectrum{ name = "GaAs" } }- import_spectrum{} (optional)
importing spectrum from a file
- import_from
path to a spectrum for importing
- type:
string
- cutoff
- choice:
yes or no
- decadic_absorption_unit
- choice:
yes or no
absorption{ import_spectrum{ import_from = "filename" cutoff = yes # yes/no: If yes, set values outside definition interval to zero. # (default=?) decadic_absorption_unit = no # yes or no, default: no } }- constant_spectrum{} (optional)
- absorption
- type:
real
- unit:
1/cm
- decadic_absorption_unit
- type:
real
- unit:
dB/um
absorption{ constant_spectrum{ absorption = 0.5 # real value >= 0.0 [1/cm] # or decadic_absorption = 0.0 # real value >= 0.0 } }
output_spectra{}¶
- illumination (optional)
- type:
choice
- values:
yes or no
- reflectivity (optional)
- type:
choice
- values:
yes or no
- absorption (optional)
- type:
choice
- values:
yes or no
- decadic_absorption (optional)
- type:
choice
- values:
yes or no
- spectra_over_energy (optional)
- type:
choice
- values:
yes or no
- spectra_over_wavelength (optional)
- type:
choice
- values:
yes or no
- spectra_over_frequency (optional)
- type:
choice
- values:
yes or no
- spectra_over_wavenumber (optional)
- type:
choice
- values:
yes or no
output_spectra{ illumination = yes # yes/no outputs spectrum binned to energy grid reflectivity = yes # yes/no outputs spectrum binned to energy grid absorption = yes # yes/no outputs spectrum binned to energy grid decadic_absorption = yes # yes/no outputs spectrum binned to energy grid spectra_over_energy = yes # yes/no (default: yes) spectra_over_wavelength = yes # yes/no (default: yes) spectra_over_frequency = yes # yes/no (default: no) spectra_over_wavenumber = yes # yes/no (default: no) }
photo_generation{}¶
Output generated carriers \(G(x)\) and \(G(x,E)\) due to photon absorption.
- output
- type:
choice
- values:
yes or no
- output_spectrum
- type:
choice
- values:
yes or no
- output_energy_resolved
- type:
choice
- values:
yes or no
- output_quantum_efficiency
- type:
choice
- values:
yes or no
photo_generation{ output = yes # yes/no (default: yes) output_spectrum = yes # yes/no (default: no) output_energy_resolved = yes # yes/no (default: no) output_quantum_efficiency = yes # yes/no (default:yes) }
Output of Light Field¶
The light field is calculated as a function of position and energy.
- output_light_field
- options:
yes
orno
- default:
no
output_light_field = yes