Stacked LayoutsΒΆ

Learning targets

  • Stack extrusion layouts

  • Use individual meshing options within each layout

With stacking several layouts on top of each other more complicated geometries become feasible for JCMsuite. However, this example shows that it might be advantageous to use stacked layouts also for geometries easily constructed by one single extrusion layout, when we want to use coarser meshes in certain layers of the extrusion. This is for example the case, when one layer has a high refractive index material with smaller local wavelength, requiring a fine mesh only there.

_images/ex3d_stacked_layouts_mesh1.png

.jcm Input File

  • layout.jcm [ASCII]

      1Layout3D {
      2  UnitOfLength = 1e-09
      3  
      4  MeshOptions {
      5    MaximumSideLength = 50
      6  }
      7  Extrusion {
      8    Objects {
      9      Polygon { 
     10        Name = "ComputationalDomain/Background" 
     11        DomainId = 1
     12        Priority = -1 
     13        Points = [-200 -200, 200 -200, 200 200, -200 200] 
     14        Boundary {
     15          Class = Periodic
     16        }
     17      }
     18    } 
     19    
     20    MultiLayer {
     21      MeshOptions {
     22        MaximumSideLengthZ = 50
     23      }    
     24      
     25      LayerInterface {
     26        BoundaryClass = Transparent
     27      }
     28      Layer {
     29        Thickness = 50
     30        DomainId = 1
     31      }
     32    }  
     33  } 
     34}
     35
     36Layout3D {
     37  UnitOfLength = 1e-09
     38  
     39  MeshOptions {
     40    MaximumSideLength = 50
     41  }
     42  Extrusion {
     43    Objects {
     44      Polygon { 
     45        Name = "ComputationalDomain/Background" 
     46        DomainId = 1
     47        Priority = -1 
     48        Points = [-200 -200, 200 -200, 200 200, -200 200] 
     49        Boundary {
     50          Class = Periodic
     51        }
     52      } 
     53      
     54      Circle {
     55        Name = "Circle" 
     56        DomainId = 2
     57        Radius = 100
     58        RefineAll = 2	
     59        MeshOptions {
     60          MaximumSideLength = 20
     61        }
     62      }
     63    }
     64    MultiLayer {
     65      MeshOptions {
     66        MaximumSideLengthZ = 50
     67      }    
     68      
     69      Layer {
     70        Thickness = 100
     71        DomainId = 1
     72      }
     73      LayerInterface {
     74        GlobalZ = 0
     75      }
     76      Layer {
     77        Thickness = 100
     78        DomainIdMapping = [1 3 
     79        2 2]
     80        MeshOptions {
     81          MaximumSideLengthZ = 20
     82        }    
     83      }
     84      LayerInterface {
     85        GeometryValues = [
     86        Circle/Radius = 80
     87        ]
     88      }
     89      Layer {
     90        Thickness = 10
     91        DomainIdMapping = [1 3]
     92      }
     93    }  
     94  } 
     95}
     96
     97Layout3D {
     98  UnitOfLength = 1e-09
     99  
    100  MeshOptions {
    101    MaximumSideLength = 100
    102  }
    103  Extrusion {
    104    Objects {
    105      Polygon { 
    106        Name = "ComputationalDomain/Background" 
    107        DomainId = 1
    108        Priority = -1 
    109        Points = [-200 -200, 200 -200, 200 200, -200 200] 
    110        Boundary {
    111          Class = Periodic
    112        }
    113      } 
    114    }  
    115    MultiLayer {
    116      
    117      MeshOptions {
    118        MaximumSideLengthZ = 50
    119      }    
    120      
    121      Layer {
    122        Thickness = 50
    123        DomainId = 3
    124      }
    125      LayerInterface {
    126        BoundaryClass = Transparent
    127      }
    128    }  
    129  } 
    130}