PLaSK library
|
Base material class for all oxides. More...
#include <plask/material/material.hpp>
Public Member Functions | |
std::string | name () const override |
Get short (without composition and doping amounts) name of material. | |
Kind | kind () const override |
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 | lattC (double T, char x) const |
Get lattice constant (Å). | |
virtual double | Eg (double T, double e=0., char point=' *') const |
Get energy gap Eg (eV) | |
virtual double | CB (double T, double e=0., char point=' *') const |
Get conduction band level CB (eV). | |
virtual double | VB (double T, double e=0., char point=' *', char hole='H') const |
Get valence band level VB(eV). | |
virtual double | Dso (double T, double e=0.) const |
Get split-off energy Dso (eV). | |
virtual double | Mso (double T, double e=0.) const |
Get split-off mass Mso [ ]. | |
virtual Tensor2< double > | Me (double T, double e=0., char point=' *') const |
Get electron effective mass Me in in-plane (lateral) and cross-plane (vertical) direction [ ]. | |
virtual Tensor2< double > | Mhh (double T, double e=0.) const |
Get heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction [ ]. | |
virtual Tensor2< double > | Mlh (double T, double e=0.) const |
Get light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction [ ]. | |
virtual Tensor2< double > | Mh (double T, double e=0.) const |
Get hole effective mass Mh in in-plane (lateral) and cross-plane (vertical) direction [ ]. | |
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 double | eps (double T) const |
Get dielectric constant EpsR (-). | |
virtual Tensor3< dcomplex > | Eps (double lam, double T, double n=0) const |
Get Hermitian permittivity tensor ε (-). | |
virtual double | chi (double T, double e=0., char point=' *') const |
Get electron affinity Chi(eV). | |
virtual double | Ni (double T) const |
Get intrinsic carrier concentration Ni [cm^(-3)]. | |
virtual double | Nf (double T) const |
Get free carrier concentration N [cm^(-3)]. | |
virtual double | EactD (double T) const |
Get donor ionisation energy EactD (eV). | |
virtual double | EactA (double T) const |
Get acceptor ionisation energy EactA (eV). | |
virtual Tensor2< double > | mob (double T) const |
Get mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)]. | |
virtual Tensor2< double > | cond (double T) const |
Get electrical conductivity sigma in-plane (lateral) and cross-plane (vertical) direction [S/m]. | |
virtual ConductivityType | condtype () const |
Get electrical conductivity type. | |
virtual double | A (double T) const |
Get monomolecular recombination coefficient A (1/s). | |
virtual double | B (double T) const |
Get radiative recombination coefficient B (cm^3/s). | |
virtual double | C (double T) const |
Get Auger recombination coefficient C (cm^6/s). | |
virtual double | D (double T) const |
Get ambipolar diffusion coefficient D (cm^2/s). | |
virtual Tensor2< double > | thermk (double T, double h=INFINITY) const |
Get thermal conductivity in in-plane (lateral) and cross-plane (vertical) direction k [W/(m*K)]. | |
virtual double | dens (double T) const |
Get density (kg/m^3). | |
virtual double | cp (double T) const |
Get specific heat at constant pressure [J/(kg*K)]. | |
virtual double | nr (double lam, double T, double n=0) const |
Get refractive index Nr (-). | |
virtual double | absp (double lam, double T) const |
Get absorption coefficient alpha [cm^(-1)]. | |
virtual dcomplex | Nr (double lam, double T, double n=0) const |
Get refractive index Nr (-). | |
virtual Tensor2< double > | mobe (double T) const |
Get electron mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)]. | |
virtual Tensor2< double > | mobh (double T) const |
Get hole mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)]. | |
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) | |
virtual double | Na () const |
Get acceptor concentration Na [cm^(-3)]. | |
virtual double | Nd () const |
Get donor concentration Nd [cm^(-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). | |
Static Public Attributes | |
static constexpr const char * | NAME = "oxide" |
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. | |
Base material class for all oxides.
Definition at line 922 of file material.hpp.
|
overridevirtual |
|
overridevirtual |
Get short (without composition and doping amounts) name of material.
Implements plask::Material.
Definition at line 432 of file material.cpp.
Definition at line 923 of file material.hpp.