# BoundariesΒΆ

Learning targets

- Treatment of boundaries of the computational domain
- Transparent boundaries, periodic boundaries, fixed boundary conditions
- Setting global boundary conditions

Boundary treatment is stated on all edges of the computational domain.

Note

When the specific Priority `Priority = -1`

(or equivalently `Priority=ComputationalDomain`

) is chosen, all boundary conditions specified to
the corresponding geometrical object will be inherited to overlapping
objects which touch the boundary.

Different types of boundary treatment can be defined:

- For
`Periodic`

boundaries, periodic faces will be segmented in the same way and will be listed as periodic in the`grid.jcm`

file. This then allows to specify, e.g., Bloch-periodic wave phenomena on a unit cell of a periodic array. - For a
`Transparent`

boundary, a space region (*exterior domain*) is added beyond the boundary which models some material which continues quasi to infinity. By default material and geometrical properties of the exterior domain are inherited from the adjacent geometrical objects in the computational domain. - A
`Domain`

boundary allows to fix a physical condition on the boundary of the computational domain. In this case an identifier`BoundaryId`

is specified which corresponds to a section in the file`boundary_conditions.jcm`

.

The following layout example contains transparent boundary conditions at top and bottom of the computational domain, and periodic boundary conditions at the left and right boundaries, the resulting geometry and mesh corresponds to the following figure:

```
Layout2D {
Objects{
Polygon {
Name = "ComputationalDomain"
Priority = -1
Points = [-10 -2
10 -2
10 2
-10 2]
Boundary{
Number = [1 3]
Class = Transparent
}
Boundary {
Number = [2 4]
Class = Periodic
}
}
...
```

Note

- The points of a polygon have to be oriented counter-clockwise.
- Boundary conditions are attributed to the segments of the polygon.
The first segment (
`Number = 1`

) connects the first and second point, the second segment connects the second and third point, etc. - Transparent boundary conditions correspond to a model where the exterior space
adjacent to the boundary extends to infinity, such that any scattered light
propagating beyond a transparent boundary is not reflected back. In
`JCMview`

the part of the mesh corresponding to exterior space is also visualized (see top and bottom regions with quadrilateral elements in the figure).

Instead of the boundary definition on edges of a geometrical primitive, it is also allowed to define global boundary conditions for axis-aligned geometries. This definition uses the outer normal direction of an edge as a global selection criterion to define boundary treatment on all edges shared with the computational domain. To define the same boundary conditions as above, you can use the following code:

```
Layout2D {
BoundaryConditions {
Boundary {
Class = Transparent
Direction = [-Y, Y]
}
Boundary {
Class = Periodic
Direction = Horizontal
}
}
Objects{
Polygon {
Name = "ComputationalDomain"
Priority = -1
Points = [-10 -2
10 -2
10 2
-10 2]
}
...
```

Note that you can select the `Boundary`

via their `Direction`

or using the `Direction = Horizontal`

selector which is equivalent to `Direction = [-X, X]`

in 2D.