PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
plask::MaterialWithBase Struct Reference

Material with another one as base. More...

`#include <plask/material/material.hpp>`

Inheritance diagram for plask::MaterialWithBase:
[legend]
Collaboration diagram for plask::MaterialWithBase:
[legend]

## Public Member Functions
| MaterialWithBase ()=default
| MaterialWithBase (const shared_ptr< Material > &base)
| MaterialWithBase (Material *base)
Kind | kind () const override
double | lattC (double T, char x) const override
| Get lattice constant (Å).
double | Eg (double T, double e, char point) const override
| Get energy gap Eg (eV)
double | CB (double T, double e, char point) const override
| Get conduction band level CB (eV).
double | VB (double T, double e, char point, char hole) const override
| Get valence band level VB(eV).
double | Dso (double T, double e) const override
| Get split-off energy Dso (eV).
double | Mso (double T, double e) const override
| Get split-off mass Mso [ ].
Tensor2< double > | Me (double T, double e, char point) const override
| Get electron effective mass Me in in-plane (lateral) and cross-plane (vertical) direction [ ].
Tensor2< double > | Mhh (double T, double e) const override
| Get heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction [ ].
Tensor2< double > | Mlh (double T, double e) const override
| Get light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction [ ].
Tensor2< double > | Mh (double T, double e) const override
| Get hole effective mass Mh in in-plane (lateral) and cross-plane (vertical) direction [ ].
double | ac (double T) const override
| Get hydrostatic deformation potential for the conduction band ac (eV).
double | av (double T) const override
| Get hydrostatic deformation potential for the valence band av (eV).
double | b (double T) const override
| Get shear deformation potential b (eV).
double | d (double T) const override
| Get shear deformation potential d (eV).
double | c11 (double T) const override
| Get elastic constant c11 (GPa).
double | c12 (double T) const override
| Get elastic constant c12 (GPa).
double | c44 (double T) const override
| Get elastic constant c44 (GPa).
double | eps (double T) const override
| Get dielectric constant EpsR (-).
double | chi (double T, double e, char point) const override
| Get electron affinity Chi(eV).
double | Na () const override
| Get acceptor concentration Na [cm^(-3)].
double | Nd () const override
| Get donor concentration Nd [cm^(-3)].
double | Ni (double T) const override
| Get intrinsic carrier concentration Ni [cm^(-3)].
double | Nf (double T) const override
| Get free carrier concentration N [cm^(-3)].
double | EactD (double T) const override
| Get donor ionisation energy EactD (eV).
double | EactA (double T) const override
| Get acceptor ionisation energy EactA (eV).
Tensor2< double > | mob (double T) const override
| Get mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
Tensor2< double > | cond (double T) const override
| Get electrical conductivity sigma in-plane (lateral) and cross-plane (vertical) direction [S/m].
double | A (double T) const override
| Get monomolecular recombination coefficient A (1/s).
double | B (double T) const override
| Get radiative recombination coefficient B (cm^3/s).
double | C (double T) const override
| Get Auger recombination coefficient C (cm^6/s).
double | D (double T) const override
| Get ambipolar diffusion coefficient D (cm^2/s).
Tensor2< double > | thermk (double T, double t) const override
| Get thermal conductivity in in-plane (lateral) and cross-plane (vertical) direction k [W/(m*K)].
double | dens (double T) const override
| Get density (kg/m^3).
double | cp (double T) const override
| Get specific heat at constant pressure [J/(kg*K)].
double | nr (double lam, double T, double n) const override
| Get refractive index Nr (-).
double | absp (double lam, double T) const override
| Get absorption coefficient alpha [cm^(-1)].
dcomplex | Nr (double lam, double T, double n) const override
| Get refractive index Nr (-).
Tensor3< dcomplex > | Eps (double lam, double T, double n) const override
| Get Hermitian permittivity tensor ε (-).
Tensor2< double > | mobe (double T) const override
| Get electron mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
Tensor2< double > | mobh (double T) const override
| Get hole mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
double | taue (double T) const override
| Get monomolecular electrons lifetime (ns).
double | tauh (double T) const override
| Get monomolecular holes lifetime (ns).
double | Ce (double T) const override
| Get Auger recombination coefficient C for electrons (cm^6/s).
double | Ch (double T) const override
| Get Auger recombination coefficient C for holes (cm^6/s).
double | e13 (double T) const override
| Get piezoelectric constant e13 (C/m^2)
double | e15 (double T) const override
| Get piezoelectric constant e13 (C/m^2)
double | e33 (double T) const override
| Get piezoelectric constant e33 (C/m^2)
double | c13 (double T) const override
| Get elastic constant c13 (GPa).
double | c33 (double T) const override
| Get elastic constant c33 (GPa).
double | Psp (double T) const override
| Get spontaneous polarization (C/m^2)
double | y1 () const override
| Get Luttinger parameter γ1 (-).
double | y2 () const override
| Get Luttinger parameter γ2 (-).
double | y3 () const override
| Get Luttinger parameter γ3 (-).
Public Member Functions inherited from plask::Material
virtual OmpLockGuard | lock () const
| Create OpenMP lock guard.
virtual | ~Material ()
| Do nothing.
virtual std::string | name () const =0
| Get short (without composition and doping amounts) name of material.
std::string | dopant () const
| Get dopant material name (part of name after ':', possibly empty).
std::string | nameWithoutDopant () const
| Get material name without dopant (without ':' and part of name after it).
virtual std::string | str () const
| Get full (with composition and doping amounts) name of material.
bool | isAlloy () const
| Check if `this` material is alloy.
virtual Composition | composition () const
| If this material is alloy return its composition.
virtual double | doping () const
| Doping concentration.
virtual ConductivityType | condtype () const
| Get electrical conductivity type.
bool | operator== (const Material &other) const
| Check if this material is equal to other (checks type and uses isEqual).
bool | operator== (shared_ptr< const Material > other) const
| Check if this material is equal to other (checks type and uses isEqual).
bool | operator!= (const Material &other) const
| Check if this material is different from other (checks type and uses isEqual).
bool | operator!= (shared_ptr< const Material > other) const
| Check if this material is different from other (checks type and uses isEqual).

## Public Attributes
shared_ptr< Material > | base

## Additional Inherited Members
Public Types inherited from plask::Material
enum | Kind : unsigned { GENERIC = (1<<0) , EMPTY = (1<<1) , SEMICONDUCTOR = (1<<2) , OXIDE = (1<<3) , DIELECTRIC = (1<<4) , METAL = (1<<5) , LIQUID_CRYSTAL = (1<<6) , MIXED = (1<<7) }
| Material kind. More...
enum | ConductivityType { CONDUCTIVITY_N , CONDUCTIVITY_I , CONDUCTIVITY_P , CONDUCTIVITY_OTHER , CONDUCTIVITY_UNDETERMINED }
| Material conductivity type. More...
typedef std::map< std::string, double > | Composition
| Type for material composition.
Static Public Member Functions inherited from plask::Material
static bool | isNameWithDopant (const std::string &material_name)
| Check if dopant is included in `material_name`.
static bool | isSimpleMaterialName (const std::string &material_name)
| Check if `material_name` is name of simple material.
static std::pair< std::string, double > | firstCompositionObject (const char *&begin, const char *end, const char *fullname)
| Parse composition object from [begin, end) string.
static Composition | completeComposition (const Composition &composition)
| Change NaN-s in material composition to calculated amounts.
static Composition | minimalComposition (const Composition &composition)
| Change material composition to minimal set.
static Composition | parseComposition (const char *begin, const char *end, const char *fullname=nullptr)
| Parse composition from string, or string fragment.
static Composition | parseComposition (const std::string &composition_str, const std::string &fullname="")
| Parse composition from string.
static void | parseDopant (const char *begin, const char *end, std::string &dopant_elem_name, double &doping, bool allow_dopant_without_amount, const char *fullname)
| Parse information about dopant from string.
static void | parseDopant (const std::string &dopant, std::string &dopant_elem_name, double &doping, bool allow_dopant_without_amount, const std::string &fullname)
| Parse information about dopant from string.
static std::vector< std::string > | parseObjectsNames (const char *begin, const char *end)
| Split object name to objects.
static std::vector< std::string > | parseObjectsNames (const std::string &allNames)
| Split object name to objects.
Protected Member Functions inherited from plask::Material
virtual bool | isEqual (const Material &other) const
| Check if this material is equal to other.
void | throwNotImplemented (const std::string &method_name) const
| Throw exception with information that method with name `method_name` is not implemented for this material.

## Detailed Description

Material with another one as base.

Definition at line 958 of file material.hpp.

## Constructor & Destructor Documentation

## ◆ MaterialWithBase() [1/3]

plask::MaterialWithBase::MaterialWithBase | ( |  | ) |
| default

## ◆ MaterialWithBase() [2/3]

plask::MaterialWithBase::MaterialWithBase | ( | const shared_ptr< Material > & | base | ) |
| inline

Definition at line 962 of file material.hpp.

## ◆ MaterialWithBase() [3/3]

plask::MaterialWithBase::MaterialWithBase | ( | Material * | base | ) |
| inline

Definition at line 963 of file material.hpp.

## Member Function Documentation

## ◆ A()

double plask::MaterialWithBase::A | ( | double | T | ) | const
| override virtual

Get monomolecular recombination coefficient A (1/s).

Parameters

  T | temperature (K)

Returns
  monomolecular recombination coefficient A (1/s)

Reimplemented from plask::Material.

Definition at line 478 of file material.cpp.

## ◆ absp()

double plask::MaterialWithBase::absp | ( | double | lam,
|  | double | T
| ) |  | const
| override virtual

Get absorption coefficient alpha [cm^(-1)].

Parameters

  lam | Wavelength (nm)
  T | temperature (K)
  n | injected carriers concentration (1/cm)

Returns
  absorption coefficient alpha cm^(-1)]

Reimplemented from plask::Material.

Definition at line 492 of file material.cpp.

## ◆ ac()

double plask::MaterialWithBase::ac | ( | double | T | ) | const
| override virtual

Get hydrostatic deformation potential for the conduction band ac (eV).

Parameters

  T | temperature (K)

Returns
  hydrostatic deformation potential for the conduction band ac (eV)

Reimplemented from plask::Material.

Definition at line 461 of file material.cpp.

## ◆ av()

double plask::MaterialWithBase::av | ( | double | T | ) | const
| override virtual

Get hydrostatic deformation potential for the valence band av (eV).

Parameters

  T | temperature (K)

Returns
  hydrostatic deformation potential for the valence band av (eV)

Reimplemented from plask::Material.

Definition at line 462 of file material.cpp.

## ◆ b()

double plask::MaterialWithBase::b | ( | double | T | ) | const
| override virtual

Get shear deformation potential b (eV).

Parameters

  T | temperature (K)

Returns
  shear deformation potential b (eV)

Reimplemented from plask::Material.

Definition at line 463 of file material.cpp.

## ◆ B()

double plask::MaterialWithBase::B | ( | double | T | ) | const
| override virtual

Get radiative recombination coefficient B (cm^3/s).

Parameters

  T | temperature (K)

Returns
  radiative recombination coefficient B (cm^3/s)

Reimplemented from plask::Material.

Definition at line 479 of file material.cpp.

## ◆ C()

double plask::MaterialWithBase::C | ( | double | T | ) | const
| override virtual

Get Auger recombination coefficient C (cm^6/s).

Parameters

  T | temperature (K)

Returns
  Auger recombination coefficient C (cm^6/s)

Reimplemented from plask::Material.

Definition at line 480 of file material.cpp.

## ◆ c11()

double plask::MaterialWithBase::c11 | ( | double | T | ) | const
| override virtual

Get elastic constant c11 (GPa).

Parameters

  T | temperature (K)

Returns
  elastic constant c11 (GPa)

Reimplemented from plask::Material.

Definition at line 465 of file material.cpp.

## ◆ c12()

double plask::MaterialWithBase::c12 | ( | double | T | ) | const
| override virtual

Get elastic constant c12 (GPa).

Parameters

  T | temperature (K)

Returns
  elastic constant c12 (GPa)

Reimplemented from plask::Material.

Definition at line 466 of file material.cpp.

## ◆ c13()

double plask::MaterialWithBase::c13 | ( | double | T | ) | const
| override virtual

Get elastic constant c13 (GPa).

Parameters

  T | temperature (K)

Returns
  elastic constant c13 (GPa)

Reimplemented from plask::Material.

Definition at line 517 of file material.cpp.

## ◆ c33()

double plask::MaterialWithBase::c33 | ( | double | T | ) | const
| override virtual

Get elastic constant c33 (GPa).

Parameters

  T | temperature (K)

Returns
  elastic constant c33 (GPa)

Reimplemented from plask::Material.

Definition at line 518 of file material.cpp.

## ◆ c44()

double plask::MaterialWithBase::c44 | ( | double | T | ) | const
| override virtual

Get elastic constant c44 (GPa).

Parameters

  T | temperature (K)

Returns
  elastic constant c44 (GPa)

Reimplemented from plask::Material.

Definition at line 467 of file material.cpp.

## ◆ CB()

double plask::MaterialWithBase::CB | ( | double | T,
|  | double | e,
|  | char | point
| ) |  | const
| override virtual

Get conduction band level CB (eV).

Parameters

  T | temperature (K)
  e | lateral strain (-)
  point | point in the Brillouin zone (-)

Returns
  conduction band level CB (eV)

Reimplemented from plask::Material.

Definition at line 453 of file material.cpp.

## ◆ Ce()

double plask::MaterialWithBase::Ce | ( | double | T | ) | const
| override virtual

Get Auger recombination coefficient C for electrons (cm^6/s).

Parameters

  T | temperature (K)

Returns
  Auger recombination coefficient C (cm^6/s)

Reimplemented from plask::Material.

Definition at line 512 of file material.cpp.

## ◆ Ch()

double plask::MaterialWithBase::Ch | ( | double | T | ) | const
| override virtual

Get Auger recombination coefficient C for holes (cm^6/s).

Parameters

  T | temperature (K)

Returns
  Auger recombination coefficient C (cm^6/s)

Reimplemented from plask::Material.

Definition at line 513 of file material.cpp.

## ◆ chi()

double plask::MaterialWithBase::chi | ( | double | T,
|  | double | e,
|  | char | point
| ) |  | const
| override virtual

Get electron affinity Chi(eV).

Parameters

  T | temperature (K)
  e | lateral strain (-)
  point | point in Brillouin zone (-)

Returns
  electron affinity Chi (eV)

Reimplemented from plask::Material.

Definition at line 469 of file material.cpp.

## ◆ cond()

Tensor2< double > plask::MaterialWithBase::cond | ( | double | T | ) | const
| override virtual

Get electrical conductivity sigma in-plane (lateral) and cross-plane (vertical) direction [S/m].

Parameters

  T | temperature (K)

Returns
  electrical conductivity sigma [S/m]

Reimplemented from plask::Material.

Definition at line 477 of file material.cpp.

## ◆ cp()

double plask::MaterialWithBase::cp | ( | double | T | ) | const
| override virtual

Get specific heat at constant pressure [J/(kg*K)].

Parameters

  T | temperature (K)

Returns
  specific heat at constant pressure [J/(kg*K)]

Reimplemented from plask::Material.

Definition at line 490 of file material.cpp.

## ◆ d()

double plask::MaterialWithBase::d | ( | double | T | ) | const
| override virtual

Get shear deformation potential d (eV).

Parameters

  T | temperature (K)

Returns
  shear deformation potential d (eV)

Reimplemented from plask::Material.

Definition at line 464 of file material.cpp.

## ◆ D()

double plask::MaterialWithBase::D | ( | double | T | ) | const
| override virtual

Get ambipolar diffusion coefficient D (cm^2/s).

Parameters

  T | temperature (K)

Returns
  ambipolar diffusion coefficient D (cm^2/s)

Reimplemented from plask::Material.

Definition at line 481 of file material.cpp.

## ◆ dens()

double plask::MaterialWithBase::dens | ( | double | T | ) | const
| override virtual

Get density (kg/m^3).

Parameters

  T | temperature (K)

Returns
  density (kg/m^3)

Reimplemented from plask::Material.

Definition at line 489 of file material.cpp.

## ◆ Dso()

double plask::MaterialWithBase::Dso | ( | double | T,
|  | double | e
| ) |  | const
| override virtual

Get split-off energy Dso (eV).

Parameters

  T | temperature (K)
  e | lateral strain (-)

Returns
  split-off energy Dso (eV)

Reimplemented from plask::Material.

Definition at line 455 of file material.cpp.

## ◆ e13()

double plask::MaterialWithBase::e13 | ( | double | T | ) | const
| override virtual

Get piezoelectric constant e13 (C/m^2)

Parameters

  T | temperature (K)

Returns
  piezoelectric constant e13 (C/m^2)

Reimplemented from plask::Material.

Definition at line 514 of file material.cpp.

## ◆ e15()

double plask::MaterialWithBase::e15 | ( | double | T | ) | const
| override virtual

Get piezoelectric constant e13 (C/m^2)

Parameters

  T | temperature (K)

Returns
  piezoelectric constant e13 (C/m^2)

Reimplemented from plask::Material.

Definition at line 515 of file material.cpp.

## ◆ e33()

double plask::MaterialWithBase::e33 | ( | double | T | ) | const
| override virtual

Get piezoelectric constant e33 (C/m^2)

Parameters

  T | temperature (K)

Returns
  piezoelectric constant e33 (C/m^2)

Reimplemented from plask::Material.

Definition at line 516 of file material.cpp.

## ◆ EactA()

double plask::MaterialWithBase::EactA | ( | double | T | ) | const
| override virtual

Get acceptor ionisation energy EactA (eV).

Parameters

  T | temperature (K)

Returns
  acceptor ionisation energy EactA (eV)

Reimplemented from plask::Material.

Definition at line 475 of file material.cpp.

## ◆ EactD()

double plask::MaterialWithBase::EactD | ( | double | T | ) | const
| override virtual

Get donor ionisation energy EactD (eV).

Parameters

  T | temperature (K)

Returns
  donor ionisation energy EactD (eV)

Reimplemented from plask::Material.

Definition at line 474 of file material.cpp.

## ◆ Eg()

double plask::MaterialWithBase::Eg | ( | double | T,
|  | double | e,
|  | char | point
| ) |  | const
| override virtual

Get energy gap Eg (eV)

Parameters

  T | temperature (K)
  e | lateral strain (-)
  point | point in the Brillouin zone (-)

Returns
  energy gap Eg (eV)

Reimplemented from plask::Material.

Definition at line 452 of file material.cpp.

## ◆ Eps()

Tensor3< dcomplex > plask::MaterialWithBase::Eps | ( | double | lam,
|  | double | T,
|  | double | n
| ) |  | const
| override virtual

Get Hermitian permittivity tensor ε (-).

Parameters

  lam | Wavelength (nm)
  T | temperature (K)
  n | injected carriers concentration (1/cm)

Returns
  permittivity index tensor Eps(-)

Reimplemented from plask::Material.

Definition at line 500 of file material.cpp.

## ◆ eps()

double plask::MaterialWithBase::eps | ( | double | T | ) | const
| override virtual

Get dielectric constant EpsR (-).

Parameters

  T | temperature (K)

Returns
  dielectric constant EpsR (-)

Reimplemented from plask::Material.

Definition at line 468 of file material.cpp.

## ◆ kind()

Material::Kind plask::MaterialWithBase::kind | ( |  | ) | const
| override virtual

Returns
  material kind

Implements plask::Material.

Definition at line 449 of file material.cpp.

## ◆ lattC()

double plask::MaterialWithBase::lattC | ( | double | T,
|  | char | x
| ) |  | const
| override virtual

Get lattice constant (Å).

Parameters

  T | temperature (K)
  x | lattice parameter (-)

Returns
  lattice constant (Å)

Reimplemented from plask::Material.

Definition at line 451 of file material.cpp.

## ◆ Me()

Tensor2< double > plask::MaterialWithBase::Me | ( | double | T,
|  | double | e,
|  | char | point
| ) |  | const
| override virtual

Get electron effective mass Me in in-plane (lateral) and cross-plane (vertical) direction [ ].

Parameters

  T | temperature (K)
  e | lateral strain (-)
  point | point in Brillouin zone (-)

Returns
  electron effective mass Me [ ]

Reimplemented from plask::Material.

Definition at line 457 of file material.cpp.

## ◆ Mh()

Tensor2< double > plask::MaterialWithBase::Mh | ( | double | T,
|  | double | e
| ) |  | const
| override virtual

Get hole effective mass Mh in in-plane (lateral) and cross-plane (vertical) direction [ ].

Parameters

  T | temperature (K)
  e | lateral strain (-)

Returns
  hole effective mass Mh [ ]

Reimplemented from plask::Material.

Definition at line 460 of file material.cpp.

## ◆ Mhh()

Tensor2< double > plask::MaterialWithBase::Mhh | ( | double | T,
|  | double | e
| ) |  | const
| override virtual

Get heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction [ ].

Parameters

  T | temperature (K)
  e | lateral strain (-)

Returns
  heavy hole effective mass Mhh [ ]

Reimplemented from plask::Material.

Definition at line 458 of file material.cpp.

## ◆ Mlh()

Tensor2< double > plask::MaterialWithBase::Mlh | ( | double | T,
|  | double | e
| ) |  | const
| override virtual

Get light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction [ ].

Parameters

  T | temperature (K)
  e | lateral strain (-)

Returns
  light hole effective mass Mlh [ ]

Reimplemented from plask::Material.

Definition at line 459 of file material.cpp.

## ◆ mob()

Tensor2< double > plask::MaterialWithBase::mob | ( | double | T | ) | const
| override virtual

Get mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].

Parameters

  T | temperature (K)

Returns
  mobility [cm^2/(V*s)]

Reimplemented from plask::Material.

Definition at line 476 of file material.cpp.

## ◆ mobe()

Tensor2< double > plask::MaterialWithBase::mobe | ( | double | T | ) | const
| override virtual

Get electron mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].

Parameters

  T | temperature (K)

Returns
  mobility [cm^2/(V*s)]

Reimplemented from plask::Material.

Definition at line 508 of file material.cpp.

## ◆ mobh()

Tensor2< double > plask::MaterialWithBase::mobh | ( | double | T | ) | const
| override virtual

Get hole mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].

Parameters

  T | temperature (K)

Returns
  mobility [cm^2/(V*s)]

Reimplemented from plask::Material.

Definition at line 509 of file material.cpp.

## ◆ Mso()

double plask::MaterialWithBase::Mso | ( | double | T,
|  | double | e
| ) |  | const
| override virtual

Get split-off mass Mso [ ].

Parameters

  T | temperature (K)
  e | lateral strain (-)

Returns
  split-off mass Mso [ ]

Reimplemented from plask::Material.

Definition at line 456 of file material.cpp.

## ◆ Na()

double plask::MaterialWithBase::Na | ( |  | ) | const
| override virtual

Get acceptor concentration Na [cm^(-3)].

Returns
  acceptor concentration Na [cm^(-3)]

Reimplemented from plask::Material.

Definition at line 470 of file material.cpp.

## ◆ Nd()

double plask::MaterialWithBase::Nd | ( |  | ) | const
| override virtual

Get donor concentration Nd [cm^(-3)].

Returns
  donor concentration Nd [cm^(-3)]

Reimplemented from plask::Material.

Definition at line 471 of file material.cpp.

## ◆ Nf()

double plask::MaterialWithBase::Nf | ( | double | T | ) | const
| override virtual

Get free carrier concentration N [cm^(-3)].

Parameters

  T | temperature (K)

Returns
  free carrier concentration N [cm^(-3)]

Reimplemented from plask::Material.

Definition at line 473 of file material.cpp.

## ◆ Ni()

double plask::MaterialWithBase::Ni | ( | double | T | ) | const
| override virtual

Get intrinsic carrier concentration Ni [cm^(-3)].

Parameters

  T | temperature (K)

Returns
  intrinsic carrier concentration Ni [cm^(-3)]

Reimplemented from plask::Material.

Definition at line 472 of file material.cpp.

## ◆ nr()

double plask::MaterialWithBase::nr | ( | double | lam,
|  | double | T,
|  | double | n
| ) |  | const
| override virtual

Get refractive index Nr (-).

Parameters

  lam | Wavelength (nm)
  T | temperature (K)
  n | injected carriers concentration (1/cm)

Returns
  refractive index Nr (-)

Reimplemented from plask::Material.

Definition at line 491 of file material.cpp.

## ◆ Nr()

dcomplex plask::MaterialWithBase::Nr | ( | double | lam,
|  | double | T,
|  | double | n
| ) |  | const
| override virtual

Get refractive index Nr (-).

Parameters

  lam | Wavelength (nm)
  T | temperature (K)

Returns
  refractive index Nr(-)

Reimplemented from plask::Material.

Definition at line 493 of file material.cpp.

## ◆ Psp()

double plask::MaterialWithBase::Psp | ( | double | T | ) | const
| override virtual

Get spontaneous polarization (C/m^2)

Parameters

  T | temperature (K)

Returns
  spontaneous polarization (C/m^2)

Reimplemented from plask::Material.

Definition at line 519 of file material.cpp.

## ◆ taue()

double plask::MaterialWithBase::taue | ( | double | T | ) | const
| override virtual

Get monomolecular electrons lifetime (ns).

Parameters

  T | temperature (K)

Returns
  monomolecular electrons lifetime (ns)

Reimplemented from plask::Material.

Definition at line 510 of file material.cpp.

## ◆ tauh()

double plask::MaterialWithBase::tauh | ( | double | T | ) | const
| override virtual

Get monomolecular holes lifetime (ns).

Parameters

  T | temperature (K)

Returns
  monomolecular holes lifetime (ns)

Reimplemented from plask::Material.

Definition at line 511 of file material.cpp.

## ◆ thermk()

Tensor2< double > plask::MaterialWithBase::thermk | ( | double | T,
|  | double | h
| ) |  | const
| override virtual

Get thermal conductivity in in-plane (lateral) and cross-plane (vertical) direction k [W/(m*K)].

Parameters

  T | temperature (K)
  h | layer thickness (µm)

Returns
  thermal conductivity k [W/(m*K)]

Reimplemented from plask::Material.

Definition at line 488 of file material.cpp.

## ◆ VB()

double plask::MaterialWithBase::VB | ( | double | T,
|  | double | e,
|  | char | point,
|  | char | hole
| ) |  | const
| override virtual

Get valence band level VB(eV).

Parameters

  T | temperature (K)
  e | lateral strain (-)
  point | point in Brillouin zone (-)
  hole | hole type ('H'eavy or 'L'ight) (-)

Returns
  valence band level VB(eV)

Reimplemented from plask::Material.

Definition at line 454 of file material.cpp.

## ◆ y1()

double plask::MaterialWithBase::y1 | ( |  | ) | const
| override virtual

Get Luttinger parameter γ1 (-).

Returns
  Luttinger parameter y1 (-)

Reimplemented from plask::Material.

Definition at line 520 of file material.cpp.

## ◆ y2()

double plask::MaterialWithBase::y2 | ( |  | ) | const
| override virtual

Get Luttinger parameter γ2 (-).

Returns
  Luttinger parameter y2 (-)

Reimplemented from plask::Material.

Definition at line 521 of file material.cpp.

## ◆ y3()

double plask::MaterialWithBase::y3 | ( |  | ) | const
| override virtual

Get Luttinger parameter γ3 (-).

Returns
  Luttinger parameter y3 (-)

Reimplemented from plask::Material.

Definition at line 522 of file material.cpp.

## Member Data Documentation

## ◆ base

shared_ptr<Material> plask::MaterialWithBase::base

Definition at line 959 of file material.hpp.

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

- plask/material/material.hpp
- plask/material/material.cpp