Exploiting Mirror Symmetry

With this project you solve precisely the same project as in the parent section but on a quarter computational domain equipped with mirror boundary conditions. Since the incoming fields are not mirror symmetric, the fields are expanded into for discrete modes (combinations of symmetric- and anti-symmetric fields for both mirrors). This is done automatically by the solver.

_images/mesh17.png

Mesh with mirror symmetry applied. The geometry is discretized only on a quarter domain.

In this example the geometry in layout.jcm is defined as an extrusion of a 2D rectangular domain with a slit. To impose mirror boundary conditions the 2D base computational domain is first restricted to the upper right quadrant by halfing of the Width and Height dimensions and usage of the the lower left point Point1 as the Port. The mirror boundary conditions can be specified either directly on the computational domain polygon or via the global BoundaryCondition section where a Boundary with Class = Mirror is introduced in the appropriate directions (selected via the outward facing normals):

 Layout3D {
   ...
   BoundaryConditions {
     Boundary {
       Direction = [-X,-Y]
       Class = Mirror
     }
     Boundary {
       Direction = [X,Y,-Z,Z]
       Class = Transparent
     }
   }

Extrusion {
  Objects {
    Parallelogram {
      DomainId = 1
      Priority = ComputationalDomain
      Height = 200
      Width = 50
      Port=Point1
    }