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:
.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: