PLaSK library

Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Friends | List of all members
plask::solvers::FermiNew::FermiNewGainSolver< GeometryType > Struct Template Reference

Gain solver using Fermi Golden Rule. More...

`#include <solvers/gain/wasiak/ferminew.hpp>`

Inheritance diagram for plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >:
[legend]
Collaboration diagram for plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >:
[legend]

## Classes
struct | ActiveRegionData
| Structure containing information about each active region. More...
struct | ActiveRegionInfo
| Active region information with optional modified structure. More...

## Public Member Functions
| FermiNewGainSolver (const std::string &name="")
virtual | ~FermiNewGainSolver ()
virtual std::string | getClassName () const
| Get name of solver.
virtual void | loadConfiguration (plask::XMLReader &reader, plask::Manager &manager)
| Load configuration from given `source`.
shared_ptr< GeometryType > | getModGeometry () const
| Get modified geometry.
void | setModGeometry (const shared_ptr< GeometryType > &geometry)
| Set new modified geometry for the solver.
void | disconnectModGeometry ()
void | findEnergyLevels (Levels &levels, const ActiveRegionInfo &region, double T)
void | buildStructure (double T, const ActiveRegionData &region, std::unique_ptr< kubly::struktura > &bandsEc, std::unique_ptr< kubly::struktura > &bandsEvhh, std::unique_ptr< kubly::struktura > &bandsEvlh)
kubly::struktura * | buildEc (double T, const ActiveRegionData &region)
kubly::struktura * | buildEvhh (double T, const ActiveRegionData &region)
kubly::struktura * | buildEvlh (double T, const ActiveRegionData &region)
void | showEnergyLevels (std::string str, const std::unique_ptr< kubly::struktura > &structure, double nQW)
kubly::wzmocnienie | getGainModule (double wavelength, double T, double n, const ActiveRegionInfo &region, const Levels &levels)
void | prepareLevels (kubly::wzmocnienie &gmodule, const ActiveRegionInfo &region)
virtual void | onInitialize ()
| Initialize the solver.
virtual void | onInvalidate ()
| Invalidate the gain.
void | onModGeometryChange (const Geometry::Event &)
| otify that modified geometry was chaged
void | onInputChange (ReceiverBase &, ReceiverBase::ChangeReason)
| Notify that gain was chaged.
std::list< ActiveRegionData > | detectActiveRegions (const shared_ptr< GeometryType > &geometry)
| Detect active regions.
void | prepareActiveRegionsInfo ()
| Detect active regions and store their info in the `regions` field.
const LazyData< Tensor2< double > > | getGain (Gain::EnumType what, const shared_ptr< const MeshD< 2 > > &dst_mesh, double wavelength, InterpolationMethod interp=INTERPOLATION_DEFAULT)
| Method computing the gain on the mesh (called by gain provider)
const LazyData< Tensor2< double > > | getLuminescence (const shared_ptr< const MeshD< 2 > > &dst_mesh, double wavelength, InterpolationMethod interp=INTERPOLATION_DEFAULT)
bool | getStrains () const
void | setStrains (bool value)
shared_ptr< Material > | getSubstrate () const
| Get substrate material.
void | setSubstrate (shared_ptr< Material > material)
| Set substrate material.
bool | getAdjustWidths () const
void | setAdjustWidths (bool value)
bool | getBuildStructOnce () const
void | setBuildStructOnce (bool value)
double | getRoughness () const
void | setRoughness (double value)
double | getLifeTime () const
void | setLifeTime (double value)
double | getMatrixElem () const
void | setMatrixElem (double value)
double | getCondQWShift () const
void | setCondQWShift (double value)
double | getValeQWShift () const
void | setValeQWShift (double value)
double | getTref () const
void | setTref (double value)
GainSpectrum< GeometryType > | getGainSpectrum (const Vec< 2 > &point)
| Reg gain spectrum object for future use;.
LuminescenceSpectrum< GeometryType > | getLuminescenceSpectrum (const Vec< 2 > &point)
| Reg luminescence spectrum object for future use;.
std::string | getClassName () const
| Get name of solver.
std::string | getClassName () const
| Get name of solver.
Public Member Functions inherited from plask::SolverWithMesh< GeometryType, MeshAxis >
| SolverWithMesh (const std::string &name="")
| ~SolverWithMesh ()
void | loadConfiguration (XMLReader &source, Manager &manager) override
| Load configuration from given `source`.
void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element")
virtual void | onMeshChange (const typename MeshT::Event &PLASK_UNUSED(evt))
| This method is called just after the mesh has been changed.
void | onGeometryChange (const Geometry::Event &PLASK_UNUSED(evt)) override
| This method is called when the geometry is changed.
MeshAxis & | meshRef () const
| Get current module mesh.
shared_ptr< MeshAxis > | getMesh () const
| Get current solver mesh.
void | setMesh (const shared_ptr< MeshAxis > &mesh)
| Set new mesh for the solver.
void | setMesh (shared_ptr< MeshGeneratorD< MeshT::DIM > > generator)
| Set new mesh got from generator.
Public Member Functions inherited from plask::SolverOver< SpaceT >
| SolverOver (const std::string &name="")
| ~SolverOver ()
void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element")
virtual void | onGeometryChange (const Geometry::Event &)
| This method is called when the geometry is changed.
shared_ptr< SpaceT > | getGeometry () const
| Get current solver geometry space.
void | setGeometry (const shared_ptr< SpaceT > &geometry)
| Set new geometry for the solver.
Public Member Functions inherited from plask::Solver
bool | initCalculation ()
| This should be called on beginning of each calculation method to ensure that solver will be initialized.
| Solver (const std::string &name="")
| Construct uninitialized solver.
virtual | ~Solver ()
| Virtual destructor (for subclassing). Do nothing.
void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element")
| Load standard configuration (geometry, mesh) tags from `source`.
bool | isInitialized ()
| Check if solver is already initialized.
void | invalidate ()
| This method should be and is called if something important was changed: calculation space, mesh, etc.
std::string | getId () const
| Get solver id.
std::string | getName () const
virtual std::string | getClassDescription () const
| Get a description of this solver.
template<typename ArgT = double, typename ValT = double>
DataLog< ArgT, ValT > | dataLog (const std::string &chart_name, const std::string &axis_arg_name, const std::string &axis_val_name)
template<typename ArgT = double, typename ValT = double>
DataLog< ArgT, ValT > | dataLog (const std::string &axis_arg_name, const std::string &axis_val_name)
template<typename ... Args>
void | writelog (LogLevel level, std::string msg, Args &&... params) const
| Log a message for this solver.

## Public Attributes
shared_ptr< GeometryType > | geometry_mod
| Modified geometry for broadening calculation.
shared_ptr< Material > | substrateMaterial
| Substrate material.
bool | explicitSubstrate = false
| Is substrate explicitly defined?
std::vector< ActiveRegionInfo > | regions
ReceiverFor< Temperature, GeometryType > | inTemperature
| Receiver for temperature.
ReceiverFor< CarriersConcentration, GeometryType > | inCarriersConcentration
| Receiver for carriers concentration in the active region.
ProviderFor< Gain, GeometryType >::Delegate | outGain
| Provider for gain distribution.
ProviderFor< Luminescence, GeometryType >::Delegate | outLuminescence
| Provider for luminescence distribution.
std::vector< Levels > | region_levels
double | condQWshift
| additional conduction band shift for qw (eV)
double | valeQWshift
| additional valence band shift for qw (eV)
double | QWwidthMod
| qw width modifier (-)
double | roughness
| roughness (-)
double | lifetime
| lifetime [ps]
double | matrixElem
| optical matrix element [m0*eV]
double | differenceQuotient
| difference quotient of dG_dn derivative
double | Tref
| reference temperature (K)
bool | strains
| Consider strain in QWs and barriers?
bool | adjust_widths
| Adjust widths of the QWs?
bool | build_struct_once
| Build active-region structure only once?

## Friends
struct | DataBase< GeometryType, Tensor2< double > >
struct | DataBase< GeometryType, double >
struct | GainData< GeometryType >
struct | DgDnData< GeometryType >
struct | LuminescenceData< GeometryType >
struct | GainSpectrum< GeometryType >
struct | LuminescenceSpectrum< GeometryType >
class | wzmocnienie

## Additional Inherited Members
Public Types inherited from plask::SolverWithMesh< GeometryType, MeshAxis >
typedef MeshAxis | MeshType
| Type of the mesh for this solver.
Public Types inherited from plask::SolverOver< SpaceT >
typedef SpaceT | SpaceType
| of the space for this solver
Protected Member Functions inherited from plask::SolverOver< SpaceT >
template<typename Boundary , typename ConditionT >
void | readBoundaryConditions (Manager &manager, XMLReader &reader, BoundaryConditions< Boundary, ConditionT > &dest)
| Read boundary conditions using information about the geometry of this solver.
Protected Attributes inherited from plask::SolverWithMesh< GeometryType, MeshAxis >
shared_ptr< MeshAxis > | mesh
| Mesh over which the calculations are performed.
boost::signals2::connection | mesh_signal_connection
| Connection of mesh to onMeshChange method, see http://www.boost.org/doc/libs/1_55_0/doc/html/signals2/tutorial.html#idp204830936.
Protected Attributes inherited from plask::SolverOver< SpaceT >
shared_ptr< SpaceT > | geometry
| Space in which the calculations are performed.
Protected Attributes inherited from plask::Solver
bool | initialized
| `true` only if solver is initialized

## Detailed Description

template<typename GeometryType>
struct plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >

Gain solver using Fermi Golden Rule.

Definition at line 45 of file ferminew.hpp.

## Constructor & Destructor Documentation

## ◆ FermiNewGainSolver()

template<typename GeometryType >

plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::FermiNewGainSolver | ( | const std::string & | name = `""` | ) |

Definition at line 28 of file ferminew.cpp.

## ◆ ~FermiNewGainSolver()

template<typename GeometryType >

plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::~FermiNewGainSolver | ( |  | ) |
| virtual

Definition at line 48 of file ferminew.cpp.

## Member Function Documentation

## ◆ buildEc()

template<typename GeometryType >

kubly::struktura * plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::buildEc | ( | double | T,
|  | const ActiveRegionData & | region
| ) |  |

Definition at line 452 of file ferminew.cpp.

## ◆ buildEvhh()

template<typename GeometryType >

kubly::struktura * plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::buildEvhh | ( | double | T,
|  | const ActiveRegionData & | region
| ) |  |

Definition at line 496 of file ferminew.cpp.

## ◆ buildEvlh()

template<typename GeometryType >

kubly::struktura * plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::buildEvlh | ( | double | T,
|  | const ActiveRegionData & | region
| ) |  |

Definition at line 540 of file ferminew.cpp.

## ◆ buildStructure()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::buildStructure | ( | double | T,
|  | const ActiveRegionData & | region,
|  | std::unique_ptr< kubly::struktura > & | bandsEc,
|  | std::unique_ptr< kubly::struktura > & | bandsEvhh,
|  | std::unique_ptr< kubly::struktura > & | bandsEvlh
| ) |  |

Definition at line 407 of file ferminew.cpp.

## ◆ detectActiveRegions()

template<typename GeometryType >

std::list< typename FermiNewGainSolver< GeometryType >::ActiveRegionData > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::detectActiveRegions | ( | const shared_ptr< GeometryType > & | geometry | ) |

Detect active regions.

Definition at line 160 of file ferminew.cpp.

## ◆ disconnectModGeometry()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::disconnectModGeometry | ( |  | ) |
| inline

Definition at line 206 of file ferminew.hpp.

## ◆ findEnergyLevels()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::findEnergyLevels | ( | Levels & | levels,
|  | const ActiveRegionInfo & | region,
|  | double | T
| ) |  |

Definition at line 372 of file ferminew.cpp.

## ◆ getAdjustWidths()

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getAdjustWidths | ( |  | ) | const
| inline

Definition at line 314 of file ferminew.hpp.

## ◆ getBuildStructOnce()

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getBuildStructOnce | ( |  | ) | const
| inline

Definition at line 322 of file ferminew.hpp.

## ◆ getClassName() [1/3]

std::string plask::solvers::FermiNew::FermiNewGainSolver< Geometry2DCartesian >::getClassName | ( |  | ) | const
| virtual

Get name of solver.

Returns
  name of this solver

Implements plask::Solver.

Definition at line 1031 of file ferminew.cpp.

## ◆ getClassName() [2/3]

std::string plask::solvers::FermiNew::FermiNewGainSolver< Geometry2DCylindrical >::getClassName | ( |  | ) | const
| virtual

Get name of solver.

Returns
  name of this solver

Implements plask::Solver.

Definition at line 1032 of file ferminew.cpp.

## ◆ getClassName() [3/3]

template<typename GeometryType >

virtual std::string plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getClassName | ( |  | ) | const
| virtual

Get name of solver.

Returns
  name of this solver

Implements plask::Solver.

## ◆ getCondQWShift()

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getCondQWShift | ( |  | ) | const
| inline

Definition at line 354 of file ferminew.hpp.

## ◆ getGain()

template<typename GeometryType >

const LazyData< Tensor2< double > > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getGain | ( | Gain::EnumType | what,
|  | const shared_ptr< const MeshD< 2 > > & | dst_mesh,
|  | double | wavelength,
|  | InterpolationMethod | interp = `INTERPOLATION_DEFAULT`
| ) |  |

Method computing the gain on the mesh (called by gain provider)

Parameters

  dst_mesh | destination mesh
  wavelength | wavelength to compute gain for
  interp | interpolation method

Returns
  gain distribution

Definition at line 908 of file ferminew.cpp.

## ◆ getGainModule()

template<typename GeometryType >

kubly::wzmocnienie plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getGainModule | ( | double | wavelength,
|  | double | T,
|  | double | n,
|  | const ActiveRegionInfo & | region,
|  | const Levels & | levels
| ) |  |

Definition at line 609 of file ferminew.cpp.

## ◆ getGainSpectrum()

template<typename GeometryType >

GainSpectrum< GeometryType > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getGainSpectrum | ( | const Vec< 2 > & | point | ) |

Reg gain spectrum object for future use;.

Definition at line 1020 of file ferminew.cpp.

## ◆ getLifeTime()

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getLifeTime | ( |  | ) | const
| inline

Definition at line 338 of file ferminew.hpp.

## ◆ getLuminescence()

template<typename GeometryType >

const LazyData< Tensor2< double > > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getLuminescence | ( | const shared_ptr< const MeshD< 2 > > & | dst_mesh,
|  | double | wavelength,
|  | InterpolationMethod | interp = `INTERPOLATION_DEFAULT`
| ) |  |

Definition at line 928 of file ferminew.cpp.

## ◆ getLuminescenceSpectrum()

template<typename GeometryType >

LuminescenceSpectrum< GeometryType > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getLuminescenceSpectrum | ( | const Vec< 2 > & | point | ) |

Reg luminescence spectrum object for future use;.

Definition at line 1026 of file ferminew.cpp.

## ◆ getMatrixElem()

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getMatrixElem | ( |  | ) | const
| inline

Definition at line 346 of file ferminew.hpp.

## ◆ getModGeometry()

template<typename GeometryType >

shared_ptr< GeometryType > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getModGeometry | ( |  | ) | const
| inline

Get modified geometry.

Definition at line 190 of file ferminew.hpp.

## ◆ getRoughness()

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getRoughness | ( |  | ) | const
| inline

Definition at line 330 of file ferminew.hpp.

## ◆ getStrains()

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getStrains | ( |  | ) | const
| inline

Definition at line 296 of file ferminew.hpp.

## ◆ getSubstrate()

template<typename GeometryType >

shared_ptr< Material > plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getSubstrate | ( |  | ) | const
| inline

Get substrate material.

Definition at line 305 of file ferminew.hpp.

## ◆ getTref()

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getTref | ( |  | ) | const
| inline

Definition at line 370 of file ferminew.hpp.

## ◆ getValeQWShift()

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::getValeQWShift | ( |  | ) | const
| inline

Definition at line 362 of file ferminew.hpp.

## ◆ loadConfiguration()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::loadConfiguration | ( | plask::XMLReader & | source,
|  | plask::Manager & | manager
| ) |  |
| virtual

Load configuration from given `source`.

XML reader (`source`) point to opening of `this` solver tag and after return from this method should point to this solver closing tag.

Parameters

  source | source of configuration
  manager | manager from which information about geometry, meshes, materials, and so on can be get if needed

Reimplemented from plask::Solver.

Definition at line 54 of file ferminew.cpp.

## ◆ onInitialize()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::onInitialize | ( |  | ) |
| virtual

Initialize the solver.

Reimplemented from plask::Solver.

Definition at line 134 of file ferminew.cpp.

## ◆ onInputChange()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::onInputChange | ( | ReceiverBase & | ,
|  | ReceiverBase::ChangeReason |
| ) |  |
| inline

Notify that gain was chaged.

Definition at line 259 of file ferminew.hpp.

## ◆ onInvalidate()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::onInvalidate | ( |  | ) |
| virtual

Invalidate the gain.

Reimplemented from plask::Solver.

Definition at line 148 of file ferminew.cpp.

## ◆ onModGeometryChange()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::onModGeometryChange | ( | const Geometry::Event & |  | ) |
| inline

otify that modified geometry was chaged

Definition at line 256 of file ferminew.hpp.

## ◆ prepareActiveRegionsInfo()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::prepareActiveRegionsInfo | ( |  | ) |

Detect active regions and store their info in the `regions` field.

Store information about them in the `regions` field.

Definition at line 356 of file ferminew.cpp.

## ◆ prepareLevels()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::prepareLevels | ( | kubly::wzmocnienie & | gmodule,
|  | const ActiveRegionInfo & | region
| ) |  |
| inline

Definition at line 247 of file ferminew.hpp.

## ◆ setAdjustWidths()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setAdjustWidths | ( | bool | value | ) |
| inline

Definition at line 315 of file ferminew.hpp.

## ◆ setBuildStructOnce()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setBuildStructOnce | ( | bool | value | ) |
| inline

Definition at line 323 of file ferminew.hpp.

## ◆ setCondQWShift()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setCondQWShift | ( | double | value | ) |
| inline

Definition at line 355 of file ferminew.hpp.

## ◆ setLifeTime()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setLifeTime | ( | double | value | ) |
| inline

Definition at line 339 of file ferminew.hpp.

## ◆ setMatrixElem()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setMatrixElem | ( | double | value | ) |
| inline

Definition at line 347 of file ferminew.hpp.

## ◆ setModGeometry()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setModGeometry | ( | const shared_ptr< GeometryType > & | geometry | ) |
| inline

Set new modified geometry for the solver.

Parameters

  geometry | new modified geometry space

Definition at line 196 of file ferminew.hpp.

## ◆ setRoughness()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setRoughness | ( | double | value | ) |
| inline

Definition at line 331 of file ferminew.hpp.

## ◆ setStrains()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setStrains | ( | bool | value | ) |
| inline

Definition at line 297 of file ferminew.hpp.

## ◆ setSubstrate()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setSubstrate | ( | shared_ptr< Material > | material | ) |
| inline

Set substrate material.

Definition at line 307 of file ferminew.hpp.

## ◆ setTref()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setTref | ( | double | value | ) |
| inline

Definition at line 371 of file ferminew.hpp.

## ◆ setValeQWShift()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::setValeQWShift | ( | double | value | ) |
| inline

Definition at line 363 of file ferminew.hpp.

## ◆ showEnergyLevels()

template<typename GeometryType >

void plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::showEnergyLevels | ( | std::string | str,
|  | const std::unique_ptr< kubly::struktura > & | structure,
|  | double | nQW
| ) |  |

Definition at line 585 of file ferminew.cpp.

## Friends And Related Symbol Documentation

## ◆ DataBase< GeometryType, double >

template<typename GeometryType >

friend struct DataBase< GeometryType, double >
| friend

Definition at line 206 of file ferminew.hpp.

## ◆ DataBase< GeometryType, Tensor2< double > >

template<typename GeometryType >

friend struct DataBase< GeometryType, Tensor2< double > >
| friend

Definition at line 206 of file ferminew.hpp.

## ◆ DgDnData< GeometryType >

template<typename GeometryType >

friend struct DgDnData< GeometryType >
| friend

Definition at line 206 of file ferminew.hpp.

## ◆ GainData< GeometryType >

template<typename GeometryType >

friend struct GainData< GeometryType >
| friend

Definition at line 206 of file ferminew.hpp.

## ◆ GainSpectrum< GeometryType >

template<typename GeometryType >

friend struct GainSpectrum< GeometryType >
| friend

Definition at line 217 of file ferminew.hpp.

## ◆ LuminescenceData< GeometryType >

template<typename GeometryType >

friend struct LuminescenceData< GeometryType >
| friend

Definition at line 206 of file ferminew.hpp.

## ◆ LuminescenceSpectrum< GeometryType >

template<typename GeometryType >

friend struct LuminescenceSpectrum< GeometryType >
| friend

Definition at line 217 of file ferminew.hpp.

## ◆ wzmocnienie

template<typename GeometryType >

friend class wzmocnienie
| friend

Definition at line 221 of file ferminew.hpp.

## Member Data Documentation

## ◆ adjust_widths

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::adjust_widths

Adjust widths of the QWs?

Definition at line 292 of file ferminew.hpp.

## ◆ build_struct_once

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::build_struct_once

Build active-region structure only once?

Definition at line 293 of file ferminew.hpp.

## ◆ condQWshift

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::condQWshift

additional conduction band shift for qw (eV)

Definition at line 223 of file ferminew.hpp.

## ◆ differenceQuotient

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::differenceQuotient

difference quotient of dG_dn derivative

Definition at line 229 of file ferminew.hpp.

## ◆ explicitSubstrate

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::explicitSubstrate = false

Is substrate explicitly defined?

List of active regions

Definition at line 164 of file ferminew.hpp.

## ◆ geometry_mod

template<typename GeometryType >

shared_ptr<GeometryType> plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::geometry_mod

Modified geometry for broadening calculation.

Definition at line 161 of file ferminew.hpp.

## ◆ inCarriersConcentration

template<typename GeometryType >

ReceiverFor<CarriersConcentration, GeometryType> plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::inCarriersConcentration

Receiver for carriers concentration in the active region.

Definition at line 173 of file ferminew.hpp.

## ◆ inTemperature

template<typename GeometryType >

ReceiverFor<Temperature, GeometryType> plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::inTemperature

Receiver for temperature.

Definition at line 170 of file ferminew.hpp.

## ◆ lifetime

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::lifetime

lifetime [ps]

Definition at line 227 of file ferminew.hpp.

## ◆ matrixElem

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::matrixElem

optical matrix element [m0*eV]

Definition at line 228 of file ferminew.hpp.

## ◆ outGain

template<typename GeometryType >

ProviderFor<Gain,GeometryType>::Delegate plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::outGain

Provider for gain distribution.

Definition at line 176 of file ferminew.hpp.

## ◆ outLuminescence

template<typename GeometryType >

ProviderFor<Luminescence,GeometryType>::Delegate plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::outLuminescence

Provider for luminescence distribution.

Definition at line 179 of file ferminew.hpp.

## ◆ QWwidthMod

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::QWwidthMod

qw width modifier (-)

Definition at line 225 of file ferminew.hpp.

## ◆ region_levels

template<typename GeometryType >

std::vector<Levels> plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::region_levels

Definition at line 217 of file ferminew.hpp.

## ◆ regions

template<typename GeometryType >

std::vector<ActiveRegionInfo> plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::regions

Definition at line 167 of file ferminew.hpp.

## ◆ roughness

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::roughness

roughness (-)

Definition at line 226 of file ferminew.hpp.

## ◆ strains

template<typename GeometryType >

bool plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::strains

Consider strain in QWs and barriers?

Definition at line 291 of file ferminew.hpp.

## ◆ substrateMaterial

template<typename GeometryType >

shared_ptr<Material> plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::substrateMaterial

Substrate material.

Definition at line 163 of file ferminew.hpp.

## ◆ Tref

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::Tref

reference temperature (K)

Definition at line 230 of file ferminew.hpp.

## ◆ valeQWshift

template<typename GeometryType >

double plask::solvers::FermiNew::FermiNewGainSolver< GeometryType >::valeQWshift

additional valence band shift for qw (eV)

Definition at line 224 of file ferminew.hpp.

The documentation for this struct was generated from the following files:

- solvers/gain/wasiak/ferminew.hpp
- solvers/gain/wasiak/ferminew.cpp