structure{ region{} } - assigning materials

Binary, ternary and quaternary materials are possible, with several choices of alloy functions. Depending on the dimension of the simulation domain, different options are available.

binary{}

binary material

Example:

binary{
        name    = "GaAs"            # binary material name for this region
}

ternary_constant{}

ternary material with constant alloy profile

Example:

ternary_constant{
        name    = "Al(x)Ga(1-x)As"  # ternary material name for this region with constant alloy profile
        alloy_x = 0.2               # x content of the alloy (minimum value is 0.0, maximum value is 1.0)
}

ternary_linear{}

ternary material name which varies linearly along the line from start to end point

Example:

ternary_linear{
        name    = "In(x)Al(1-x)As"  # ternary material name for this region with linear alloy profile
        alloy_x = [0.8, 0.2]        # start and end value of x content (minimum value is 0.0, maximum value is 1.0)
        x       = [75.0, 125.0]     # x coordinates of start and end point [nm]
        y       = [10.0, 20.0]      # y coordinates of start and end point [nm] (2D or 3D only)
        z       = [10.0, 20.0]      # z coordinates of start and end point [nm] (3D only)
                                    # This defines an alloy profile, which varies linearly along the line from the point (75,10,10) to the point (125,20,20)
                                    # and stays constant in the perpendicular planes.
}

(3D quantum dot)

../../../../_images/dot_alloy_linear.jpg

ternary_pyramid{}

ternary material name with pyramidal alloy profile

Example:

ternary_pyramid{                    # (e.g. for InGaAs quantum dots) starting point and direction (3D only)
        name    = "In(x)Ga(1-x)As"  # ternary material name for this region with pyramidal alloy profile
        alloy_x = [0.28, 0.80]      # c_{min} and c_{max} value of x content (minimum value is 0.0, maximum value is 1.0)
                                    # vary alloy concentration from apex/axis x = 0.80 (In0.80Ga0.20As)
                                    # to plane through apex perpendicular to axis x = 0.28 (In0.28Ga0.72As) (see figure below)
        x       = [20.0, 0]         # x coordinate of apex and x component of axis direction [nm]
        y       = [20.0, 0]         # y coordinate of apex and y component of axis direction [nm]
        z       = [11.0, 1]         # z coordinate of apex and z component of axis direction [nm]
                                    # apex located at point (20.0,20.0,11.0) (top of inverted pyramid)
                                    # direction of center axis (0,0,1), i.e. along z axis
                                    # The profile is symmetric with respect to the inverse of the direction of the center axis,
                                    # i.e. (0,0,1) will lead to the same pyramidal profile as (0,0,-1).
}

Note

The indium content is given by the following formula, which considers an additional lateral variation of the indium content:

\(c = c_{min} + ( c_{max} - c_{min} ) \cos^2\phi\)

where \(\phi\) is the angle to the center axis. The formula is based on the model proposed by Tersoff (N. Liu et al., PRL 84, 334 (2000)). For simplicity the alloy profile is still isotropic around the center axis of the quantum dot. The indium content depends solely on the angle to the center axis, with high indium content for small angles as indicated by the light regions in the figure shown below.

(3D quantum dot)

../../../../_images/dot_alloy_inverted_pyramid.jpg

ternary_trumpet{}

ternary material with “trumpet” alloy profile

Example:

ternary_trumpet{                    # (e.g. for InGaAs quantum dots) starting point and direction (3D only)
        name    = "In(x)Ga(1-x)As"  # ternary material name for this region with "trumpet" alloy profile
        alloy_x = [0.2, 0.5]        # :math:`c_{min}` and :math:`c_{max}` value of x content (minimum value is 0.0, maximum value is 1.0)
        x       = [20.0, 0]         # x coordinate of apex and x component of axis direction [nm]
        y       = [20.0, 0]         # y coordinate of apex and y component of axis direction [nm]
        z       = [11.0, 1]         # z coordinate of apex and z component of axis direction [nm]
                                    # apex located at point (20.0,20.0,11.0) (top of inverted pyramid)
                                    # direction of center axis (0,0,1), i.e. along z axis
                                    # The profile is symmetric with respect to the inverse of the direction of the center axis,
                                    # i.e. (0,0,1) will lead to the same trumpet profile as (0,0,-1).
        z0      = 1.25              # parameter to vary the shape of the alloy profile (minimum value is 1e-10)
        rho0    = 0.6               # parameter to vary the shape of the alloy profile (minimum value is 1e-10)
}

Note

The indium content is given by the formula:

\(c = c_{min} + ( c_{max} - c_{min} ) \exp [ ( - \sqrt{x^2 + y^2} \exp(-z_1/z_0) ) / \rho_0 ]\)

The formula is based on the more refined model proposed by Migliorato (M.A. Migliorato et al., PRB 65, 115316 (2002)). This profile resembles the horn of a trumpet and is thus called ‘trumpet’. The maximum indium concentration is on the center axis of the quantum dot. The parameters z0 and rho0 can be used to vary the shape of the alloy profile while keeping the average indium content fixed.

(3D quantum dot)

../../../../_images/dot_alloy_trumpet.jpg

ternary_import{ }

ternary material which uses imported alloy profile

Example:

ternary_import{
        name        = "In(x)Al(1-x)As"          # ternary material name for this region which uses imported alloy profile
        import_from = "import_alloy_profile1D"  # reference to imported data in ``import{ }``. The imported profile must have exactly one data component (x).
}

quaternary_import{ }

quaternary material which uses imported alloy profile

Example:

quaternary_import{
        name        = "Al(x)Ga(y)In(1-x-y)As"   # quaternary material name for this region which uses imported alloy profile
        import_from = "import_alloy_profile1D"  # reference to imported data in import{ }. The imported profile must have exactly two data components (x,y).
}

quinternary_import{ }

quinternary material which uses imported alloy profile

Example:

quinternary_import{
        ...                                   # analogous for quaternaries:
}

quaternary_constant{}

quaternary material with constant alloy profile

Example:

quaternary_constant{
        name        = "Al(x)Ga(y)In(1-x-y)As" # quaternary material name for this region with constant alloy profile
        alloy_x     = 0.2                     # x content of the alloy (minimum value is 0.0, maximum value is 1.0)
        alloy_y     = 0.5                     # y content of the alloy (minimum value is 0.0, maximum value is 1.0)
}

Note

For quaternaries of type AxByC1-x-yH, \(x + y \le 1\) must hold.

The interpolation of AxByC1-x-yH is done according to eq. (E.10) in PhD thesis of T. Zibold apart from changes in sign of bowing parameters. The interpolation of AxB1-xCyD1-y is done according to eq. (E.15) in PhD thesis of T. Zibold apart from changes in sign of bowing parameters.

quaternary_linear{}

quaternary material with linear alloy profile

Example:

quaternary_linear{
        name    = "Al(x)Ga(y)In(1-x-y)As" # quaternary material name for this region with linear alloy profile
        alloy_x = [0.2, 0.5]              # start and end value of x content (minimum value is 0.0, maximum value is 1.0)
        alloy_y = [0.1, 0.3]              # start and end value of y content (minimum value is 0.0, maximum value is 1.0)
        x       = [20.0, 20.0]            # x coordinates of start and end point [nm]
        y       = [20.0, 20.0]            # y coordinates of start and end point [nm] (2D or 3D only)
        z       = [11.0, 20.0]            # z coordinates of start and end point [nm] (3D only)
}

quaternary_pyramid{}

quaternary material with pyramid alloy profile

Example:

quaternary_pyramid{                     # (e.g. for InGaAs quantum dots) (3D only)
name    = "Al(x)Ga(y)In(1-x-y)As"       # quaternary material name for this region with pyramidal alloy profile
alloy_x = [0.2, 0.5]                    # minimum and maximum value of x content
alloy_y = [0.1, 0.3]                    # minimum and maximum value of y content
x       = [20.0, 0]                     # x coordinate of apex and x component of axis direction [nm]
y       = [20.0, 0]                     # y coordinate of apex and y component of axis direction [nm]
z       = [11.0, 1]                     # z coordinate of apex and z component of axis direction [nm]
                                        # apex located at point (20.0,20.0,11.0) (top of inverted pyramid)
                                        # direction of center axis (0,0,1), i.e. along z axis
                                        # The profile is symmetric with respect to the inverse of the direction of the center axis,
                                        # i.e. (0,0,1) will lead to the same pyramidal profile as (0,0,-1).
}

quaternary_trumpet{}

quaternary material with “trumpet” alloy profile

Example:

quaternary_trumpet{                       # (e.g. for InGaAs quantum dots) (3D only)
        name    = "Al(x)Ga(y)In(1-x-y)As" # quaternary material name for this region with "trumpet" alloy profile
        alloy_x = [0.2, 0.5]              # minimum and maximum value of x content
        alloy_y = [0.1, 0.3]              # minimum and maximum value of y content
        x       = [20.0, 0]               # x coordinate of apex and x component of axis direction [nm]
        y       = [20.0, 0]               # y coordinate of apex and y component of axis direction [nm]
        z       = [11.0, 1]               # z coordinate of apex and z component of axis direction [nm]
                                            # apex located at (20.0,20.0,11.0) (top of inverted pyramid)
                                            # direction of center axis (0,0,1), i.e. along z axis
                                            # The profile is symmetric with respect to the inverse of the direction of the center axis,
                                            # i.e. (0,0,1) will lead to the same trumpet profile as (0,0,-1).
        z0      = 1.25                    # parameter to vary the shape of the alloy profile (minimum value is 1e-10)
        rho0    = 0.6                     # parameter to vary the shape of the alloy profile (minimum value is 1e-10)
}

analogous for quinternaries:

quinternary_constant{}

quinternary_linear{}

quinternary_pyramid{}

quinternary_trumpet{}