# PLaSK User Manual

#### Page Contents

- Section <materials>

# Section <materials>

<materials>

This section contains specification of custom materials that can be used together with the library materials in the structure geometry. The only allowed tag in this section — that can, however, appear more than once — is the tag `<material>`:

<material>

  Corresponding Python class: `Material`.

  Definition of a custom material.

  Attributes:

    - name (`required`) – Name of the material. As all custom materials are simple materials, it can be an arbitrary identifier string. However, it may also contain a doping specification without the doping amount (e.g. “`myGaAs`” or “`newAlAs:Si`”).

    - base (`required`) – Textual specification of the base material. The doping amount information can be skipped from it, in which case the doping amount will have to be specified when the custom material is used. The following bases are always available: semiconductor, dielectric, oxide, metal, liquid_crystal.

    - alloy – If you specify attribute `alloy="yes"`, your material will be an alloy. Its name must then consist of element names with an optional custom label after the “`_`” character. For example: “`GaInN`” “`AlGaAs_custom`”.

  Contents:

    The content of this element is the list of user-defined material properties. Each element of such list is a tag specifying the particular property which content is a mathematical expression computing this property. Each such expression can use several variables: the ones specified below next to each tag and `self` that refers to the material itself and allows to access its doping (`self.doping`) and composition in case of alloys (e.g. `self.Ga` for the amount of gallium). You may also access the parameters of base materials using `super()` function (e.g. `super().thermk(T)`). If the expression does not use any variables, it is evaluated only once when XPL file is being loaded.

    Some properties are anisotropic and can have different values for lateral and vertical components. In such case, two separate values may (but do not have to) be defined in the contents of the material property tag and they should be separated with a comma.

    Example:

        <materials>
          <material name="MyMaterial" base="Semiconductor">
            <nr>3.5 + 0.01*T</nr>
            <absp>10.</absp>
          </material>
        <materials>

    The accepted material properties are as follows:

    <A>

      Monomolecular recombination coefficient A (1/s).

      Variables: `T` — temperature (K).

    <absb>

      Absorption coefficient α (cm-1).

      Variables: `lam` — wavelength (nm), `T` — temperature (K).

    <ac>

      Hydrostatic deformation potential for the conduction band ac (eV).

      Variables: `T` — temperature (K).

    <av>

      Hydrostatic deformation potential for the valence band av (eV).

      Variables: `T` — temperature (K).

    <B>

      Radiative recombination coefficient B (cm3/s).

      Variables: `T` — temperature (K).

    <b>

      Shear deformation potential b (eV).

      Variables: `T` — temperature (K).

    <C>

      Auger recombination coefficient C (cm6/s).

      Variables: `T` — temperature (K).

    <Ce>

      Auger recombination coefficient C for electrons (cm6/s).

      Variables: `T` — temperature (K).

    <Ch>

      Auger recombination coefficient C for holes (cm6/s).

      Variables: `T` — temperature (K).

    <c11>

      Elastic constant c11 (GPa).

      Variables: `T` — temperature (K).

    <c12>

      Elastic constant c12 (GPa).

      Variables: `T` — temperature (K).

    <c13>

      Elastic constant c13 (GPa).

      Variables: `T` — temperature (K).

    <c33>

      Elastic constant c33 (GPa).

      Variables: `T` — temperature (K).

    <c44>

      Elastic constant c44 (GPa).

      Variables: `T` — temperature (K).

    <CB>

      Conduction band level CB (eV).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the Brillouin zone (‘*’ means minimum bandgap).

    <chi>

      Electron affinity χ (eV).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the Brillouin zone (‘*’ means minimum bandgap).

    <cond>

      Electrical conductivity sigma in-plane (lateral) and cross-plane (vertical) direction (S/m).

      Variables: `T` — temperature (K).

    <condtype>

      Electrical conductivity type. In semiconductors this indicates what type of carriers `<Nf>` refers to. Value of this property is not interpreted as Python code. Instead, one of the following values is required: `n`, `i`, `p`, `other` (or: `N`, `I`, `P`, `OTHER`).

    <cp>

      Specific heat at constant pressure (J/(kg K)).

      Variables: `T` — temperature (K).

    <D>

      Ambipolar diffusion coefficient D (cm2/s).

      Variables: `T` — temperature (K).

    <dens>

      Density (kg/m3).

      Variables: `T` — temperature (K).

    <Dso>

      Split-off energy Dso (eV).

      Variables: `T` — temperature (K), `e` — lateral strain (-).

    <e13>

      Piezoelectric constant e13 (C/m2).

      Variables: `T` — temperature (K).

    <e15>

      Piezoelectric constant e15 (C/m2).

      Variables: `T` — temperature (K).

    <e33>

      Piezoelectric constant e33 (C/m2).

      Variables: `T` — temperature (K).

    <EactA>

      Acceptor ionization energy EactA (eV).

      Variables: `T` — temperature (K).

    <EactD>

      Donor ionization energy EactD (eV).

      Variables: `T` — temperature (K).

    <Eg>

      Energy band gap Eg (eV).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the Brillouin zone (‘*’ means minimum bandgap).

    <eps>

      Static dielectric constant ε∞ (-).

      Variables: `T` — temperature (K).

    <Eps>

      Permittivity tensor ε*(*λ) (-).

      Tensor must have one of the forms:

        [ ε00, ε11, ε22]. [ ε00, ε11, ε22, ε01]. [ ε00, ε11, ε22, ε01, ε10]. [ ε00, ε11, ε22, ε01, ε02, ε12 ]. [ ε00, ε11, ε22, ε01, ε10, ε02, ε20, ε12, ε21 ].

      Variables: `lam` — wavelength (nm), `T` — temperature (K), n — injected carriers concentration (cm-3).

      Warning

      This parameter is used only by solvers that can consider refractive index anisotropy properly. It is strongly advised to also define `Nr`.

    <lattC>

      Lattice constant (Å).

      Variables: `T` — temperature (K), `x` — lattice parameter (-).

    <Me>

      Electron effective mass Me in in-plane (lateral) and cross-plane (vertical) direction (m0).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the irreducible Brillouin zone (-).

    <Mh>

      Hole effective mass Mh in in-plane (lateral) and cross-plane (vertical) direction (m0).

      Variables: `T` — temperature (K), `e` — lateral strain (-).

    <Mhh>

      Heavy hole effective mass Mhh in in-plane (lateral) and cross-plane (vertical) direction (m0).

      Variables: `T` — temperature (K), `e` — lateral strain (-).

    <Mlh>

      Light hole effective mass Mlh in in-plane (lateral) and cross-plane (vertical) direction (m0).

      Variables: `T` — temperature (K), `e` — lateral strain (-).

    <mob>

      Majority carriers mobility in-plane (lateral) and cross-plane (vertical) direction (cm2/(Vs)).

      Variables: T — temperature (K).

    <mobe>

      Electron mobility in-plane (lateral) and cross-plane (vertical) direction (cm2/(Vs)).

      Variables: T — temperature (K).

    <mobh>

      Hole mobility in-plane (lateral) and cross-plane (vertical) direction (cm2/(Vs)).

      Variables: T — temperature (K).

    <Mso>

      Split-off mass Mso (m0).

      Variables: `T` — temperature (K), `e` — lateral strain (-).

    <Na>

      Acceptor concentration Na (cm-3).

    <Nc>

      Effective density of states in the conduction band Nc (cm-3).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the Brillouin zone (‘*’ means minimum bandgap).

    <Nd>

      Donor concentration Nd (cm-3).

    <Nf>

      Free carrier concentration N (cm-3).

      Variables: `T` — temperature (K).

    <Ni>

      Intrinsic carrier concentration Ni (cm-3).

      Variables: `T` — temperature (K).

    <Nr>

      Complex refractive index nR (-).

      Variables: `lam` — wavelength (nm), `T` — temperature (K), n — injected carriers concentration (cm-3).

    <nr>

      Real refractive index 2`*n*:sub:`R (-).

      Variables: `lam` — wavelength (nm), `T` — temperature (K), n — injected carriers concentration (cm-3).

    <Nv>

      Effective density of states in the valance band Nv (cm-3).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the Brillouin zone (‘*’ means minimum bandgap).

    <Psp>

      Spontaneous polarization (C/m2)

      Variables: `T` — temperature (K).

    <taue>

      Monomolecular electrons lifetime τ (ns).

      Variables: `T` — temperature (K).

    <tauh>

      Monomolecular holes lifetime τ (ns).

      Variables: `T` — temperature (K).

    <thermk>

      Thermal conductivity in in-plane (lateral) and cross-plane (vertical) direction k (W/(m K)).

      Variables: `T` — temperature (K), `h` — layer thickness (µm).

    <VB>

      Valance band level offset VB (eV).

      Variables: `T` — temperature (K), `e` — lateral strain (-), `point` — point in the Brillouin zone (‘*’ means minimum bandgap), `hole` — hole type (`'H'` or `'L'`).

    <y1>

      Luttinger parameter γ1 (-).

    <y2>

      Luttinger parameter γ2 (-).

    <y3>

      Luttinger parameter γ3 (-).

<library>

  Load binary materials library.

  Attributes:

    - name (`required`) – Name of the library to load. This should be the name of the library file without the extension (`.so` or `.dll`). It is resolved relative to the current working directory, however you can specify the absolute path (still without the extension).

<module>

  Import Python module with materials library.

  Attributes:

    - name (`required`) – Name of the module to load. This should be the name of the module file without the `.py` extension. The module is imported by Python using standard rules, i.e. it is searched in the current directory, the directory specified by the `PYTHONPATH` environmental variable or in one of the system directories.