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]
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
Layout3D { UnitOfLength = 1e-09 MeshOptions { MaximumSideLength = 50 } BoundaryConditions { Boundary { Direction = Vertical Class = Transparent } } Extrusion { Objects { Polygon { Name = "ComputationalDomain/Background" DomainId = 1 Priority = -1 Port = 1 PeriodicUnitCell { LatticeVectorLengths = [500 500] LatticeAngle = 60 Shape = Rectilinear StepHeight = 0.5 } } Parallelogram { Width = 300 Height = 80 GlobalPosition = [250 108.253175473055] # y-component = sind(60)*500/4 DomainId = 2 } Parallelogram { Width = 200 Height = 120 GlobalPosition = [500 324.759526419164] # y-component = sind(60)*500*3/4 DomainId = 2 } } MultiLayer { MeshOptions { MaximumSideLengthZ = 50 } Layer { Thickness = 100 DomainId = 1 } Layer { Thickness = 100 DomainIdMapping = [1 2 2 3] } LayerInterface { GlobalZ = 0.0 } Layer { Thickness = 20 DomainId = 2 } } } }