Periodic boundaries IIΒΆ

Learning targets

  • Periodic boundary conditions

  • 2D-periodic hexagonal lattice of 3D objects with transparent boundary conditions in the third dimension

  • Usage of automatic unit cell construction

This example constructs the unit cell for a periodic array of nano-scale circular holes in a thin layer (e.g. metal) on top of a substrate. The periodic lattice is hexagonal.

The following figure shows an image of parts of the geometry and mesh:

_images/ex3d_pinhole_periodic_hexagonal_mesh.png

The periodic boundary conditions are defined in the 2D section of the 3D layout, the transparent boundary conditions are applied in the Extrusion section of the layout.

.jcm Input File

  • layout.jcm [ASCII]

     1Layout3D {
     2  UnitOfLength = 1e-09
     3  
     4  MeshOptions {
     5    MaximumSideLength = 50
     6  }
     7  BoundaryConditions {
     8    Boundary {
     9      Direction = Vertical 
    10      Class = Transparent 
    11    }
    12  }
    13  Extrusion {
    14    Objects {
    15      Polygon { 
    16        Name = "ComputationalDomain/Background" 
    17        DomainId = 1
    18        Priority = -1 
    19        PeriodicUnitCell {
    20          LatticeVectorLengths = [300 300]
    21          LatticeAngle = 60
    22          Shape = Hexagonal
    23        }
    24      } 
    25      
    26      Circle {
    27        Name = "Circle" 
    28        DomainId = 2
    29        Radius = 100
    30        RefineAll = 2
    31      }
    32    }
    33    MultiLayer {
    34      MeshOptions {
    35        MaximumSideLengthZ = 50
    36      }    
    37      
    38      Layer {
    39        Thickness = 100
    40        DomainId = 1
    41      }
    42      Layer {
    43        Thickness = 20
    44        DomainIdMapping = [1 2 
    45                           2 3]
    46      }
    47      LayerInterface {
    48        GeometryValues = [
    49        Circle/Radius = 80
    50        ]
    51        GlobalZ = 10
    52      }
    53      Layer {
    54        Thickness = 100
    55        DomainIdMapping = [1 3]
    56      }
    57    }  
    58  } 
    59