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:
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