NON-UNIFORM MESH

A non-uniform mesh must be used to discretize some structures, for example, when the width of a trace is very small compared to its length. If a uniform mesh is chosen in such a case, the number of unknown edges may be very high. This will lead to excessive computational requirements, or even make the solution of such problems impossible. The proper strategy uses small cells in places where fields change dramatically or around the source areas. In other places, larger cells should be chosen to reduce the number of unknown edges.

A hierarchy structure is used to maintain the bookkeeping in EMAP5. Details of the bookkeeping system are described in Appendix A. All edges are stored in terms of their start-nodes and end-nodes. All elements are stored in terms of their edges. The non-uniform mesh is implemented by calculating the coordinates of each node according to the cell size specified by the keyword "celldim". Since the edge table is built in terms of nodes and the element table is built in terms of edges, these two tables do not need to be changed.

The dielectric slab in Figure 4 has a length of 14 centimeters, a width of 12 centimeters, and a height of 8 centimeters. The following example demonstrates how a non-uniform grid is specified using the keywords "celldim" and "unit",

unit 1 cm

celldim 1 9 1 x

celldim 9 15 2 x

celldim 0 4 2 y

celldim 4 8 4 y

celldim 0 4 2 z

celldim 4 8 4 z

celldim 8 12 2 z

Figure 4. A non-uniform mesh.

As shown in Figure 4, the segment length along the x axis is one unit in the interval [1, 9], and two units in the interval [9, 15]. The total number of segments along the x axis is ten. The segment length along the y axis is two un its in the interval [0, 4], and four units in the internal [4, 8]. The total number of segments along the y axis is four. The segment length along the z axis is two units in the interval [0, 4], four units in the internal [4, 8], and two units in the interval [8, 12]. The total number of segments along the z axis.