# Transparent and fixed boundariesΒΆ

Learning targets

• Specify fixed boundary conditions for a 3D computational domain
• Non-rectangular computational domains

This geometry example specifies a rectangular computational domain with fixed boundary identifiers on the and planes and with transparent boundaries otherwhere. This is a typical situation for light scattering simulations with periodic, mirror-symmetrical scattering objects where the size of the computational domain can be reduced by a factor of 4 when symmetry considerations about the geometry and the source (e.g., plane wave at perpendicular incidence) are taken into account. Please compare examples 3D Periodic boundaries I and 2D Transparent and fixed boundaries. The resulting geometry and mesh in different views correspond to the following figure:

`.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 66 67 68 69 70 71 72``` ```Layout3D { Name = "TutorialExample3D" UnitOfLength = 1e-6 MeshOptions { MinimumMeshAngle = 20 MaximumSideLength = 0.75 } Extrusion { Objects { Polygon { Name = "ComputationalDomain/Background" DomainId = 101 Priority = -1 Points = [0 0, 2 0, 2 2, 0 2] Boundary { Number = 1 Class = Domain BoundaryId = 1 } Boundary { Number = [ 2 3] Class = Transparent } Boundary { Number = 4 Class = Domain BoundaryId = 2 } } Polygon { Name = "Diamond_for_extrusion" DomainId = 102 Priority = 1 Points = [0 -1.5, 1.2 0, 0 1.5, -1.2 0] } Circle { Name = "Circle_for_extrusion" DomainId = 103 Priority = 2 Radius = 0.5 RefineAll = 1 MeshOptions{ MaximumSideLength = 0.4 } } } MultiLayer { LayerInterface { BoundaryClass = Transparent } Layer { Thickness = 0.5 DomainId = 1 } Layer { Thickness = 0.75 DomainIdMapping = [101 2, 102 3, 103 3] } Layer { Thickness = 0.4 DomainIdMapping = [101 2, 102 2, 103 4] } Layer { Thickness = 0.4 DomainIdMapping = [101 2, 102 2, 103 2] } LayerInterface { BoundaryClass = Transparent } } } } ```