WasiakNew2D Class¶
- class gain.wasiak.WasiakNew2D(name='')¶
Gain solver based on Fermi Golden Rule for Cartesian 2D geometry.
Subclasses¶
Luminescence spectrum class. |
|
Gain spectrum class. |
Methods¶
|
|
|
|
Initialize solver. |
|
Set the solver back to uninitialized state. |
|
Get luminescence spectrum at given point |
|
|
Get gain spectrum at given point |
Attributes¶
Receivers¶
Receiver of the carriers concentration required for computations [1/cm³]. |
|
Receiver of the temperature required for computations [K]. |
Providers¶
Provider of the computed material gain [1/cm]. |
|
Provider of the computed luminescence [a.u.]. |
Other¶
Reference temperature. |
|
Adjust thicknesses of quantum wells? |
|
roughness of the thicknesses of the quantum wells. |
|
Additional conduction band shift for QW (eV) |
|
Compute levels only once and simply shift for different temperatures? |
|
Geometry provided to the solver |
|
Modified geometry for broadening calculations. |
|
Id of the solver object. |
|
True if the solver has been initialized. |
|
Carriers lifetime (ps) |
|
Optical matrix element (m₀ eV) |
|
Mesh provided to the solver |
|
roughness of the thicknesses of the quantum wells. |
|
Consider strain in QW and barriers? (True or False). |
|
Substrate material. |
|
Additional valence band shift for QW (eV) |
Descriptions¶
Method Details¶
- WasiakNew2D.get_fermi_levels(n, T=None, reg=0)¶
- WasiakNew2D.get_levels(T=None)¶
- WasiakNew2D.initialize()¶
Initialize solver.
This method manually initialized the solver and sets
initialized
to True. Normally calling it is not necessary, as each solver automatically initializes itself when needed.- Returns:
solver
initialized
state prior to this method call.- Return type:
bool
- WasiakNew2D.invalidate()¶
Set the solver back to uninitialized state.
This method frees the memory allocated by the solver and sets
initialized
to False.
- WasiakNew2D.luminescence_spectrum(point)¶
- WasiakNew2D.luminescence_spectrum(c0, c1)
Get luminescence spectrum at given point
Get luminescence spectrum at given point
- WasiakNew2D.spectrum(point)¶
- WasiakNew2D.spectrum(c0, c1)
Get gain spectrum at given point
Get gain spectrum at given point
Receiver Details¶
- WasiakNew2D.inCarriersConcentration = <property object>¶
Receiver of the carriers concentration required for computations [1/cm³].
You will find usage details in the documentation of the receiver class
CarriersConcentrationReceiver2D
.Example
Connect the receiver to a provider from some other solver:
>>> solver.inCarriersConcentration = other_solver.outCarriersConcentration
See also
Receciver class:
plask.flow.CarriersConcentrationReceiver2D
Provider class:
plask.flow.CarriersConcentrationProvider2D
Data filter:
plask.filter.CarriersConcentrationFilter2D
- WasiakNew2D.inTemperature = <property object>¶
Receiver of the temperature required for computations [K].
You will find usage details in the documentation of the receiver class
TemperatureReceiver2D
.Example
Connect the receiver to a provider from some other solver:
>>> solver.inTemperature = other_solver.outTemperature
See also
Receciver class:
plask.flow.TemperatureReceiver2D
Provider class:
plask.flow.TemperatureProvider2D
Data filter:
plask.filter.TemperatureFilter2D
Provider Details¶
- WasiakNew2D.outGain(n=0, mesh, lam, interpolation='default') = <property object>¶
Provider of the computed material gain [1/cm].
- Parameters:
deriv (str) – Gain derivative to return. can be ‘’ (empty) or ‘conc’. In the latter case, the gain derivative over carriers concentration is returned.
mesh (mesh) – Target mesh to get the field at.
interpolation (str) – Requested interpolation method.
lam (float) – The wavelength at which the gain is computed (nm).
- Returns:
Data with the material gain on the specified mesh [1/cm].
You may obtain the number of different values this provider can return by testing its length.
Example
Connect the provider to a receiver in some other solver:
>>> other_solver.inGain = solver.outGain
Obtain the provided field:
>>> solver.outGain(0, mesh, lam) <plask.Data at 0x1234567>
Test the number of provided values:
>>> len(solver.outGain) 3
- WasiakNew2D.outLuminescence(mesh, lam, interpolation='default') = <property object>¶
Provider of the computed luminescence [a.u.].
- Parameters:
mesh (mesh) – Target mesh to get the field at.
interpolation (str) – Requested interpolation method.
lam (float) – The wavelength at which the luminescence is computed (nm).
- Returns:
Data with the luminescence on the specified mesh [a.u.].
Example
Connect the provider to a receiver in some other solver:
>>> other_solver.inLuminescence = solver.outLuminescence
Obtain the provided field:
>>> solver.outLuminescence(mesh, lam) <plask.Data at 0x1234567>
See also
Provider class:
plask.flow.LuminescenceProvider2D
Receciver class:
plask.flow.LuminescenceReceiver2D
Attribute Details¶
- WasiakNew2D.Tref = <property object>¶
Reference temperature. If fast_levels is True, this is the temperature used for initial computation of the energy levels (K).
- WasiakNew2D.adjust_layers = <property object>¶
Adjust thicknesses of quantum wells?
Setting this to True, allows to adjust the widths of the gain region layers by few angstroms to improve numerical stability.
- WasiakNew2D.broadening = <property object>¶
roughness of the thicknesses of the quantum wells. With modified geometry present: broadening factor. (-).
- Type:
If there is no modified geometry
- WasiakNew2D.cond_shift = <property object>¶
Additional conduction band shift for QW (eV)
- WasiakNew2D.fast_levels = <property object>¶
Compute levels only once and simply shift for different temperatures?
Setting this to True stongly increases computation speed, but makes the results less accurate for high gains.
- WasiakNew2D.geometry = <property object>¶
Geometry provided to the solver
- WasiakNew2D.geometry_mod = <property object>¶
Modified geometry for broadening calculations.
- WasiakNew2D.id = <property object>¶
Id of the solver object. (read only)
Example
>>> mysolver.id mysolver:category.type
- WasiakNew2D.initialized = <property object>¶
True if the solver has been initialized. (read only)
Solvers usually get initialized at the beginning of the computations. You can clean the initialization state and free the memory by calling the
invalidate()
method.
- WasiakNew2D.lifetime = <property object>¶
Carriers lifetime (ps)
- WasiakNew2D.matrix_elem = <property object>¶
Optical matrix element (m₀ eV)
- WasiakNew2D.mesh = <property object>¶
Mesh provided to the solver
- WasiakNew2D.roughness = <property object>¶
roughness of the thicknesses of the quantum wells. With modified geometry present: broadening factor. (-).
- Type:
If there is no modified geometry
- WasiakNew2D.strained = <property object>¶
Consider strain in QW and barriers? (True or False).
- WasiakNew2D.substrate = <property object>¶
Substrate material.
Material of the substrate. This is used to compute strain in the active region. If not set, the solver looks for geometry object with the __substrate__ role.
- WasiakNew2D.vale_shift = <property object>¶
Additional valence band shift for QW (eV)