# PLaSK User Manual

#### Page Contents

- Material Class
  - `Material`
  - Methods
  - Attributes
  - Descriptions
    - Method Details
      - `Material.A()`
      - `Material.B()`
      - `Material.C()`
      - `Material.CB()`
      - `Material.Ce()`
      - `Material.Ch()`
      - `Material.D()`
      - `Material.Dso()`
      - `Material.EactA()`
      - `Material.EactD()`
      - `Material.Eg()`
      - `Material.Eps()`
      - `Material.Me()`
      - `Material.Mh()`
      - `Material.Mhh()`
      - `Material.Mlh()`
      - `Material.Mso()`
      - `Material.Na()`
      - `Material.Nd()`
      - `Material.Nf()`
      - `Material.Ni()`
      - `Material.Nr()`
      - `Material.Psp()`
      - `Material.VB()`
      - `Material.absp()`
      - `Material.ac()`
      - `Material.av()`
      - `Material.b()`
      - `Material.c11()`
      - `Material.c12()`
      - `Material.c13()`
      - `Material.c33()`
      - `Material.c44()`
      - `Material.chi()`
      - `Material.complete_composition()`
      - `Material.cond()`
      - `Material.cp()`
      - `Material.d()`
      - `Material.dens()`
      - `Material.e13()`
      - `Material.e15()`
      - `Material.e33()`
      - `Material.eps()`
      - `Material.lattC()`
      - `Material.mob()`
      - `Material.mobe()`
      - `Material.mobh()`
      - `Material.nr()`
      - `Material.taue()`
      - `Material.tauh()`
      - `Material.thermk()`
      - `Material.y1()`
      - `Material.y2()`
      - `Material.y3()`
    - Attribute Details
      - `Material.alloy`
      - `Material.base`
      - `Material.composition`
      - `Material.condtype`
      - `Material.dopant`
      - `Material.doping`
      - `Material.kind`
      - `Material.name`
      - `Material.name_without_dopant`

# Material Class

class plask.material.Material

  Base class for all materials.

## Methods

`A`([T]) | Get monomolecular recombination coefficient A (1/s).
`B`([T]) | Get radiative recombination coefficient B (cm³/s).
`C`([T]) | Get Auger recombination coefficient C (cm⁶/s).
`CB`([T, e, point]) | Get conduction band level CB (eV).
`Ce`([T]) | Get Auger recombination coefficient C (cm⁶/s) for electrons.
`Ch`([T]) | Get Auger recombination coefficient C (cm⁶/s) for holes.
`D`([T]) | Get ambipolar diffusion coefficient D (cm²/s).
`Dso`([T, e]) | Get split-off energy Dso (eV).
`EactA`([T]) | Get acceptor ionisation energy EactA (eV).
`EactD`([T]) | Get donor ionisation energy EactD (eV).
`Eg`([T, e, point]) | Get energy gap Eg (eV).
`Eps`(lam[, T, n]) | Get anisotropic permittivity tensor ε(λ) (-).
`Me`([T, e, point]) | Get electron effective mass Me (m₀).
`Mh`([T, e]) | Get hole effective mass Mh (m₀).
`Mhh`([T, e]) | Get heavy hole effective mass Mhh (m₀).
`Mlh`([T, e]) | Get light hole effective mass Mlh (m₀).
`Mso`([T, e]) | Get split-off mass Mso (m₀).
`Na`() | Get acceptor concentration Na (1/m³).
`Nd`() | Get donor concentration Nd (1/m³).
`Nf`([T]) | Get free carrier concentration N (1/m³).
`Ni`([T]) | Get intrinsic carrier concentration Ni (1/m³).
`Nr`(lam[, T, n]) | Get complex refractive index Nr (-).
`Psp`([T]) | Get Spontaneous polarization P (C/m²).
`VB`([T, e, point, hole]) | Get valance band level VB (eV).
`absp`(lam[, T]) | Get absorption coefficient alpha (1/cm).
`ac`([T]) | Get hydrostatic deformation potential for the conduction band ac (eV).
`av`([T]) | Get hydrostatic deformation potential for the valence band av (eV).
`b`([T]) | Get shear deformation potential b (eV).
`c11`([T]) | Get elastic constant c₁₁ (GPa).
`c12`([T]) | Get elastic constant c₁₂ (GPa).
`c13`([T]) | Get elastic constant c₁₃ (GPa).
`c33`([T]) | Get elastic constant c₃₃ (GPa).
`c44`([T]) | Get elastic constant c₄₄ (GPa).
`chi`([T, e, point]) | Get electron affinity Chi (eV).
`complete_composition`(composition) | Fix incomplete material composition basing on pattern.
`cond`([T]) | Get electrical conductivity Sigma (S/m).
`cp`([T]) | Get specific heat at constant pressure (J/(kg K)).
`d`([T]) | Get shear deformation potential d (eV).
`dens`([T]) | Get density (kg/m³).
`e13`([T]) | Get piezoelectric constant e₁₃ (C/m²).
`e15`([T]) | Get piezoelectric constant e₁₅ (C/m²).
`e33`([T]) | Get piezoelectric constant e₃₃ (C/m²).
`eps`([T]) | Get dielectric constant ε (-).
`lattC`([T, x]) | Get lattice constant (Å).
`mob`([T]) | Get majority carriers mobility (cm²/Vs).
`mobe`([T]) | Get electron mobility (cm²/Vs).
`mobh`([T]) | Get hole mobility (cm²/Vs).
`nr`(lam[, T, n]) | Get refractive index nr (-).
`taue`([T]) | Get monomolecular electrons lifetime (ns).
`tauh`([T]) | Get monomolecular holes lifetime (ns).
`thermk`([T, h]) | Get thermal conductivity [W/(m K)].
`y1`() | Get Luttinger parameter γ₁ (-).
`y2`() | Get Luttinger parameter γ₂ (-).
`y3`() | Get Luttinger parameter γ₃ (-).

## Attributes

`alloy` |
`base` | Base material.
`composition` | Material composition.
`condtype` | Electrical conductivity type.
`dopant` | ', possibly empty).
`doping` | Doping concentration.
`kind` | Material kind.
`name` | Material name (without composition and doping amounts).
`name_without_dopant` | ' and part of name after it).

## Descriptions

### Method Details

Material.A(T=300.0)

  Get monomolecular recombination coefficient A (1/s).

  Parameters:

    T (float) – Temperature (K).

Material.B(T=300.0)

  Get radiative recombination coefficient B (cm³/s).

  Parameters:

    T (float) – Temperature (K).

Material.C(T=300.0)

  Get Auger recombination coefficient C (cm⁶/s).

  Parameters:

    T (float) – Temperature (K).

Material.CB(T=300.0, e=0, point='*')

  Get conduction band level CB (eV).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

    - point (char) – Point in the Brillouin zone (‘*’ means minimum bandgap).

Material.Ce(T=300.0)

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

  Parameters:

    T (float) – Temperature (K).

Material.Ch(T=300.0)

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

  Parameters:

    T (float) – Temperature (K).

Material.D(T=300.0)

  Get ambipolar diffusion coefficient D (cm²/s).

  Parameters:

    T (float) – Temperature (K).

Material.Dso(T=300.0, e=0)

  Get split-off energy Dso (eV).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

Material.EactA(T=300.0)

  Get acceptor ionisation energy EactA (eV).

  Parameters:

    T (float) – Temperature (K).

Material.EactD(T=300.0)

  Get donor ionisation energy EactD (eV).

  Parameters:

    T (float) – Temperature (K).

Material.Eg(T=300.0, e=0, point='*')

  Get energy gap Eg (eV).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

    - point (char) – Point in the Brillouin zone (‘*’ means minimum bandgap).

Material.Eps(lam, T=300.0, n=0.0)

  Get anisotropic permittivity tensor ε(λ) (-).

  Parameters:

    - lam (float) – Wavelength (nm).

    - T (float) – Temperature (K).

    - n (float) – Injected carriers concentration (1/cm³).

  Warning

  This parameter is used only by solvers that can consider anisotropic anisotropic permittivity tensor properly. It is strongly advised to also define `Nr()`.

Material.Me(T=300.0, e=0, point='*')

  Get electron effective mass Me (m₀).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

    - point (char) – Point in the Brillouin zone (‘*’ means minimum bandgap).

Material.Mh(T=300.0, e=0)

  Get hole effective mass Mh (m₀).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

Material.Mhh(T=300.0, e=0)

  Get heavy hole effective mass Mhh (m₀).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

Material.Mlh(T=300.0, e=0)

  Get light hole effective mass Mlh (m₀).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

Material.Mso(T=300.0, e=0)

  Get split-off mass Mso (m₀).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

Material.Na()

  Get acceptor concentration Na (1/m³).

  Args:-

Material.Nd()

  Get donor concentration Nd (1/m³).

  Args:-

Material.Nf(T=300.0)

  Get free carrier concentration N (1/m³).

  Parameters:

    T (float) – Temperature (K).

Material.Ni(T=300.0)

  Get intrinsic carrier concentration Ni (1/m³).

  Parameters:

    T (float) – Temperature (K).

Material.Nr(lam, T=300.0, n=0.0)

  Get complex refractive index Nr (-).

  Parameters:

    - lam (float) – Wavelength (nm).

    - T (float) – Temperature (K).

    - n (float) – Injected carriers concentration (1/cm³).

Material.Psp(T=300.0)

  Get Spontaneous polarization P (C/m²).

  Parameters:

    T (float) – Temperature (K).

Material.VB(T=300.0, e=0, point='*', hole='H')

  Get valance band level VB (eV).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

    - point (char) – Point in the Brillouin zone (‘*’ means minimum bandgap).

    - hole (char) – Hole type (‘H’ or ‘L’).

Material.absp(lam, T=300.0)

  Get absorption coefficient alpha (1/cm).

  Parameters:

    - lam (float) – Wavelength (nm).

    - T (float) – Temperature (K).

Material.ac(T=300.0)

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

  Parameters:

    T (float) – Temperature (K).

Material.av(T=300.0)

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

  Parameters:

    T (float) – Temperature (K).

Material.b(T=300.0)

  Get shear deformation potential b (eV).

  Parameters:

    T (float) – Temperature (K).

Material.c11(T=300.0)

  Get elastic constant c₁₁ (GPa).

  Parameters:

    T (float) – Temperature (K).

Material.c12(T=300.0)

  Get elastic constant c₁₂ (GPa).

  Parameters:

    T (float) – Temperature (K).

Material.c13(T=300.0)

  Get elastic constant c₁₃ (GPa).

  Parameters:

    T (float) – Temperature (K).

Material.c33(T=300.0)

  Get elastic constant c₃₃ (GPa).

  Parameters:

    T (float) – Temperature (K).

Material.c44(T=300.0)

  Get elastic constant c₄₄ (GPa).

  Parameters:

    T (float) – Temperature (K).

Material.chi(T=300.0, e=0, point='*')

  Get electron affinity Chi (eV).

  Parameters:

    - T (float) – Temperature (K).

    - e (float) – Lateral strain (-).

    - point (char) – Point in the Brillouin zone (‘*’ means minimum bandgap).

Material.complete_composition(composition)

  Fix incomplete material composition basing on pattern.

  Parameters:

    composition (dict) – Dictionary with incomplete composition (i.e. the one missing some elements).

  Returns:

    Dictionary with completed composition.

  Return type:

    dict

Material.cond(T=300.0)

  Get electrical conductivity Sigma (S/m).

  Parameters:

    T (float) – Temperature (K).

Material.cp(T=300.0)

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

  Parameters:

    T (float) – Temperature (K).

Material.d(T=300.0)

  Get shear deformation potential d (eV).

  Parameters:

    T (float) – Temperature (K).

Material.dens(T=300.0)

  Get density (kg/m³).

  Parameters:

    T (float) – Temperature (K).

Material.e13(T=300.0)

  Get piezoelectric constant e₁₃ (C/m²).

  Parameters:

    T (float) – Temperature (K).

Material.e15(T=300.0)

  Get piezoelectric constant e₁₅ (C/m²).

  Parameters:

    T (float) – Temperature (K).

Material.e33(T=300.0)

  Get piezoelectric constant e₃₃ (C/m²).

  Parameters:

    T (float) – Temperature (K).

Material.eps(T=300.0)

  Get dielectric constant ε (-).

  Parameters:

    T (float) – Temperature (K).

Material.lattC(T=300.0, x='a')

  Get lattice constant (Å).

  Parameters:

    - T (float) – Temperature (K).

    - x (char) – lattice parameter (-).

Material.mob(T=300.0)

  Get majority carriers mobility (cm²/Vs).

  Parameters:

    T (float) – Temperature (K).

Material.mobe(T=300.0)

  Get electron mobility (cm²/Vs).

  Parameters:

    T (float) – Temperature (K).

Material.mobh(T=300.0)

  Get hole mobility (cm²/Vs).

  Parameters:

    T (float) – Temperature (K).

Material.nr(lam, T=300.0, n=0.0)

  Get refractive index nr (-).

  Parameters:

    - lam (float) – Wavelength (nm).

    - T (float) – Temperature (K).

    - n (float) – Injected carriers concentration (1/cm³).

Material.taue(T=300.0)

  Get monomolecular electrons lifetime (ns).

  Parameters:

    T (float) – Temperature (K).

Material.tauh(T=300.0)

  Get monomolecular holes lifetime (ns).

  Parameters:

    T (float) – Temperature (K).

Material.thermk(T=300.0, h=inf)

  Get thermal conductivity [W/(m K)].

  Parameters:

    - T (float) – Temperature (K).

    - h (float) – Layer thickness (µm) (-).

Material.y1()

  Get Luttinger parameter γ₁ (-).

Material.y2()

  Get Luttinger parameter γ₂ (-).

Material.y3()

  Get Luttinger parameter γ₃ (-).

### Attribute Details

Material.alloy = <property object>

Material.base = <property object>

  Base material.

  This a base material specified for Python and XPL custom materials.

Material.composition = <property object>

  Material composition.

Material.condtype = <property object>

  Electrical conductivity type.

Material.dopant = <property object>

  ‘, possibly empty).

  Type:

    Dopant material name (part of name after ‘

Material.doping = <property object>

  Doping concentration.

Material.kind = <property object>

  Material kind.

Material.name = <property object>

  Material name (without composition and doping amounts).

Material.name_without_dopant = <property object>

  ‘ and part of name after it).

  Type:

    Material name without dopant (without ‘