Periodic boundaries IIIΒΆ
Learning targets
Periodic boundary conditions
2D-periodic hexagonal lattice of 3D objects with transparent boundary conditions in the third dimension
Usage of a rectilinear unit cell
This example constructs the unit cell for a periodic array of nano-scale lines on top of a substrate. The periodic lattice is hexagonal, but we use a rectilinear unit cell to avoid unfavorable intersections of the unit cell boundary with the actual structure
The following figure shows an image of parts of the geometry and mesh:
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 Port = 1 20 PeriodicUnitCell { 21 LatticeVectorLengths = [500 500] 22 LatticeAngle = 60 23 Shape = Rectilinear 24 StepHeight = 0.5 25 } 26 } 27 28 Parallelogram { 29 Width = 300 30 Height = 80 31 GlobalPosition = [250 108.253175473055] # y-component = sind(60)*500/4 32 DomainId = 2 33 } 34 35 Parallelogram { 36 Width = 200 37 Height = 120 38 GlobalPosition = [500 324.759526419164] # y-component = sind(60)*500*3/4 39 DomainId = 2 40 } 41 } 42 43 MultiLayer { 44 MeshOptions { 45 MaximumSideLengthZ = 50 46 } 47 Layer { 48 Thickness = 100 49 DomainId = 1 50 } 51 Layer { 52 Thickness = 100 53 DomainIdMapping = [1 2 54 2 3] 55 } 56 LayerInterface { 57 GlobalZ = 0.0 58 } 59 Layer { 60 Thickness = 20 61 DomainId = 2 62 } 63 } 64 } 65}