Crystal{ }#

Calling sequence

Crystal{ ... }

Properties
  • usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)

Functionality

Specifies information needed to calculate crystal-related properties such as strain, piezo- and pyro-electric effects. If this section is absent, no strain, no piezo- and no pyro-electricity will be taken into account. For zinc-blend devices which are lattice-matched to their substrate, defining the crystal section is not mandatory.

However, for strain-compensated QCLs, the crystal section has to be defined, specifying the substrate material, so that the strain effects can be taken into account in the band structure calculation.

The following keywords are available within this group:


CrystalStructure#

Calling sequence

Crystal{ CrystalStructure = }

Properties
  • type: character string

  • choices: Zincblende; Wurtzite

Functionality

Specifies the crystal structure among Zincblende and Wurtzite.

Example
Crystal{
    CrystalStructure = "Zincblende"
}

Orientation{ }#

Calling sequence

Crystal{ Orientation{ ... } }

Dependencies
Functionality

Specifies the \((hkl)\) Miller indices to define the orientation of the substrate on which the heterostructure is grown. The crystal coordinate system is rotated into the simulation coordinate system. The growth direction (simulation axis \(z\)) is perpendicular to the substrate (\(xy\)-plane). The crystal and thus all anisotropic material properties are rotated accordingly.

Example
Crystal{
    Orientation{
        zAxis{
            h = 0
            k = 0
            l = 1
        }

        yAxis{
            h = 0
            k = 1
            l = 0
        }
    }
}

Orientation{ xAxis{ } }#

Calling sequence

Crystal{ Orientation{ xAxis{ ... } } }

Functionality

Specifies the Miller indices \((hkl)\) of the plane perpendicular to the \(x\) direction.


Orientation{ xAxis{ h } }#

Calling sequence

Crystal{ Orientation{ xAxis{ h = } } }

Properties
  • type: integer


Orientation{ xAxis{ k } }#

Calling sequence

Crystal{ Orientation{ xAxis{ k = } } }

Properties
  • type: integer


Orientation{ xAxis{ l } }#

Calling sequence

Crystal{ Orientation{ xAxis{ l = } } }

Properties
  • type: integer


Orientation{ yAxis{ } }#

Calling sequence

Crystal{ Orientation{ yAxis{ ... } } }

Functionality

Specifies the Miller indices \((hkl)\) of the plane perpendicular to the \(y\) direction.


Orientation{ zAxis{ } }#

Calling sequence

Crystal{ Orientation{ zAxis{ ... } } }

Functionality

Specifies the Miller indices \((hkl)\) of the plane perpendicular to the \(z\) direction.


MaterialSubstrate{ }#

Calling sequence

Crystal{ MaterialSubstrate{ } }

Functionality

Specifies the substrate material. Its lattice constants are used to calculate strain into the simulated active region, assuming a pseudomorphic growth.

Examples
Crystal{
    MaterialSubstrate{
        Name = "GaAs"
    }
}
Crystal{
    MaterialSubstrate{
        Name = "Ga(x)In(1-x)Sb"
        AlloyComposition = 0.65
    }
}

MaterialSubstrate{ Name }#

Calling sequence

Crystal{ MaterialSubstrate{ Name } }

Properties
  • type: character string

Functionality

Specifies the material by alias defined by Material{ Alias }.


MaterialSubstrate{ AlloyComposition }#

Calling sequence

Crystal{ MaterialSubstrate{ AlloyComposition } }

Properties
  • type: real number

  • type: vector of 2 real numbers: \((r_1, r_2)\)

Functionality

Specifies the alloy content of ternaries (scalar value) and quaternaries (2-dimensional vector).


Strain#

Calling sequence

Crystal{ Strain }

Properties
  • values: yes or no

  • default: no

Functionality

Include (yes) or neglect (no) strain in the calculation. If yes, a folder Strain is created in the output folder.

Example
Crystal{
    Strain = yes
}

Piezoelectricity#

Calling sequence

Crystal{ Piezoelectricity }

Properties
  • values: yes or no

  • default: no

Functionality

Include (yes) or neglect (no) piezoelectricity in the calculation. If yes, a folder Polarization is created in the output folder.

Example
Crystal{
    Piezoelectricity = yes
}

Pyroelectricity#

Calling sequence

Crystal{ Pyroelectricity }

Properties
  • values: yes or no

  • default: no

Functionality

Include (yes) or neglect (no) pyroelectricity (also called spontaneous polarization) in the calculation. Only relevant for wurtzite crystals.

Example
Crystal{
    Pyroelectricity = yes
}


Last update: 11/06/2026