optics{ global_illumination{ } }
usage:
items: maximum 1
This group is defining a spectrum of radiation illuminating modelled device.
Note
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.
Hint
Spectral data can be 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.
Important
The following general conditions must be satisfied when defining optics{ global_illumination{ } }
Maximum one of the following can be defined: database_spectrum{ }, import_spectrum{ }, constant_spectrum{ } within this group.
Exactly one of the following must be defined: direction_x, direction_y, direction_z within this group.
If global{ simulate1D{ } } is specified in the input file, then direction_y and direction_z are not allowed.
If global{ simulate2D{ } } is specified in the input file, then direction_z is not allowed.
Maintained Keywords
The keywords below are available in at least one of currently published releases and are planned to be included also in the next release.
direction_x
usage:
type: integer
values:
or unit:
Sets ascending
direction_y
usage:
type: integer
values:
or unit:
Sets ascending
direction_z
usage:
type: integer
values:
or unit:
Sets ascending
database_spectrum{ }
usage:
items: maximum 1
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
database_spectrum{ name }
usage:
type: character string
Name of the illumination spectrum contained in the database to be used.
database_spectrum{ concentration }
usage:
type: real number
values:
[0.0, ...)
default:
unit:
Scaling factor multiplying the values of the spectrum.
import_spectrum{ }
usage:
items: maximum 1
Importing spectrum from a file
Important
The following general conditions must be satisfied when defining import_spectrum{ }
The import{ } must be specified in the input file.
import_spectrum{ import_from }
usage:
type: character string
Reference name used in the import{ }
group to label the imported spectrum.
import_spectrum{ cutoff }
usage:
type: choice
values:
yes
orno
If set to yes
, then the values of the spectrum which are outside the definition interval are set to zero.
Otherwise, the spectrum is extrapolated as a constant with the value on the boundary of the imported data.
import_spectrum{ energy_spectrum }
usage:
type: choice
values:
yes
orno
default:
no
If set to yes
, then the imported spectrum is assumed to be given as a function of energy. Otherwise, the spectrum is assumed to be given as a function of wavelength.
import_spectrum{ absolute_intensities }
usage:
type: choice
values:
yes
orno
default:
yes
If set to yes
, then the values are directly imported without normalization.
Otherwise, the values of the imported spectrum are normalized to the total intensity of the spectrum.
import_spectrum{ concentration }
usage:
type: real number
values:
[0.0, ...)
unit:
default:
Scaling factor multiplying the values of the spectrum.
constant_spectrum{ }
usage:
items: maximum 1
Define illumination source with a constant radiation spectrum of the form
constant_spectrum{ irradiance }
usage:
type: real number
values:
[0.0, ...)
unit:
Total intensity :math:` I_0 = int I(E)dE` of the spectrum, integrated from
planck_spectrum{ }
usage:
items: no constraints
Define illumination source with a black-body radiation spectrum
where
planck_spectrum{ irradiance }
usage:
type: real number
values:
[0.0, ...)
unit:
Total intensity :math:` I_0 = int I(E)dE` of the spectrum
planck_spectrum{ temperature }
usage:
type: real number
values:
[1e-6, ...)
unit:
Temperature
lorentzian_spectrum{ }
usage:
items: no constraints
Define illumination source with a Lorentzian radiation spectrum
Important
The following general conditions must be satisfied when defining lorentzian_spectrum{ }
Exactly one, lorentzian_spectrum{ wavelength } or lorentzian_spectrum{ energy } is specified within this group.
Exactly one, lorentzian_spectrum{ width } or lorentzian_spectrum{ gamma } is specified within this group.
lorentzian_spectrum{ irradiance }
usage:
type: real number
values:
[0.0, ...)
unit:
Total intensity :math:` I_0 = int I(E)dE` of the spectrum
lorentzian_spectrum{ wavelength }
usage:
type: real number
values:
[10.0, ...)
unit:
Central wavelength
lorentzian_spectrum{ energy }
usage:
type: real number
values:
[1e-6, ...)
unit:
Central energy
lorentzian_spectrum{ width }
usage:
type: real number
values:
[1e-3, ...)
unit:
Define the width of the spectrum in nm
lorentzian_spectrum{ gamma }
usage:
type: real number
values:
[1e-6, ...)
unit:
Define the width of the spectrum in eV
gaussian_spectrum{ }
Define illumination source with a Gaussian spectrum
usage:
items: no constraints
Important
The following general conditions must be satisfied when defining gaussian_spectrum{ }
Exactly one, gaussian_spectrum{ wavelength } or gaussian_spectrum{ energy } is specified within this group.
Exactly one, gaussian_spectrum{ width } or gaussian_spectrum{ gamma } is specified within this group.
gaussian_spectrum{ irradiance }
usage:
type: real number
values:
[0.0, ...)
unit:
Total intensity :math:` I_0 = int I(E)dE` of the spectrum
gaussian_spectrum{ wavelength }
usage:
type: real number
values:
[10.0, ...)
unit:
Central wavelength
gaussian_spectrum{ energy }
usage:
type: real number
values:
[1e-6, ...)
unit:
Central energy
gaussian_spectrum{ width }
usage:
type: real number
values:
[1e-3, ...)
unit:
Define the width of the spectrum in nm
gaussian_spectrum{ gamma }
usage:
type: real number
values:
[1e-6, ...)
unit:
Define the width of the spectrum in eV
Examples
constant_spectrum{
irradiance = 10000.0 # in [W/m^2], integrated as min_energy...max_energy
}
planck_spectrum{
irradiance = 10000.0 # in [W/m^2], for complete(!) Planck spectrum; real value >= 0.0
temperature = 5000.0 # real value >= 1e-6
}
global_illumination{
direction_x = 1
database_spectrum{
name = "Solar-ASTM-G173-global"
# name = "CIE-D75"
concentration = 300 # e.g. 300 suns
}
}
global_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
}
}
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{
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|
}