Lattice CopiesΒΆ

Learning targets

  • copy a geometrical primitive to lattice positions

Many geometries like photonic crystals are constructed by a replication of a unit cell geometry at the certain positions of a lattice. This can easily done within JCMgeo as shown by the following example:

_images/lattice_copies_square.png

.jcm Input File

  • layout.jcm [ASCII]

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     Layout2D {  
       Name = "PhC-Waveguide"  
       UnitOfLength = 1e-09  
       Objects {
         Parallelogram {
           Priority = ComputationalDomain
           DomainId = 1
           BoundingBox {
             Offset = [50 50 50 50]
           }
         }
         
         Circle {   
           DomainId = 2 
           RefineAll = 2 
           Radius = 200 
           LatticeCopies { 
             LatticeVectorLengths = [500 500] 
             LatticeAngle = 90
             Positions { 
               IndexShiftY = 0
               RangeStart = [0 0]
               DomainIds = [0 0 0 0 2 0 2 0 0 0 0;
                            0 0 0 2 2 0 2 2 0 0 0;
                            0 0 2 2 2 0 2 2 2 0 0;
                            0 2 2 2 2 0 2 2 2 2 0;
                            2 2 2 2 2 0 2 2 2 2 2]
              } 
           } 
         }  
       }  
     }
     
    

This example is based on a square lattice. Changing the LatticeCopies section to

LatticeCopies {
  LatticeVectorLengths = [500 500]
  LatticeAngle = 60
  LatticeRotation = 90
  Positions {
    IndexShiftY = -1
    RangeStart = [0 -10]
    DomainIds = [2 0 0 0 0;
                 2 0 0 0 0;
                 2 2 0 0 0;
                 2 2 0 0 0;
                 2 2 2 0 0;
                 2 2 2 0 0;
                 2 2 2 2 0;
                 2 2 2 2 0;
                 4 2 2 2 2;
                 2 2 2 2 2;
                 0 0 0 0 0;
                 2 2 2 2 2;
                 5 2 2 2 2;
                 2 2 2 2 0;
                 2 2 2 2 0;
                 2 2 2 0 0;
                 2 2 2 0 0;
                 2 2 0 0 0;
                 2 2 0 0 0;
                 2 0 0 0 0;
                 2 0 0 0 0]
  }
}

gives the following waveguide-like structure with a underlying hexagonal lattice:

_images/lattice_copies_hexagonal.png