PLaSK library
Loading...
Searching...
No Matches
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.
 
MixedMaterialadd (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 [ $m_0$].
 
Tensor2< doubleMe (double T, double e=0., char point=' *') const override
 Get electron effective mass Me in in-plane (lateral) and cross-plane (vertical) direction [ $m_0$].
 
Tensor2< doubleMhh (double T, double e=0.) const override
 Get heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction [ $m_0$].
 
Tensor2< doubleMlh (double T, double e=0.) const override
 Get light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction [ $m_0$].
 
Tensor2< doubleMh (double T, double e=0.) const override
 Get hole effective mass Mh in in-plane (lateral) and cross-plane (vertical) direction [ $m_0$].
 
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< doublemob (double T) const override
 Get mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
 
Tensor2< doublecond (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< doublethermk (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< doublemobe (double T) const override
 Get electron mobility in-plane (lateral) and cross-plane (vertical) direction [cm^2/(V*s)].
 
Tensor2< doublemobh (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, doubleComposition
 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, doublefirstCompositionObject (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:

// 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 ( )
inlinevirtual

Definition at line 62 of file mixed.hpp.

Member Function Documentation

◆ A()

double plask::MixedMaterial::A ( double  T) const
overridevirtual

Get monomolecular recombination coefficient A (1/s).

Parameters
Ttemperature (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
overridevirtual

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

Parameters
lamWavelength (nm)
Ttemperature (K)
ninjected 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
overridevirtual

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

Parameters
Ttemperature (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
materialmaterial to add
weightweight

Definition at line 28 of file mixed.cpp.

◆ av()

double plask::MixedMaterial::av ( double  T) const
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get shear deformation potential b (eV).

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get elastic constant c11 (GPa).

Parameters
Ttemperature (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
overridevirtual

Get elastic constant c12 (GPa).

Parameters
Ttemperature (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
overridevirtual

Get elastic constant c13 (GPa).

Parameters
Ttemperature (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
overridevirtual

Get elastic constant c33 (GPa).

Parameters
Ttemperature (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
overridevirtual

Get elastic constant c44 (GPa).

Parameters
Ttemperature (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
overridevirtual

Get conduction band level CB (eV).

Parameters
Ttemperature (K)
elateral strain (-)
pointpoint 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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get electron affinity Chi(eV).

Parameters
Ttemperature (K)
elateral strain (-)
pointpoint 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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get shear deformation potential d (eV).

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get density (kg/m^3).

Parameters
Ttemperature (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
overridevirtual

Get split-off energy Dso (eV).

Parameters
Ttemperature (K)
elateral 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
overridevirtual

Get piezoelectric constant e13 (C/m^2)

Parameters
Ttemperature (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
overridevirtual

Get piezoelectric constant e13 (C/m^2)

Parameters
Ttemperature (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
overridevirtual

Get piezoelectric constant e33 (C/m^2)

Parameters
Ttemperature (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
overridevirtual

Get acceptor ionisation energy EactA (eV).

Parameters
Ttemperature (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
overridevirtual

Get donor ionisation energy EactD (eV).

Parameters
Ttemperature (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
overridevirtual

Get energy gap Eg (eV)

Parameters
Ttemperature (K)
elateral strain (-)
pointpoint 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
overridevirtual

Get Hermitian permittivity tensor ε (-).

Parameters
lamWavelength (nm)
Ttemperature (K)
ninjected 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
overridevirtual

Get dielectric constant EpsR (-).

Parameters
Ttemperature (K)
Returns
dielectric constant EpsR (-)

Reimplemented from plask::Material.

Definition at line 104 of file mixed.cpp.

◆ kind()

Material::Kind plask::MixedMaterial::kind ( ) const
overridevirtual
Returns
material kind

Implements plask::Material.

Definition at line 20 of file mixed.cpp.

◆ lattC()

double plask::MixedMaterial::lattC ( double  T,
char  x 
) const
overridevirtual

Get lattice constant (Å).

Parameters
Ttemperature (K)
xlattice 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
overridevirtual

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

Parameters
Ttemperature (K)
elateral strain (-)
pointpoint in Brillouin zone (-)
Returns
electron effective mass Me [ $m_0$]

Reimplemented from plask::Material.

Definition at line 112 of file mixed.cpp.

◆ Mh()

Tensor2< double > plask::MixedMaterial::Mh ( double  T,
double  e = 0. 
) const
overridevirtual

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

Parameters
Ttemperature (K)
elateral strain (-)
Returns
hole effective mass Mh [ $m_0$]

Reimplemented from plask::Material.

Definition at line 116 of file mixed.cpp.

◆ Mhh()

Tensor2< double > plask::MixedMaterial::Mhh ( double  T,
double  e = 0. 
) const
overridevirtual

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

Parameters
Ttemperature (K)
elateral strain (-)
Returns
heavy hole effective mass Mhh [ $m_0$]

Reimplemented from plask::Material.

Definition at line 120 of file mixed.cpp.

◆ Mlh()

Tensor2< double > plask::MixedMaterial::Mlh ( double  T,
double  e = 0. 
) const
overridevirtual

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

Parameters
Ttemperature (K)
elateral strain (-)
Returns
light hole effective mass Mlh [ $m_0$]

Reimplemented from plask::Material.

Definition at line 124 of file mixed.cpp.

◆ mob()

Tensor2< double > plask::MixedMaterial::mob ( double  T) const
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get split-off mass Mso [ $m_0$].

Parameters
Ttemperature (K)
elateral strain (-)
Returns
split-off mass Mso [ $m_0$]

Reimplemented from plask::Material.

Definition at line 160 of file mixed.cpp.

◆ Na()

double plask::MixedMaterial::Na ( ) const
overridevirtual

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
overridevirtual

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
overridevirtual

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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (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
overridevirtual

Get refractive index Nr (-).

Parameters
lamWavelength (nm)
Ttemperature (K)
ninjected 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
overridevirtual

Get refractive index Nr (-).

Parameters
lamWavelength (nm)
Ttemperature (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
overridevirtual

Get spontaneous polarization (C/m^2)

Parameters
Ttemperature (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
overridevirtual

Get monomolecular electrons lifetime (ns).

Parameters
Ttemperature (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
overridevirtual

Get monomolecular holes lifetime (ns).

Parameters
Ttemperature (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
overridevirtual

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

Parameters
Ttemperature (K)
hlayer 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
overridevirtual

Get valence band level VB(eV).

Parameters
Ttemperature (K)
elateral strain (-)
pointpoint in Brillouin zone (-)
holehole 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: