PLaSK library

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

Material which consist of several real materials. More...

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

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

## Public Member Functions
template<typename ... Args>
| MixedMaterial (Args &&... params)
| Delegate all constructor to materials vector.
void | normalizeWeights ()
| Scale weights in materials vector, making sum of this weights equal to 1.
MixedMaterial & | add (const shared_ptr< Material > &material, double weight)
| Add material with weight to materials vector.
virtual | ~MixedMaterial ()
std::string | name () const override
| Get short (without composition and doping amounts) name of material.
Kind | kind () const override
double | lattC (double T, char x) const override
| Get lattice constant (Å).
double | Eg (double T, double e=0., char point=' *') const override
| Get energy gap Eg (eV)
double | CB (double T, double e=0., char point=' *') const override
| Get conduction band level CB (eV).
double | VB (double T, double e=0., char point=' *', char hole='H') const override
| Get valence band level VB(eV).
double | Dso (double T, double e=0.) const override
| Get split-off energy Dso (eV).
double | Mso (double T, double e=0.) const override
| Get split-off mass Mso [ ].
Tensor2< double > | Me (double T, double e=0., 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=0.) const override
| Get heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction [ ].
Tensor2< double > | Mlh (double T, double e=0.) const override
| Get light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction [ ].
Tensor2< double > | Mh (double T, double e=0.) 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=0., char point=' *') const override
| Get electron affinity Chi(eV).
double | Ni (double T=0.) const override
| Get intrinsic carrier concentration Ni [cm^(-3)].
double | Nf (double T=0.) 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].
ConductivityType | condtype () const override
| Get electrical conductivity type.
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 h) 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=0.0) 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=0.0) const override
| Get refractive index Nr (-).
Tensor3< dcomplex > | Eps (double lam, double T, double n=0.0) 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 | Na () const override
| Get acceptor concentration Na [cm^(-3)].
double | Nd () const override
| Get donor concentration Nd [cm^(-3)].
Public Member Functions inherited from plask::Material
virtual OmpLockGuard | lock () const
| Create OpenMP lock guard.
virtual | ~Material ()
| Do nothing.
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 double | y1 () const
| Get Luttinger parameter γ1 (-).
virtual double | y2 () const
| Get Luttinger parameter γ2 (-).
virtual double | y3 () const
| Get Luttinger parameter γ3 (-).
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
std::vector< std::pair< shared_ptr< Material >, double > > | materials
| Vector of materials and its weights.

## 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 which consist of several real materials.

It calculate averages for all properties.

Example:

MixedMaterial m;
// mat1, mat2, mat3 are materials, 2.0, 5.0, 3.0 weights for it:
m.add(mat1, 2.0).add(mat2, 5.0).add(mat3, 3.0).normalizeWeights();
double avg_VB = m.VB(300);

Definition at line 37 of file mixed.hpp.

## Constructor & Destructor Documentation

## ◆ MixedMaterial()

template<typename ... Args>

plask::MixedMaterial::MixedMaterial | ( | Args &&... | params | ) |
| inline

Delegate all constructor to materials vector.

Definition at line 46 of file mixed.hpp.

## ◆ ~MixedMaterial()

virtual plask::MixedMaterial::~MixedMaterial | ( |  | ) |
| inline virtual

Definition at line 62 of file mixed.hpp.

## Member Function Documentation

## ◆ A()

double plask::MixedMaterial::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 45 of file mixed.cpp.

## ◆ absp()

double plask::MixedMaterial::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 49 of file mixed.cpp.

## ◆ ac()

double plask::MixedMaterial::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 128 of file mixed.cpp.

## ◆ add()

MixedMaterial & plask::MixedMaterial::add | ( | const shared_ptr< Material > & | material,
|  | double | weight
| ) |  |

Add material with weight to materials vector.

Parameters

  material | material to add
  weight | weight

Definition at line 28 of file mixed.cpp.

## ◆ av()

double plask::MixedMaterial::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 132 of file mixed.cpp.

## ◆ b()

double plask::MixedMaterial::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 136 of file mixed.cpp.

## ◆ B()

double plask::MixedMaterial::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 53 of file mixed.cpp.

## ◆ C()

double plask::MixedMaterial::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 57 of file mixed.cpp.

## ◆ c11()

double plask::MixedMaterial::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 144 of file mixed.cpp.

## ◆ c12()

double plask::MixedMaterial::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 148 of file mixed.cpp.

## ◆ c13()

double plask::MixedMaterial::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 243 of file mixed.cpp.

## ◆ c33()

double plask::MixedMaterial::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 247 of file mixed.cpp.

## ◆ c44()

double plask::MixedMaterial::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 152 of file mixed.cpp.

## ◆ CB()

double plask::MixedMaterial::CB | ( | double | T,
|  | double | e = `0.`,
|  | 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 61 of file mixed.cpp.

## ◆ Ce()

double plask::MixedMaterial::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 223 of file mixed.cpp.

## ◆ Ch()

double plask::MixedMaterial::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 227 of file mixed.cpp.

## ◆ chi()

double plask::MixedMaterial::chi | ( | double | T,
|  | double | e = `0.`,
|  | 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 65 of file mixed.cpp.

## ◆ cond()

Tensor2< double > plask::MixedMaterial::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 69 of file mixed.cpp.

## ◆ condtype()

Material::ConductivityType plask::MixedMaterial::condtype | ( |  | ) | const
| override virtual

Get electrical conductivity type.

In semiconductors this indicates what type of carriers Nf refers to.

Returns
  electrical conductivity type of material

Reimplemented from plask::Material.

Definition at line 73 of file mixed.cpp.

## ◆ cp()

double plask::MixedMaterial::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 194 of file mixed.cpp.

## ◆ d()

double plask::MixedMaterial::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 140 of file mixed.cpp.

## ◆ D()

double plask::MixedMaterial::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 81 of file mixed.cpp.

## ◆ dens()

double plask::MixedMaterial::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 85 of file mixed.cpp.

## ◆ Dso()

double plask::MixedMaterial::Dso | ( | double | T,
|  | double | e = `0.`
| ) |  | 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 89 of file mixed.cpp.

## ◆ e13()

double plask::MixedMaterial::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 231 of file mixed.cpp.

## ◆ e15()

double plask::MixedMaterial::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 235 of file mixed.cpp.

## ◆ e33()

double plask::MixedMaterial::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 239 of file mixed.cpp.

## ◆ EactA()

double plask::MixedMaterial::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 93 of file mixed.cpp.

## ◆ EactD()

double plask::MixedMaterial::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 96 of file mixed.cpp.

## ◆ Eg()

double plask::MixedMaterial::Eg | ( | double | T,
|  | double | e = `0.`,
|  | 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 100 of file mixed.cpp.

## ◆ Eps()

Tensor3< dcomplex > plask::MixedMaterial::Eps | ( | double | lam,
|  | double | T,
|  | double | n = `0.0`
| ) |  | 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 180 of file mixed.cpp.

## ◆ eps()

double plask::MixedMaterial::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 104 of file mixed.cpp.

## ◆ kind()

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

Returns
  material kind

Implements plask::Material.

Definition at line 20 of file mixed.cpp.

## ◆ lattC()

double plask::MixedMaterial::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 108 of file mixed.cpp.

## ◆ Me()

Tensor2< double > plask::MixedMaterial::Me | ( | double | T,
|  | double | e = `0.`,
|  | 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 112 of file mixed.cpp.

## ◆ Mh()

Tensor2< double > plask::MixedMaterial::Mh | ( | double | T,
|  | double | e = `0.`
| ) |  | 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 116 of file mixed.cpp.

## ◆ Mhh()

Tensor2< double > plask::MixedMaterial::Mhh | ( | double | T,
|  | double | e = `0.`
| ) |  | 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 120 of file mixed.cpp.

## ◆ Mlh()

Tensor2< double > plask::MixedMaterial::Mlh | ( | double | T,
|  | double | e = `0.`
| ) |  | 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 124 of file mixed.cpp.

## ◆ mob()

Tensor2< double > plask::MixedMaterial::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 156 of file mixed.cpp.

## ◆ mobe()

Tensor2< double > plask::MixedMaterial::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 207 of file mixed.cpp.

## ◆ mobh()

Tensor2< double > plask::MixedMaterial::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 211 of file mixed.cpp.

## ◆ Mso()

double plask::MixedMaterial::Mso | ( | double | T,
|  | double | e = `0.`
| ) |  | 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 160 of file mixed.cpp.

## ◆ Na()

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

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

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

Reimplemented from plask::Material.

Definition at line 255 of file mixed.cpp.

## ◆ name()

std::string plask::MixedMaterial::name | ( |  | ) | const
| override virtual

Get short (without composition and doping amounts) name of material.

Returns
  material name

Implements plask::Material.

Definition at line 33 of file mixed.cpp.

## ◆ Nd()

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

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

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

Reimplemented from plask::Material.

Definition at line 259 of file mixed.cpp.

## ◆ Nf()

double plask::MixedMaterial::Nf | ( | double | T = `0.` | ) | 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 164 of file mixed.cpp.

## ◆ Ni()

double plask::MixedMaterial::Ni | ( | double | T = `0.` | ) | 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 168 of file mixed.cpp.

## ◆ normalizeWeights()

void plask::MixedMaterial::normalizeWeights | ( |  | ) |

Scale weights in materials vector, making sum of this weights equal to 1.

Definition at line 22 of file mixed.cpp.

## ◆ nr()

double plask::MixedMaterial::nr | ( | double | lam,
|  | double | T,
|  | double | n = `0.0`
| ) |  | 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 172 of file mixed.cpp.

## ◆ Nr()

dcomplex plask::MixedMaterial::Nr | ( | double | lam,
|  | double | T,
|  | double | n = `0.0`
| ) |  | 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 176 of file mixed.cpp.

## ◆ Psp()

double plask::MixedMaterial::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 251 of file mixed.cpp.

## ◆ taue()

double plask::MixedMaterial::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 215 of file mixed.cpp.

## ◆ tauh()

double plask::MixedMaterial::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 219 of file mixed.cpp.

## ◆ thermk()

Tensor2< double > plask::MixedMaterial::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 198 of file mixed.cpp.

## ◆ VB()

double plask::MixedMaterial::VB | ( | double | T,
|  | double | e = `0.`,
|  | char | point = `'*'`,
|  | char | hole = `'H'`
| ) |  | 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 202 of file mixed.cpp.

## Member Data Documentation

## ◆ materials

std::vector< std::pair<shared_ptr<Material>,double> > plask::MixedMaterial::materials

Vector of materials and its weights.

Definition at line 40 of file mixed.hpp.

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

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