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 y==0 and x==0 planes and with transparent boundaries elsewhere. 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:

_images/figure_360.png

.jcm Input File

  • layout.jcm [ASCII]

     1Layout3D {
     2  Name = "TutorialExample3D"
     3  UnitOfLength = 1e-6
     4  MeshOptions {    
     5    MinimumMeshAngle = 20
     6    MaximumSideLength = 0.75
     7  }
     8  Extrusion {
     9    Objects {
    10      Polygon { 
    11        Name = "ComputationalDomain/Background" 
    12        DomainId = 101 
    13        Priority = -1 
    14        Points = [0 0, 2 0, 2 2, 0 2] 
    15        Boundary { 
    16          Number = 1 
    17          Class = Domain
    18          BoundaryId = 1
    19        } 
    20        Boundary { 
    21          Number = [ 2 3]
    22          Class = Transparent
    23        }         
    24        Boundary { 
    25          Number = 4
    26          Class = Domain
    27          BoundaryId = 2
    28        } 
    29      } 
    30      Polygon {  
    31        Name = "Diamond_for_extrusion"  
    32        DomainId = 102 
    33        Priority = 1 
    34        Points = [0 -1.5, 1.2 0, 0 1.5, -1.2 0]
    35      } 
    36      Circle {
    37        Name = "Circle_for_extrusion"
    38        DomainId = 103
    39        Priority = 2
    40        Radius = 0.5
    41        RefineAll = 1
    42        MeshOptions{
    43          MaximumSideLength = 0.4
    44        }
    45      }
    46    }
    47    MultiLayer {
    48      LayerInterface {
    49        BoundaryClass = Transparent
    50      }
    51      Layer {
    52        Thickness = 0.5
    53        DomainId = 1
    54      }
    55      Layer {
    56        Thickness = 0.75
    57        DomainIdMapping = [101 2, 102 3, 103 3]
    58      }
    59      Layer {
    60        Thickness = 0.4
    61        DomainIdMapping = [101 2, 102 2, 103 4]
    62      }
    63      Layer {
    64        Thickness = 0.4
    65        DomainIdMapping = [101 2, 102 2, 103 2]
    66      }
    67      LayerInterface {
    68        BoundaryClass = Transparent
    69      }
    70    }  
    71  }
    72}