optics{ quantum_spectra{ } }

  • usage: optional

  • items: no constraints

This group specifies numerical properties of the quantum model used for computations of optical spectra base on the Fermi’s Golden Rule.

Note

Our algorithms and models controlled by keywords in this group are intensively developed. For this reason, related syntax may substantially change with each next release. Users of this group are highly encouraged to update the tool regularly with the new releases and to use our support system to give us feedback on any related issues.

Note

In the current versions, this group should not be used for modeling optical spectra for transitions between two separate 1-band models (e.g., triggered by Gamma{ } and HH{ }) or between a 1-band model and 6-band model (e.g., Gamma{ } and kp_6band{ }). Computations within single models (e.g., only within kp_8band{ }, only within Gamma{ }, etc.) are supported.

Dependencies



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.


name

  • usage: required

  • type: character string

The name of already defined region in region{ } for which optical generation should be calculated. Multiple numerical parameters are inherited after the definitions in the region{ } referred to.


spin_align

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes for Pauli equation solved with 6-band or 8-band kp method, a spin-basis transformation is performed for each pair of quantum states (i, i+1), with i being an odd number, such that matrix representation of the Pauli operator σ^ multiplied by a selected versor (along the z direction in 3D, and the x direction in 1D and 2D) becomes diagonal in the subspace defined by these two states. With other words, spinor compositions of degenerate (due to lack of magnetic field) pairs of quantum states are chosen as if magnetic field was parallel to the z direction (3D) or x direction (1D, 2D). This procedure is triggered before running an algorithm computing optical spectra.


interband

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Compute optical transitions dominating in interband transitions, typically conduction band to valence band transitions.


intraband

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Compute optical transitions dominating in intraband transitions, typically conduction band to conduction band transitions.


interband_approximation

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Only terms of the type <c|p|v> and <v|p|c> are taken into account (c=s and v=x,y,z)


intraband_approximation

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Only terms of the type <c|p|c> and <v|p|v> are taken into account (c=s and v=x,y,z)


enable_hole_hole

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If yes then transitions within valence bands are included according to applied classification.


enable_electron_hole

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If yes then transitions between conduction and valence bands are included according to applied classification.


enable_electron_electron

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If yes then transitions within conduction bands are included according to applied classification.


use_kp8_EP

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If yes then uses the P parameter from 8-band kp material data is used to compute the strength of optical transitions when computing the spectra between 2 states computed within 1-band model, and when computing the spectra with conduction band expressed within 1-band model and valence bands within 6-band kp model.


k_integration{ }

  • usage: optional

  • items: maximum 1

Group defining numerical parameters of integration over the states in the space of the wave vector k space.


k_integration{ relative_size }

  • usage: optional

  • type: real number

  • values: 103r1.0

  • unit:

  • default: r=1e1

Size of the integrated volume of the k space expressed as relative value to the size of the First Brillouin Zone


k_integration{ num_points }

  • usage: optional

  • type: integer

  • values: 1z100

  • unit:

  • default: z=5

Number of points counted from k=0 to the border of considered k space along k=ky or kz excluding the point at k=0. The Schrödinger equation is solved for optical spectra at the grid with the “radius” as described above. The transition intensities are computed at these points and later used in the integration procedure.


k_integration{ num_integrationpoints }

  • usage: optional

  • type: integer

  • values: z1

  • unit:

  • default: z=180

Number of integration points in the k defining an independent grid analogously as the attribute k_integration{ num_points }.

Spline interpolation at the grid defined with k_integration{ num_integrationpoints } of all quantities necessary for computation of the optical spectra is performed in the k space based on solution obtained at the grid defined with the attribute k_integration{ num_points }. The transition intensities and energies resulting from this interpolation are integrated and included in the optical spectra.

Warning

Assigning too small value to k_integration{ num_integrationpoints } may result in artificial oscillatory results in the spectra.


k_integration{ force_k0_subspace }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, k integration is modified in a way that only states for point k=0 are computed exactly, whereas for all other k points the wave functions are computed in the subspace of the solutions for the k=0. Computational speed is notably improved as a result of this approximation. Therefore enlarging the number of eigenvalues included in the computation becomes more feasible.

Attention

This approximation should be used carefully as it reduces accuracy of computed optical spectra.


energy_threshold

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit: eV

  • default: r=1e6

Only transitions between states with at least this energy difference are regarded when computing optical spectra.


transition_threshold

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit: eV

  • default: r=1e6

Only transitions between states with at least this optical intensity are regarded when computing optical spectra. Increasing the value can reduce computational time but may neglect weak optical transitions.


occupation_threshold

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit:

  • default: r=0.0

Only transitions between states with at least this occupation are regarded when computing optical spectra. Increasing the value can reduce computational time but may neglect weakly occupied states.


occupation_ignore

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Ignore the occupation of states when computing optical spectra: Valence bands and conduction bands are considered to be fully occupied and fully empty, respectively.

Warning

This feature is under development.

Attention

Occupation and classification of states are currently performed independently for carrier densities and for optical spectra.


occupation_zero_fermilevel

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

This keyword is active when occupation_ignore is set to no. In semi-classical current calculations, the quasi-Fermi level may depend on position. Optical spectra, on the other, hand are computed using a quantum mechanical model with where single states involved in the transitions exhibit non-locality (wave functions) resulting in their existence in areas with different quasi-Fermi levels assigned. As the model for the spectra assumes a specific quasi-Fermi level for each state, the inconsistency arises. Using this keyword set to yes resolves this inconsistency by taking both quasi-Fermi levels equal zero. Taking it no, position dependent occupation number is computed.

Warning

This feature is under development.


occupation_interpolate_invfermi

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

This keyword is active when occupation_ignore and occupation_zero_fermilevel are set to no. If yes then Fermi levels are interpolated between k-points before applying to the integrating algorithm which may increase accuracy of numerical k space integration.

Warning

This feature is under development.


classify_none{ }

  • usage: optional

  • items: maximum 1


classify_by_energy{ }

  • usage: optional

  • items: maximum 1


classify_by_energy{ method }

Calling sequence

optics{ quantum_spectra{ classify_by_energy{ method } } }

Properties

  • usage: optional

  • type: integer

  • values: 0z2

  • default: z=2???

Functionality


classify_by_energy{ shift_electrons }

Calling sequence

optics{ quantum_spectra{ classify_by_energy{ shift_electrons } } }

Properties

  • usage: optional

  • type: real number

  • values: no constraints

  • unit: eV

Functionality


classify_by_energy{ shift_holes }

Calling sequence

optics{ quantum_spectra{ classify_by_energy{ shift_holes } } }

Properties

  • usage: optional

  • type: real number

  • values: no constraints

  • unit: eV

Functionality


classify_by_spinor{ }

  • usage: optional

  • items: maximum 1


classify_by_spinor{ threshold_electron }

Calling sequence

optics{ quantum_spectra{ classify_by_spinor{ threshold_electron } } }

Properties

  • usage: optional

  • type: real number

  • values: 102r0.99

  • unit:

Functionality


classify_by_spinor{ threshold_hole }

Calling sequence

optics{ quantum_spectra{ classify_by_spinor{ threshold_hole } } }

Properties

  • usage: optional

  • type: real number

  • values: 102r0.99

  • unit:

Functionality


classify_states

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Classifies states as electrons if energy is higher than average value of minimum of the conduction band and maximum of the valence, (ECmin+EVmax)/2, plus classification_threshold.


classification_threshold

  • usage: optional

  • type: real number

  • values: no constraints

  • unit: eV

  • default: r=0.0

A parameter shifting the reference energy for the classification of the states.


excitons{ }

  • usage: optional

  • items: maximum 1

Include excitonic effects.

Attention

Excitons are implemented only for 1D simulations.


excitons{ num_exciton_levels }

  • usage: optional

  • type: integer

  • values: 1z10

  • unit:

  • default: z=1

Number of exciton levels included in the model.


excitons{ coulomb_enhancement }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then the Coulomb enhancement factor, also known as the Sommerfeld factor, is taken into account.


absorption

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes


spontaneous_emission

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Calculate spontaneous emission rate using the momentum matrix element obtained by 8-band kp model. (This feature is not yet implemented in 3D simulation.)


local_absorption

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Absorption spectrum within local framework is computed and can be outputted using output_local_spectra{ }. Regions with boundary conditions imposed on the Poisson equation (electric potential) are treated as perfectly transparent, zero absorption coefficient is assigned.

Hint

See contacts{ } for further reference on boundary conditions.

Warning

The feature is experimental and may produce unphysical results.


local_spontaneous_emission

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Spontaneous emission spectrum within local framework is computed and can be outputted using output_local_spectra{ }. Regions with boundary conditions imposed on the Poisson equation (electric potential) are treated as perfectly transparent, zero absorption coefficient is assigned.

Hint

See contacts{ } for further reference on boundary conditions.

Warning

The feature is experimental and may produce unphysical results.


polarization{ }

  • usage: required

  • items: no constraints

Define polarization of incoming light for which optical absorption spectrum should be calculated.

Important


polarization{ name }

  • usage: required

  • type: character string

name attached to output files with computed spectra for the defined polarization


polarization{ re }

  • usage: optional

  • type: vector of 3 real numbers: (r1,r2,r3)

  • values: no constraints

  • unit:

  • default: r1=0.0, r2=0.0, r3=0.0

real part of the polarization vector


polarization{ im }

  • usage: optional

  • type: vector of 3 real numbers: (r1,r2,r3)

  • values: no constraints

  • unit:

  • default: r1=0.0, r2=0.0, r3=0.0

imaginary part of the polarization vector


refractive_index

  • usage: optional

  • type: real number

  • values: (0.0, ...)

  • unit:

  • default: substrate

Specify constant refractive index for the simulation of the optical spectra.


normalization_volume

  • usage: optional

  • type: real number

  • values: (0.0, ...)

  • unit: nmdimension

  • default: related quantum region

Specifies normalization volume for the optical spectra.


min_energy

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit: eV

  • default: r=0.0

lower energy bound for optical spectra


max_energy

  • usage: optional

  • type: real number

  • values: [1e-3, ...)

  • unit: eV

  • default: r=2.0

upper energy bound for optical spectra


energy_resolution

  • usage: optional

  • type: real number

  • values: [1e-6, ...)

  • unit: eV

  • default: r=1e3

Spacing between subsequent energy grid points.


energy_broadening_gaussian

  • usage: optional

  • type: real number

  • values: [1e-6, ...)

  • unit: eV

Set the broadening to value greater than 0.0 to make the Gaussian broadening

L(EE0)=12πσexp((EE0)22σ2)

included to the calculation of the optical spectrums. The specifed value is read as the FWHM Γ=2ln2σ.

(In 1D and 2D, both Lorentzian and Gaussian can be used simultaneously. In 3D, either of these broadenings must be included.)


energy_broadening_lorentzian

  • usage: optional

  • type: real number

  • values: [1e-6, ...)

  • unit: eV

Set the broadening to value greater than 0.0 to make the Lorentzian broadening

L(EE0)=1πΓ/2(EE0)+(Γ/2)2

included to the calculation of the optical spectrums. The specifed value is read as the FWHM Γ.


kramers_kronig{ }

  • usage: optional

  • items: maximum 1

If specified, then Kramers-Kronig relations are used to evaluate real part of dielectric function and dispersion of complex refractive index based on previously computed imaginary part of dielectric function.

Attention

Available Hamiltonians, defined within 1-band, 6-band, or 8-band kp models, will contribute to the imaginary part of dielectric function εi only with transitions close to the Γ point, therefore, underestimating the spectrum at higher energies. As Kramers-Kronig relations are non-local, the transformation of such εi is reproducing real part of dielectric function εr accurately only up to slow-varying background. The missing background accounts for not-computed high-energy εi. Therefore only local features of real part of dielectric function are accessible within the transformation.

To handle this problem, the missing background can be approximated analytically assuming additional contributions from εi at high energies with parameters: kramers_kronig{ im_epsilon_extension }, kramers_kronig{ im_epsilon_rescale }, kramers_kronig{ delta_static_epsilon }, and kramers_kronig{ delta_position }. These contributions are not shown in the εi output, but their effect is present in εr output.

Note

Specific values of parameters: kramers_kronig{ im_epsilon_extension }, kramers_kronig{ im_epsilon_rescale }, kramers_kronig{ delta_static_epsilon }, and kramers_kronig{ delta_position } have to be fitted individually for every device. No tables for materials nor devices are available.


kramers_kronig{ im_epsilon_extension }

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit: eV

  • default: r=0.0

If kramers_kronig{ im_epsilon_extension } is set to non-zero value then εi computed at max_energy multiplied by kramers_kronig{ im_epsilon_rescale } is assumed for εi in an energy range from max_energy to max_energy + kramers_kronig{ im_epsilon_extension }. Effectively a rectangle is attached to the end of the spectra with width of kramers_kronig{ im_epsilon_extension } and height of the εi at max_energy multiplied by kramers_kronig{ im_epsilon_rescale }, to be used in Kramers-Kronig transformation.


kramers_kronig{ im_epsilon_rescale }

  • usage: optional

  • type: real number

  • values: (0.0, ...)

  • unit:

  • default: r=1.0

This parameter is rescaling value used to approximate constant εi at high energies, from max_energy to max_energy + kramers_kronig{ im_epsilon_extension }. When kramers_kronig{ im_epsilon_rescale } =1 then exactly εi at max_energy is used.


kramers_kronig{ delta_static_epsilon }

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit:

  • default: r=0.0

If this attribute is set to non-zero value then Dirac delta-function is added to εi at energy kramers_kronig{ delta_position } to be used in Kramers-Kronig transformation. The Dirac delta-function is scaled such that it results in εr(0) equal to this attribute.


kramers_kronig{ delta_position }

  • usage: optional

  • type: real number

  • values: (0.0, ...)

  • unit: eV

This parameter is defining energy at which the Dirac delta function is added to εi.


kramers_kronig{ delta2_static_epsilon }

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit:

  • default: r=0.0

If this attribute is set to non-zero value then second Dirac delta-function is added to εi at energy kramers_kronig{ delta_position } to be used in Kramers-Kronig transformation. The Dirac delta-function is scaled such that it results in εr(0) equal to this attribute.


kramers_kronig{ delta2_position }

  • usage: optional

  • type: real number

  • values: (0.0, ...)

  • unit: eV

This parameter is defining energy at which the second Dirac delta function is added to εi.


kramers_kronig{ delta3_static_epsilon }

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit:

  • default: r=0.0

If this attribute is set to non-zero value then the third Dirac delta-function is added to εi at energy kramers_kronig{ delta_position } to be used in Kramers-Kronig transformation. The Dirac delta-function is scaled such that it results in εr(0) equal to this attribute.


kramers_kronig{ delta3_position }

  • usage: optional

  • type: real number

  • values: (0.0, ...)

  • unit: eV

This parameter is defining energy at which the third Dirac delta function is added to εi.


kramers_kronig{ use_for_absorption }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then computed refractive index is used to calculate absorption. Otherwise, constant value is used.


kramers_kronig{ use_for_emission }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the computed refractive index is used to calculate emission. Otherwise, constant value is used.


output_energies

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output energy dispersion for every transition.


output_occupations

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output occupation dispersion for every transition.


output_transitions

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output transition strength for every transition.


output_spinor_components

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output the spinor components for each state at each k point (only relevant in multi-band kp calculations).

Note

In 1-dimensional systems the axis of quantization for the angular momentum is x, in 3D z.


output_spectra{ }

  • usage: required

  • items: exactly 1

Control of optical spectra output


output_spectra{ im_epsilon }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Imaginary part of dielectric function is outputted.


output_spectra{ absorption_coeff }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then the optical absorption coefficient expressed in cm1 is outputted.


output_spectra{ decadic_absorption_coeff }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical absorption coefficient is expressed in dB/μm is outputted.


output_spectra{ gain }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical gain coefficient expressed in cm1 is outputted.


output_spectra{ decadic_gain }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical gain coefficient expressed in dB/μm is outputted.


output_spectra{ re_epsilon }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then the real part of dielectric function (relative dielectric permittivity) is outputted.


output_spectra{ refractive_index }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then dispersion of refractive index is outputted.


output_spectra{ emission_photons }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then spectrum of photon number is outputted with one of the following units 1/cm2/s/eV, 1/cm2/s/nm, 1/cm2/s/THz, or 1/cm2/s/cm1.


output_spectra{ emission_power }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then photon power spectrum is outputted with units W/cm2.


output_spectra{ spectra_over_energy }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Output spectra with respect to the energy.


output_spectra{ spectra_over_frequency }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the frequency.


output_spectra{ spectra_over_wavelength }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the wavelength.


output_spectra{ spectra_over_wavenumber }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the wave number.


output_component_spectra{ }

  • usage: required

  • items: exactly 1

Control of output of components of spectra

If this group is defined then state-to-state spectral components are outputted.


output_component_spectra{ threshold_im_epsilon }

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit:

  • default: r=1e2

Only components of dielectric funtion for which transition strength is greater than this attribute are outputted.


output_component_spectra{ threshold_emission_photons }

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • unit: cm2s1eV1 for 1D; cm1s1eV1 for 2D; s1eV1 for 3D

  • default: r=1018 for 1D; r=1012 for 2D; r=016 for 3D

Only components of emission spectra for which transition strength is greater than this attribute are outputted.


output_component_spectra{ im_epsilon }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Imaginary part of dielectric function is outputted.


output_component_spectra{ absorption_coeff }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then the optical absorption coefficient expressed in cm1 is outputted.


output_component_spectra{ decadic_absorption_coeff }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical absorption coefficient is expressed in dB/μm is outputted.


output_component_spectra{ gain }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical gain coefficient expressed in cm1 is outputted.


output_component_spectra{ decadic_gain }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical gain coefficient expressed in dB/μm is outputted.


output_component_spectra{ emission_photons }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then spectrum of photon number is outputted with one of the following units 1/cm2/s/eV, 1/cm2/s/nm, 1/cm2/s/THz, or 1/cm2/s/cm1.


output_component_spectra{ emission_power }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then photon power spectrum is outputted with units W/cm2.


output_component_spectra{ spectra_over_energy }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Output spectra with respect to the energy.


output_component_spectra{ spectra_over_frequency }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the frequency.


output_component_spectra{ spectra_over_wavelength }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the wavelength.


output_component_spectra{ spectra_over_wavenumber }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the wave number.


output_local_spectra{ }

  • usage: required

  • items: exactly 1

Control of output of local optical spectra


output_local_spectra{ im_epsilon }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Imaginary part of dielectric function is outputted.


output_local_spectra{ absorption_coeff }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then the optical absorption coefficient expressed in cm1 is outputted.


output_local_spectra{ decadic_absorption_coeff }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical absorption coefficient is expressed in dB/μm is outputted.


output_local_spectra{ gain }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical gain coefficient expressed in cm1 is outputted.


output_local_spectra{ decadic_gain }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then the optical gain coefficient expressed in dB/μm is outputted.


output_local_spectra{ emission_photons }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

If set to yes, then spectrum of photon number is outputted with one of the following units 1/cm2/s/eV, 1/cm2/s/nm, 1/cm2/s/THz, or 1/cm2/s/cm1.


output_local_spectra{ emission_power }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

If set to yes, then photon power spectrum is outputted with units W/cm2.


output_local_spectra{ spectra_over_energy }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Output spectra with respect to the energy.


output_local_spectra{ spectra_over_frequency }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the frequency.


output_local_spectra{ spectra_over_wavelength }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the wavelength.


output_local_spectra{ spectra_over_wavenumber }

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Output spectra with respect to the wave number.


Examples

We can generally write the electric field of a traveling wave propagating to k direction as follows:

E(r;t)=[Exx^+Eyy^+Ezz^]eı[krωt]=[ExEyEz]eı[krωt]=([Re(Ex)Re(Ey)Re(Ez)]+ı[Im(Ex)Im(Ey)Im(Ez)])eı[krωt]

where Ex/y/z are complex numbers.

re=[ , , ] and im = [ , , ] correspond to the first and second column in the last line.

# linearly polarized light in x direction.
# name is used for the file names of the output.
polarization{ name = "x"        re = [1,0,0]                 }

# linearly polarized light in y direction
polarization{ name = "y"        re = [0,1,0]                 }

# linearly polarized light in z direction
polarization{ name = "z"        re = [0,0,1]                 }


# TM mode.
# This naming might be useful when analyzing heterostructure
# grown in x direction.
polarization{ name = "TM"        re = [1,0,0]                }

# TE mode
polarization{ name = "TEy"       re = [0,1,0]                }

# TE mode
polarization{ name = "TEz"       re = [0,0,1]                }


# (sigma+) circularly polarized light around the x axis
polarization{ name = "y+iz"     re = [0,1,0]   im = [0,0, 1] }

# (sigma-) circularly polarized light around the x axis
polarization{ name = "y-iz"     re = [0,1,0]   im = [0,0,-1] }


# an example for an arbitrary polarization direction
polarization{ name = "x1y1z2"   re = [1,1,2]                 }


Last update: 02/04/2025