# PLaSK User Manual

#### Page Contents

- Boundary conditions

# Boundary conditions

Most of the solvers have some boundary conditions. They differ by name or type, but all share the same structure: some value is set at mesh points in some region (usually the edge of the whole geometry, or the edge of some geometrical object. Hence, the structure of boundary conditions is usually the same and looks as follows [1]:

<boundary_conditions>

  Some boundary conditions specifications.

  <condition>

    Specification of one boundary condition.

    Attributes:

      - value (`required`) – Value of the boundary condition. In some boundary condition value is given in different attributes. In such case, this attribute should be replaced with the specific ones.

      - placename – Name of the boundary condition location for further reference.

      - placeref – Set location of boundary conditions to some location previously named with `placename`.

      - place – Set one of standard location of boundary condition. The value of this attribute depends on the mesh. Most meshes support the following values: `left`, `right`, `top`, `bottom`, `back` (3D only), `front` (3D only), `all` (Triangular2D mesh only).

    Contents:

      One of the following tags can be used instead of the `place` attribute if more detailed description of the boundary condition location is required:

      <place>

        Set location of boundary condition. Its attributes are mesh-specific. Below there are most common examples of attribute sets for rectangular or triangular meshes:

        Boundary conditions at the side of some object or the whole mesh:

        Attributes:

          - object – Name of the geometry object to set boundary conditions at.

          - path – Path name, specifying particular instance of the object given in the object attribute.

          - side (`required`) – Side of the object/mesh to set boundary conditions at. (`left`, `right`, `top`, `bottom`, `back` [3D only], `front` [3D only], `all` [supported by Triangular2D mesh only])

        Boundary conditions at some line (2D meshes) [supported by rectangular meshes only]:

        Attributes:

          - line (`required`) – Direction of the line. (`vertical` or `horizontal`)

          - at (`required`) – Location of the line i.e. its position on the perpendicular axis.

          - start (`required`) – Position of the start of the line on the parallel axis.

          - stop (`required`) – Position of the end of the line on the parallel axis.

      <union>

        Set location of boundary condition to union of two places given as child nodes (each must be of type: `<place>`, `<union>`, `<intersection>`, or `<difference>`).

      <intersection>

        Set location of boundary condition to intersection of two places given as child nodes (each must be of type: `<place>`, `<union>`, `<intersection>`, or `<difference>`).

      <difference>

        Set location of boundary condition to difference of two places given as child nodes (each must be of type: `<place>`, `<union>`, `<intersection>`, or `<difference>`).

Footnotes

[1]

In some cases where structure of boundary conditions description is different, it is shown in the reference of particular solver.