PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
plask::materials::Air Struct Reference

Represent air, its physical properties. More...

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

Inheritance diagram for plask::materials::Air:
[legend]
Collaboration diagram for plask::materials::Air:
[legend]

## Public Member Functions
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, 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 | 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 | 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].
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) const override
| Get refractive index Nr (-).
double | absp (double lam, double T) const override
| Get absorption coefficient alpha [cm^(-1)].
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 | 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 (-).
virtual double | ac (double T) const
| Get hydrostatic deformation potential for the conduction band ac (eV).
virtual double | av (double T) const
| Get hydrostatic deformation potential for the valence band av (eV).
virtual double | b (double T) const
| Get shear deformation potential b (eV).
virtual double | d (double T) const
| Get shear deformation potential d (eV).
virtual double | c11 (double T) const
| Get elastic constant c11 (GPa).
virtual double | c12 (double T) const
| Get elastic constant c12 (GPa).
virtual double | c44 (double T) const
| Get elastic constant c44 (GPa).
virtual Tensor3< dcomplex > | Eps (double lam, double T, double n=0) const
| Get Hermitian permittivity tensor ε (-).
virtual dcomplex | Nr (double lam, double T, double n=0) const
| Get refractive index Nr (-).
virtual double | taue (double T) const
| Get monomolecular electrons lifetime (ns).
virtual double | tauh (double T) const
| Get monomolecular holes lifetime (ns).
virtual double | Ce (double T) const
| Get Auger recombination coefficient C for electrons (cm^6/s).
virtual double | Ch (double T) const
| Get Auger recombination coefficient C for holes (cm^6/s).
virtual double | e13 (double T) const
| Get piezoelectric constant e13 (C/m^2)
virtual double | e15 (double T) const
| Get piezoelectric constant e13 (C/m^2)
virtual double | e33 (double T) const
| Get piezoelectric constant e33 (C/m^2)
virtual double | c13 (double T) const
| Get elastic constant c13 (GPa).
virtual double | c33 (double T) const
| Get elastic constant c33 (GPa).
virtual double | Psp (double T) const
| Get spontaneous polarization (C/m^2)
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).

## Static Public Attributes
static constexpr const char * | NAME = "air"

## Protected Member Functions
bool | isEqual (const Material &other) const override
| Check if this material is equal to other.
Protected Member Functions inherited from plask::Material
void | throwNotImplemented (const std::string &method_name) const
| Throw exception with information that method with name `method_name` is not implemented for this material.

## 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.

## Detailed Description

Represent air, its physical properties.

Definition at line 28 of file air.hpp.

## Member Function Documentation

## ◆ A()

double plask::materials::Air::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 27 of file air.cpp.

## ◆ absp()

double plask::materials::Air::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 29 of file air.cpp.

## ◆ B()

double plask::materials::Air::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 31 of file air.cpp.

## ◆ C()

double plask::materials::Air::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 33 of file air.cpp.

## ◆ CB()

double plask::materials::Air::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 35 of file air.cpp.

## ◆ chi()

double plask::materials::Air::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 37 of file air.cpp.

## ◆ cond()

Tensor2< double > plask::materials::Air::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.

## ◆ condtype()

ConductivityType plask::materials::Air::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.

## ◆ cp()

double plask::materials::Air::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.

## ◆ D()

double plask::materials::Air::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.

## ◆ dens()

double plask::materials::Air::dens | ( | double | T | ) | const
| override virtual

Get density (kg/m^3).

Parameters

  T | temperature (K)

Returns
  density (kg/m^3)

Reimplemented from plask::Material.

## ◆ Dso()

double plask::materials::Air::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.

## ◆ EactA()

double plask::materials::Air::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.

## ◆ EactD()

double plask::materials::Air::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.

## ◆ Eg()

double plask::materials::Air::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.

## ◆ eps()

double plask::materials::Air::eps | ( | double | T | ) | const
| override virtual

Get dielectric constant EpsR (-).

Parameters

  T | temperature (K)

Returns
  dielectric constant EpsR (-)

Reimplemented from plask::Material.

## ◆ isEqual()

bool plask::materials::Air::isEqual | ( | const Material & | other | ) | const
| override protected virtual

Check if this material is equal to other.

Default implementation compares string representation of this and other. For simple materials (without parameters) this should just returns true.

Parameters

  other | other material witch has the same type as this (in implementation you can safty static_cast it to type of this)

Returns
  `true` only if this is equal to `other`

Reimplemented from plask::Material.

## ◆ kind()

Material::Kind plask::materials::Air::kind | ( |  | ) | const
| override virtual

Returns
  material kind

Implements plask::Material.

Definition at line 24 of file air.cpp.

## ◆ lattC()

double plask::materials::Air::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.

## ◆ Me()

Tensor2< double > plask::materials::Air::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.

## ◆ Mh()

Tensor2< double > plask::materials::Air::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.

## ◆ Mhh()

Tensor2< double > plask::materials::Air::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.

## ◆ Mlh()

Tensor2< double > plask::materials::Air::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.

## ◆ mob()

Tensor2< double > plask::materials::Air::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.

## ◆ mobe()

Tensor2< double > plask::materials::Air::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.

## ◆ mobh()

Tensor2< double > plask::materials::Air::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.

## ◆ Mso()

double plask::materials::Air::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.

## ◆ Na()

double plask::materials::Air::Na | ( |  | ) | const
| override virtual

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

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

Reimplemented from plask::Material.

## ◆ name()

std::string plask::materials::Air::name | ( |  | ) | const
| override virtual

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

Returns
  material name

Implements plask::Material.

Definition at line 23 of file air.cpp.

## ◆ Nd()

double plask::materials::Air::Nd | ( |  | ) | const
| override virtual

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

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

Reimplemented from plask::Material.

## ◆ Nf()

double plask::materials::Air::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.

## ◆ Ni()

double plask::materials::Air::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.

## ◆ nr()

double plask::materials::Air::nr | ( | double | lam,
|  | double | T,
|  | double | n = `.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.

## ◆ thermk()

Tensor2< double > plask::materials::Air::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.

## ◆ VB()

double plask::materials::Air::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.

## Member Data Documentation

## ◆ NAME

constexpr const char* plask::materials::Air::NAME = "air"
| static constexpr

Definition at line 30 of file air.hpp.

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

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