PLaSK library
|
#include <plask/material/const_material.hpp>
Public Member Functions | |
ConstMaterial (const std::string &full_name) | |
ConstMaterial (const shared_ptr< Material > &base, const std::map< std::string, double > &items) | |
bool | isEqual (const Material &other) const override |
Check if this material is equal to other. | |
std::string | name () const override |
Get short (without composition and doping amounts) name of material. | |
Material::Kind | kind () const override |
Material::ConductivityType | condtype () const override |
Get electrical conductivity type. | |
std::string | str () const override |
Get full (with composition and doping amounts) name of material. | |
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 | y1 () const override |
Get Luttinger parameter γ1 (-). | |
double | y2 () const override |
Get Luttinger parameter γ2 (-). | |
double | y3 () const override |
Get Luttinger parameter γ3 (-). | |
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) 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 h=INFINITY) 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)]. | |
dcomplex | Nr (double lam, double T, double n=0) const override |
Get refractive index Nr (-). | |
Tensor3< dcomplex > | Eps (double lam, double T, double n=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::MaterialWithBase | |
MaterialWithBase ()=default | |
MaterialWithBase (const shared_ptr< Material > &base) | |
MaterialWithBase (Material *base) | |
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). | |
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. | |
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). | |
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. | |
Public Attributes inherited from plask::MaterialWithBase | |
shared_ptr< Material > | base |
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. | |
Definition at line 27 of file const_material.hpp.
plask::ConstMaterial::ConstMaterial | ( | const std::string & | full_name | ) |
Definition at line 22 of file const_material.cpp.
plask::ConstMaterial::ConstMaterial | ( | const shared_ptr< Material > & | base, |
const std::map< std::string, double > & | items | ||
) |
Definition at line 204 of file const_material.cpp.
Get monomolecular recombination coefficient A (1/s).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 326 of file const_material.cpp.
Get absorption coefficient alpha [cm^(-1)].
lam | Wavelength (nm) |
T | temperature (K) |
n | injected carriers concentration (1/cm) |
Reimplemented from plask::Material.
Definition at line 332 of file const_material.cpp.
Get hydrostatic deformation potential for the conduction band ac (eV).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 459 of file const_material.cpp.
Get hydrostatic deformation potential for the valence band av (eV).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 464 of file const_material.cpp.
Get shear deformation potential b (eV).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 469 of file const_material.cpp.
Get radiative recombination coefficient B (cm^3/s).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 334 of file const_material.cpp.
Get Auger recombination coefficient C (cm^6/s).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 340 of file const_material.cpp.
Get elastic constant c11 (GPa).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 479 of file const_material.cpp.
Get elastic constant c12 (GPa).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 484 of file const_material.cpp.
Get elastic constant c13 (GPa).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 615 of file const_material.cpp.
Get elastic constant c33 (GPa).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 621 of file const_material.cpp.
Get elastic constant c44 (GPa).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 489 of file const_material.cpp.
Get conduction band level CB (eV).
T | temperature (K) |
e | lateral strain (-) |
point | point in the Brillouin zone (-) |
Reimplemented from plask::Material.
Definition at line 346 of file const_material.cpp.
Get Auger recombination coefficient C for electrons (cm^6/s).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 585 of file const_material.cpp.
Get Auger recombination coefficient C for holes (cm^6/s).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 591 of file const_material.cpp.
|
overridevirtual |
Get electron affinity Chi(eV).
T | temperature (K) |
e | lateral strain (-) |
point | point in Brillouin zone (-) |
Reimplemented from plask::Material.
Definition at line 362 of file const_material.cpp.
Get electrical conductivity sigma in-plane (lateral) and cross-plane (vertical) direction [S/m].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 368 of file const_material.cpp.
|
inlineoverridevirtual |
Get electrical conductivity type.
In semiconductors this indicates what type of carriers Nf refers to.
Reimplemented from plask::Material.
Definition at line 54 of file const_material.hpp.
Get specific heat at constant pressure [J/(kg*K)].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 543 of file const_material.cpp.
Get shear deformation potential d (eV).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 474 of file const_material.cpp.
Get ambipolar diffusion coefficient D (cm^2/s).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 374 of file const_material.cpp.
Get density (kg/m^3).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 381 of file const_material.cpp.
Get split-off energy Dso (eV).
T | temperature (K) |
e | lateral strain (-) |
Reimplemented from plask::Material.
Definition at line 387 of file const_material.cpp.
Get piezoelectric constant e13 (C/m^2)
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 597 of file const_material.cpp.
Get piezoelectric constant e13 (C/m^2)
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 603 of file const_material.cpp.
Get piezoelectric constant e33 (C/m^2)
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 609 of file const_material.cpp.
Get acceptor ionisation energy EactA (eV).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 393 of file const_material.cpp.
Get donor ionisation energy EactD (eV).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 398 of file const_material.cpp.
Get energy gap Eg (eV)
T | temperature (K) |
e | lateral strain (-) |
point | point in the Brillouin zone (-) |
Reimplemented from plask::Material.
Definition at line 404 of file const_material.cpp.
|
overridevirtual |
Get Hermitian permittivity tensor ε (-).
lam | Wavelength (nm) |
T | temperature (K) |
n | injected carriers concentration (1/cm) |
Reimplemented from plask::Material.
Definition at line 536 of file const_material.cpp.
Get dielectric constant EpsR (-).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 410 of file const_material.cpp.
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.
other | other material witch has the same type as this (in implementation you can safty static_cast it to type of this) |
true
only if this is equal to other
Reimplemented from plask::Material.
Definition at line 37 of file const_material.hpp.
|
inlineoverridevirtual |
Get lattice constant (Å).
T | temperature (K) |
x | lattice parameter (-) |
Reimplemented from plask::Material.
Definition at line 416 of file const_material.cpp.
|
overridevirtual |
Get electron effective mass Me in in-plane (lateral) and cross-plane (vertical) direction [ ].
T | temperature (K) |
e | lateral strain (-) |
point | point in Brillouin zone (-) |
Reimplemented from plask::Material.
Definition at line 422 of file const_material.cpp.
Get hole effective mass Mh in in-plane (lateral) and cross-plane (vertical) direction [ ].
T | temperature (K) |
e | lateral strain (-) |
Reimplemented from plask::Material.
Definition at line 427 of file const_material.cpp.
Get heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction [ ].
T | temperature (K) |
e | lateral strain (-) |
Reimplemented from plask::Material.
Definition at line 432 of file const_material.cpp.
Get light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction [ ].
T | temperature (K) |
e | lateral strain (-) |
Reimplemented from plask::Material.
Definition at line 437 of file const_material.cpp.
Get mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 495 of file const_material.cpp.
Get electron mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 562 of file const_material.cpp.
Get hole mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 567 of file const_material.cpp.
Get split-off mass Mso [ ].
T | temperature (K) |
e | lateral strain (-) |
Reimplemented from plask::Material.
Definition at line 501 of file const_material.cpp.
|
overridevirtual |
Get acceptor concentration Na [cm^(-3)].
Reimplemented from plask::Material.
Definition at line 633 of file const_material.cpp.
|
inlineoverridevirtual |
Get short (without composition and doping amounts) name of material.
Implements plask::Material.
Definition at line 44 of file const_material.hpp.
|
overridevirtual |
Get donor concentration Nd [cm^(-3)].
Reimplemented from plask::Material.
Definition at line 639 of file const_material.cpp.
Get free carrier concentration N [cm^(-3)].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 507 of file const_material.cpp.
Get intrinsic carrier concentration Ni [cm^(-3)].
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 513 of file const_material.cpp.
Get refractive index Nr (-).
lam | Wavelength (nm) |
T | temperature (K) |
n | injected carriers concentration (1/cm) |
Reimplemented from plask::Material.
Definition at line 519 of file const_material.cpp.
Get refractive index Nr (-).
lam | Wavelength (nm) |
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 525 of file const_material.cpp.
Get spontaneous polarization (C/m^2)
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 627 of file const_material.cpp.
|
overridevirtual |
Get full (with composition and doping amounts) name of material.
Default implementation returns name, which is fine only for simple materials.
Reimplemented from plask::Material.
Definition at line 264 of file const_material.cpp.
Get monomolecular electrons lifetime (ns).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 573 of file const_material.cpp.
Get monomolecular holes lifetime (ns).
T | temperature (K) |
Reimplemented from plask::Material.
Definition at line 579 of file const_material.cpp.
|
overridevirtual |
Get thermal conductivity in in-plane (lateral) and cross-plane (vertical) direction k [W/(m*K)].
T | temperature (K) |
h | layer thickness (µm) |
Reimplemented from plask::Material.
Definition at line 549 of file const_material.cpp.
|
overridevirtual |
Get valence band level VB(eV).
T | temperature (K) |
e | lateral strain (-) |
point | point in Brillouin zone (-) |
hole | hole type ('H'eavy or 'L'ight) (-) |
Reimplemented from plask::Material.
Definition at line 555 of file const_material.cpp.
|
overridevirtual |
Get Luttinger parameter γ1 (-).
Reimplemented from plask::Material.
Definition at line 443 of file const_material.cpp.
|
overridevirtual |
Get Luttinger parameter γ2 (-).
Reimplemented from plask::Material.
Definition at line 448 of file const_material.cpp.
|
overridevirtual |
Get Luttinger parameter γ3 (-).
Reimplemented from plask::Material.
Definition at line 453 of file const_material.cpp.