PLaSK library
Loading...
Searching...
No Matches
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::strukturabuildEc (double T, const ActiveRegionData &region)
 
kubly::strukturabuildEvhh (double T, const ActiveRegionData &region)
 
kubly::strukturabuildEvlh (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< ActiveRegionDatadetectActiveRegions (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< MaterialgetSubstrate () 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.
 
MeshAxismeshRef () const
 Get current module mesh.
 
shared_ptr< MeshAxisgetMesh () 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< SpaceTgetGeometry () 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, ValTdataLog (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, ValTdataLog (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< MaterialsubstrateMaterial
 Substrate material.
 
bool explicitSubstrate = false
 Is substrate explicitly defined?
 
std::vector< ActiveRegionInforegions
 
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< Levelsregion_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< MeshAxismesh
 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< SpaceTgeometry
 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_meshdestination mesh
wavelengthwavelength to compute gain for
interpinterpolation 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
sourcesource of configuration
managermanager 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
geometrynew 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: