gain.freecarrier.
FreeCarrierCyl
(name="")¶Quantumwell gain using freecarrier approximation for cylindrical geometry.
get_energy_levels ([T]) 
Get energy levels in quantum wells. 
get_fermi_levels (n[, T, reg]) 
Get quasiFermi levels. 
initialize () 
Initialize solver. 
invalidate () 
Set the solver back to uninitialized state. 
spectrum (…) 
Get gain spectrum at given point. 
inBandEdges 
Receiver of the conduction and valence band edges required for computations [eV]. 
inCarriersConcentration 
Receiver of the carriers concentration required for computations [1/cm³]. 
inFermiLevels 
Receiver of the quasiFermi levels for electrons and holes required for computations [eV]. 
inTemperature 
Receiver of the temperature required for computations [K]. 
outEnergyLevels 
Provider of the computed energy levels for electrons and holes [eV]. 
outGain 
Provider of the computed material gain [1/cm]. 
T0 
Reference temperature. 
geometry 
Geometry provided to the solver 
id 
Id of the solver object. 
initialized 
True if the solver has been initialized. 
lifetime 
Average carriers lifetime. 
matrix_element 
Momentum matrix element. 
mesh 
Mesh provided to the solver 
strained 
Boolean attribute indicating if the solver should consider strain in the active region. 
FreeCarrierCyl.
get_energy_levels
(T=None)¶Get energy levels in quantum wells.
Compute energy levels in quantum wells for electrons, heavy holes and light holes.
Parameters:  T (float or None ) – Temperature to get the levels. If this argument is
None , the estimates for temperature T0
are returned. 

Returns: 

Return type:  list 
FreeCarrierCyl.
get_fermi_levels
(n, T=None, reg=0)¶Get quasiFermi levels.
Compute quasiFermi levels in specified active region.
Parameters: 


Returns:  Twoelement tuple with quasiFermi levels for electrons and holes. 
Return type:  tuple 
FreeCarrierCyl.
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 
FreeCarrierCyl.
invalidate
()¶Set the solver back to uninitialized state.
This method frees the memory allocated by the solver and sets
initialized
to False.
FreeCarrierCyl.
inBandEdges
¶Receiver of the conduction and valence band edges required for computations [eV].
You will find usage details in the documentation of the receiver class
BandEdgesReceiverCyl
.
Example
Connect the reveiver to a provider from some other solver:
>>> solver.inBandEdges = other_solver.outBandEdges
See also
Receciver class: plask.flow.BandEdgesReceiverCyl
Provider class: plask.flow.BandEdgesProviderCyl
Data filter: plask.filter.BandEdgesFilterCyl
FreeCarrierCyl.
inCarriersConcentration
¶Receiver of the carriers concentration required for computations [1/cm³].
You will find usage details in the documentation of the receiver class
CarriersConcentrationReceiverCyl
.
Example
Connect the reveiver to a provider from some other solver:
>>> solver.inCarriersConcentration = other_solver.outCarriersConcentration
See also
Receciver class: plask.flow.CarriersConcentrationReceiverCyl
Provider class: plask.flow.CarriersConcentrationProviderCyl
Data filter: plask.filter.CarriersConcentrationFilterCyl
FreeCarrierCyl.
inFermiLevels
¶Receiver of the quasiFermi levels for electrons and holes required for computations [eV].
You will find usage details in the documentation of the receiver class
FermiLevelsReceiverCyl
.
Example
Connect the reveiver to a provider from some other solver:
>>> solver.inFermiLevels = other_solver.outFermiLevels
See also
Receciver class: plask.flow.FermiLevelsReceiverCyl
Provider class: plask.flow.FermiLevelsProviderCyl
Data filter: plask.filter.FermiLevelsFilterCyl
FreeCarrierCyl.
inTemperature
¶Receiver of the temperature required for computations [K].
You will find usage details in the documentation of the receiver class
TemperatureReceiverCyl
.
Example
Connect the reveiver to a provider from some other solver:
>>> solver.inTemperature = other_solver.outTemperature
See also
Receciver class: plask.flow.TemperatureReceiverCyl
Provider class: plask.flow.TemperatureProviderCyl
Data filter: plask.filter.TemperatureFilterCyl
FreeCarrierCyl.
outEnergyLevels
(n=0, mesh, interpolation='default')¶Provider of the computed energy levels for electrons and holes [eV].
Parameters: 


Returns:  Data with the energy levels for electrons and holes on the specified mesh [eV]. 
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.inEnergyLevels = solver.outEnergyLevels
Obtain the provided field:
>>> solver.outEnergyLevels(0, mesh)
<plask.Data at 0x1234567>
Test the number of provided values:
>>> len(solver.outEnergyLevels)
3
See also
Provider class: plask.flow.EnergyLevelsProviderCyl
Receciver class: plask.flow.EnergyLevelsReceiverCyl
FreeCarrierCyl.
outGain
(n=0, mesh, wavelength, interpolation='default')¶Provider of the computed material gain [1/cm].
Parameters: 


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, wavelength)
<plask.Data at 0x1234567>
Test the number of provided values:
>>> len(solver.outGain)
3
FreeCarrierCyl.
T0
¶Reference temperature.
In this temperature levels estimates are computed.
FreeCarrierCyl.
geometry
¶Geometry provided to the solver
FreeCarrierCyl.
id
¶Id of the solver object. (read only)
Example
>>> mysolver.id
mysolver:category.type
FreeCarrierCyl.
initialized
¶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.
FreeCarrierCyl.
lifetime
¶Average carriers lifetime.
This parameter is used for gain spectrum broadening. (float [ps])
FreeCarrierCyl.
matrix_element
¶Momentum matrix element.
Value of the squared matrix element in gain computations. If it is not set it is estimated automatically. (float [eV×m0])
FreeCarrierCyl.
mesh
¶Mesh provided to the solver
FreeCarrierCyl.
strained
¶Boolean attribute indicating if the solver should consider strain in the active region.
If set to True
then there must a layer with the role substrate in
the geometry. The strain is computed by comparing the atomic lattice constants
of the substrate and the quantum wells.