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

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