# PLaSK User Manual

#### Page Contents

- Physical objects 2D

# Physical objects 2D

Physical objects are the leafs of the geometry tree. They represent actual objects that have some shape and defined material.

<block2d/> (or <block/>)

  Corresponding Python class: `plask.geometry.Block2D`.

  Rectangular block. Its origin is located at the lower left corner.

  Attributes:

    - name – Object name for further reference. In the `script` section, the object is available by `GEO` table, which is indexed by names of geometry objects.

    - axes – Specification of the axes. Most popular values are `xy`, `yz`, `rz` (letters are names of the horizontal and vertical axis, respectively).

    - role – Object role. Important for some solvers.

    - material – Definition of the block material (for solid blocks).

    - material-bottom – Definition of the material of the bottom of the block (for blocks with material changing from bottom to top). You should also set `material-top` and both materials can differs only in composition or amount of dopant.

    - material-top – Definition of the material of top of the block (see also `material-bottom`).

    - material-shape – Exponent for graded materials. Setting this value to anything different than one allows non-linear change the block material.

    - d{X} (`required`) – where {X} is the transverse axis name: Horizontal dimension of the rectangle. (float, µm)

    - d{Y} (`required`) – where {Y} is the vertical axis name: Vertical dimension of the rectangle. (float, µm)

    - width – Alias for `d{X}`.

    - height – Alias for `d{Y}`.

    - steps-num – Maximum number of the mesh steps in each direction the object is divided into if it is non-uniform.

    - steps-dist – Minimum step size if the object is non-uniform.

  Either `material` or both `material-top` and `material-bottom` are required.

<circle2d/> (or <circle/>)

  Corresponding Python class: `plask.geometry.Circle`.

  Circle with centre at point (0, 0).

  Attributes:

    - name – Object name for further reference. In the `script` section, the object is available by `GEO` table, which is indexed by names of geometry objects.

    - axes – Specification of the axes. Most popular values are `xy`, `yz`, `rz` (letters are names of the horizontal and vertical axis, respectively).

    - role – Object role. Important for some solvers.

    - material-bottom – Definition of the material of the bottom of the circle (for circles with material changing from bottom to top). You should also set `material-top` and both materials can differs only in composition or amount of dopant.

    - material-top – Definition of the material of top of the circle (see also `material-bottom`).

    - material-shape – Exponent for graded materials. Setting this value to anything different than one allows non-linear change the circle material.

    - radius (`required`) – Radius of the circle. (float, µm)

    - steps-num – Maximum number of the mesh steps in each direction the object is divided into if it is non-uniform.

    - steps-dist – Minimum step size if the object is non-uniform.

<ellipse/>

  Corresponding Python class: `plask.geometry.Ellipse`.

  Ellipse with centre at point (0, 0).

  Attributes:

    - name – Object name for further reference. In the `script` section, the object is available by `GEO` table, which is indexed by names of geometry objects.

    - axes – Specification of the axes. Most popular values are `xy`, `yz`, `rz` (letters are names of the horizontal and vertical axis, respectively).

    - role – Object role. Important for some solvers.

    - material-bottom – Definition of the material of the bottom of the ellipse (for ellipses with material changing from bottom to top). You should also set `material-top` and both materials can differs only in composition or amount of dopant.

    - material-top – Definition of the material of top of the ellipse (see also `material-bottom`).

    - material-shape – Exponent for graded materials. Setting this value to anything different than one allows non-linear change the ellipse material.

    - radius0 (`required`) – Radius of the ellipse in transverse direction. (float, µm)

    - radius1 (`required`) – Radius of the ellipse in vertical direction. (float, µm)

    - steps-num – Maximum number of the mesh steps in each direction the object is divided into if it is non-uniform.

    - steps-dist – Minimum step size if the object is non-uniform.

<polygon/>

  Corresponding Python class: `plask.geometry.Polygon`.

  Polygon with vertices at specified points.

  Attributes:

    - name – Object name for further reference. In the `script` section, the object is available by `GEO` table, which is indexed by names of geometry objects.

    - axes – Specification of the axes. Most popular values are `xy`, `yz`, `rz` (letters are names of the horizontal and vertical axis, respectively).

    - role – Object role. Important for some solvers.

    - material-bottom – Definition of the material of the bottom of the polygon (for polygons with material changing from bottom to top). You should also set `material-top` and both materials can differs only in composition or amount of dopant.

    - material-top – Definition of the material of top of the polygon (see also `material-bottom`).

    - material-shape – Exponent for graded materials. Setting this value to anything different than one allows non-linear change the polygon material.

    - steps-num – Maximum number of the mesh steps in each direction the object is divided into if it is non-uniform.

    - steps-dist – Minimum step size if the object is non-uniform.

  Contents:

    Polygon vertices separated by semicolons. Each vertex is defined by two coordinates separated by space.

  Example:

      <cartesian2d name="example" axes="xy">
        <polygon material="GaAs">
          -2 -2; -2 3; 2 3; 2 -2
        </polygon>
      </cartesian2d>

<rectangle/>

  Alias for `<block2d/>`.

<triangle/>

  Corresponding Python class: `plask.geometry.Triangle`.

  Triangle with one vertex at point (0, 0).

  Attributes:

    - name – Object name for further reference. In the `script` section, the object is available by `GEO` table, which is indexed by names of geometry objects.

    - axes – Specification of the axes. Most popular values are `xy`, `yz`, `rz` (letters are names of the horizontal and vertical axis, respectively).

    - role – Object role. Important for some solvers.

    - material – Definition of the triangle material (for solid triangles).

    - material-bottom – Definition of the material of the bottom of the triangle (for triangles with material changing from bottom to top). You should also set `material-top` and both materials can differs only in composition or amount of dopant.

    - material-top – Definition of the material of top of the triangle (see also `material-bottom`).

    - material-shape – Exponent for graded materials. Setting this value to anything different than one allows non-linear change the triangle material.

    - a{X} (`required`) – where {X} is the transverse axis name: Coordinate of the first triangle vertex. (float, µm)

    - a{Y} (`required`) – where {Y} is the vertical axis name: Coordinate of the first triangle vertex. (float, µm)

    - b{X} (`required`) – where {X} is the transverse axis name: Coordinate of the second triangle vertex. (float, µm)

    - b{Y} (`required`) – where {Y} is the vertical axis name: Coordinate of the second triangle vertex. (float, µm)

    - steps-num – Maximum number of the mesh steps in each direction the object is divided into if it is non-uniform.

    - steps-dist – Minimum step size if the object is non-uniform.