Normal RefinementsΒΆ

Learning targets

  • Use normal mesh refinements to increase mesh density near metal interfaces

  • Stack extrusion layouts

  • Use individual meshing options within each layout

This example consists of brick like scatter, e.g. a metallic particle. For an electromagnetic field simulation the field has has singularity-like profile near the edges and corners of the metallic particle. To account for this we use a fine mesh in the direction of the metallic interface:

_images/ex3d_normal_refinements_mesh.png

We use a stack of layouts to mitigate the mesh requirements outside the metallic region.

.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    MultiLayer {
     20      MeshOptions {
     21        MaximumSideLengthZ = 50
     22      }    
     23      
     24      LayerInterface {
     25        BoundaryClass = Transparent
     26      }
     27      Layer {
     28        Thickness = 100
     29        DomainId = 1
     30      }
     31    }  
     32  } 
     33}
     34Layout3D {
     35  UnitOfLength = 1e-09
     36  
     37  MeshOptions {
     38    MaximumSideLength = 50
     39  }
     40  Extrusion {
     41    Objects {
     42      Polygon { 
     43        Name = "ComputationalDomain/Background" 
     44        DomainId = 1
     45        Priority = -1 
     46        Points = [-200 -200, 200 -200, 200 200, -200 200] 
     47        Boundary {
     48          Class = Periodic
     49        }
     50      } 
     51      
     52      Parallelogram {
     53        DomainId = 2
     54        Width = 200
     55        Height = 200
     56        MeshOptions {
     57          NormalRefinement {
     58            Outer { 
     59              StartThickness = 5
     60              TotalThickness = 20
     61            }
     62            Inner { 
     63              StartThickness = 5
     64              TotalThickness = 20
     65            }
     66          }
     67        }
     68      }
     69    }
     70    MultiLayer {
     71      MeshOptions {
     72        MaximumSideLengthZ = 50
     73      }    
     74      
     75      Layer {
     76        Thickness = 20
     77        DomainId = 1
     78        MeshOptions {
     79          MaximumSideLengthZUpper = 5
     80        }
     81      }
     82      
     83      Layer {
     84        Thickness = 20
     85        DomainIdMapping = [1 2 
     86                           2 3]
     87      }
     88      
     89      LayerInterface {
     90        GlobalZ = 0.0
     91      }
     92      
     93      Layer {
     94        Thickness = 20
     95        DomainId = 4
     96        MeshOptions {
     97          MaximumSideLengthZLower = 10        
     98        }
     99      }
    100    }  
    101  } 
    102}
    103Layout3D {
    104  UnitOfLength = 1e-09
    105  
    106  MeshOptions {
    107    MaximumSideLength = 50
    108  }
    109  Extrusion {
    110    Objects {
    111      Polygon { 
    112        Name = "ComputationalDomain/Background" 
    113        DomainId = 1
    114        Priority = -1 
    115        Points = [-200 -200, 200 -200, 200 200, -200 200] 
    116        Boundary {
    117          Class = Periodic
    118        }
    119      } 
    120    }  
    121    MultiLayer {
    122      MeshOptions {
    123        MaximumSideLengthZ = 50
    124      }    
    125      
    126      Layer {
    127        Thickness = 100
    128        DomainId = 4
    129      }
    130      LayerInterface {
    131        BoundaryClass = Transparent
    132      }
    133    }  
    134    
    135  } 
    136