EMAP5 BOOKKEEPING SCHEME AND INPUT/OUTPUT FORMAT

The input file generated by SIFT5 contains the information about the structure in eleven parts as follows:


GLOBAL INFORMATION TABLE

Parameters in the global information table are shown in Table III. These parameters are used in EMAP5 and SIFT5 to dynamically allocate memory for other tables. Those values are printed out to the input file in the order shown in the table.
 

Table III. Global information table.

Parameter  Type Description
TotEdgeNum Integer Total number of edges the structure is divided into. 
TotTetElement Integer Total number of tetrahedra that the FEM region is divided into. 
TotNodeNum Integer Total number of nodes the structure is discretized into.
TotTrngleNum Integer Total number of triangles the structure contains, it includes triangles on the surface and triangles within the FEM region.
TotBoundEdgeNum Integer  Total number of edges on the surface of the structure. 

Contour metal edges are not counted become the fields along those edges are zero.

TotInnerEdgeNum Integer Total number of edges within the FEM region.
DielBoundEdgeNum Integer Total number of dielectric edges on the surface of the structure.
HybrdBoundEdgeNum Integer Total number of hybrid edges on the surface. It includes dielectric edges and half-dielectric/half-metal edges.
 
GLOBAL NODE TABLE
The global node table stores the coordinates of all nodes. A unique node number, starting with one, is assigned to each node. The matrix NodeCord[TotNodeNum][3] stores the global node table in EMAP5 and SIFT5. Each row of the matrix stores the x, y

and z coordinates of one node. For example,

NodeCord[i][0] stores the x coordinate of the node i+1.

NodeCord[i][1] stores the y coordinate of the node i+1.

NodeCord[i][2] stores the z coordinate of the node i+1.

The matrix NodeCord[TotNodeNum][3] will be written to the input file after SIFT5 terminates.
 


GLOBAL EDGE TABLE
An edge is defined as a vector from one node (start-node) to another node (end-node). A unique edge number, starting with one, is assigned to each edge. The edge table is stored in the matrix GlobalEdgeEnds[TotEdgeNum][5]. Table IV shows the data associated with edge i+1. These parameters used by SIFT5 and EMAP5, will be written to the input file by SIFT5.

All edges are classified into six categories as follows:

1. Inner Edges    Inner edges are located within the FEM region but not one the surface. They will be included in the finite element matrix A.

2. Dielectric Edges     Dielectric edges are located on the dielectric surface Sd. They will be included in the A, Bdd, Ddd and Dcd matrices.

3. Metal Edges     Metal edges are located on the metal surface Sc of the structure. They will be included in the C matrix.

4. Half-Metal/Half-Dielectric Edges     Half-metal/half-dielectric edges are located between the metal surface and dielectric surface. Boundary conditions can be enforced using the method discussed in Section II.

5. Hybrid Edges     Hybrid edges include dielectric edges and half-metal/half-dielectric edges. Hybrid edges will be included in both A and C matrices. The FEM and MoM equations are coupled though these hybrid edges.

6. Contour Metal Edges     Contour metal edges have three characters: First, they are metal edges. Second, they are located outside the FEM-MoM boundary. Third, they are located on the contour of the patch conductor. The surface currents across the contour metal edges are zero. Thus, these edges are not included in FEM and MoM matrices.

 

Table IV. Global edge table for edge i+1.
 
Parameter Type Description
GlobalEdgeEnds[i][0] Integer Node number of the start node.
GlobalEdgeEnds[i][1] Integer Node number of the end node.
GlobalEdgeEnds[i][2] Integer Edge status. If it equals to 0, edge i+1 is an inner edge. If it equals to 1, edge i+1 is a boundary edge but not a junction edge, it will be included in C matrix. If it equals to 2, edge i+1 is a junction edge.
GlobalEdgeEnds[i][3] Integer The row index to C matrix. In general, the edge number is not equal to the row index to C matrix. 
GlobalEdgeEnds[i][4] Integer A flag indicating whether edge i+1 should be included in matrix C. For those contouring metal edges, it equals to zero since its fields should equal to zero.

 

TRIANGLE TABLE
A triangle can be uniquely determined by its three nodes or three edges. For convenience in EMAP5, SIFT5 provides both descriptions in the input file. The matrix TrngleNode[TotTrngleNum][3] stores the coordinates of all triangles  . The matrix TrngleEdge[TotTrngleNum][3] stores all edge information for the triangles. The parameters shown in the Table V are used in both SIFT5 and EMAP5. Their values are written to the input file by SIFT5.

The sequence of the nodes is chosen according to the right-hand rule with respect to the triangle's normal vector. The normal vector is defined as the unit vector pointing outward from the FEM region. There are three possible ways t o store the nodes. The local directions of the edges are determined by the right-hand rule. The matrix TrngleEdge[ ] [ ] stores the local edge system. The local edge system is represented in terms of the global edge system, which is defined by t he matrix GlobalEdgeEnds[ ][ ]. If the local direction of one edge does not coincide with the global direction, a minus sign will be assigned to that edge. Otherwise, a plus sign will be assigned.

An example to show how local and global edge systems work is given below. Illustrated in Figure 16, a triangle contains three nodes 1, 2, and 3. The global edges defined in GlobalEdgeEnds[ ][ ] are edge 4, 5 and 6 with the direct ions shown by arrows. Suppose the normal vector goes inside and the triangle number of this triangle is 1. Either of the three combinations in Table VI is valid.

 

Table V. Edge and node table for triangle i+1.
 
Parameter Type Description
TrngleNode[i][0] Integer Node number of local node 1. 
TrngleNode[i][1] Integer Node number of local node 2.
TrngleNode[i][2] Integer Node number of local node 3.
TrngleEdge[i][0] Integer Edge 1 which not contains local node 1.
TrngleEdge[i][1] Integer Edge 2 which not contains local node 1.
TrngleEdge[i][2] Integer Edge 3 which not contains local node 1.
triangle
Figure 19. A triangle and its normal vector.
 

 

Table VI. Three valid definitions for the triangle shown in Figure 15.
 
Parameter
Type
Combination 1
Combination 2 
Combination 3
TrngleNode[0][0]
Integer
1
3
2
TrngleNode[0][1]
Integer
2
1
3
TrngleNode[0][2]
Integer
3
2
1
TrngleEdge[0][0]
Integer
-5
4
-6
TrngleEdge[0][1]
Integer
-6
-5
4
TrngleEdge[0][2]
Integer
4
-6
-5
 

Tetrahedron Table
A tetrahedron is determined by its four nodes. In addition, the permittivity and permeability associated with each tetrahedron must be stored. In EMAP5 and SIFT5, the matrix TetNode[TotTetElement][4] stores the node numbers of each tetrahedron; TetEdge[TotTetElement][6] stores the edge numbers of each tetrahedron. The matrix Epson[TotTetElement] stores the complex permittivity of each tetrahedron. As in the case of the triangle table, the way to define a tetrahedron is not unique. The sequence of nodes for a tetrahedron is also determined by the right-hand rule. Edge definitions within a tetrahedron were discussed in Section II.

PLUS/MINUS TRIANGLE TABLE
When the MoM part of the code is implemented, EMAP5 must know how triangles are linked to each other. In addition, a rule defining current direction must be specified. If there are no junctions, each edge has either one or two triangles   linked to it. If only one triangle links the edge, the edge is a contour metal edge. All fields along contour metal edges have to be zero since the currents have nowhere to go. If there are two triangles linked to the edge, the triangle with the local direction coinciding with the global direction will be called the plus triangle. The triangle with the local direction opposite to the global direction will be called the minus triangle. The current is defined to flow from the plus triangle to the minus triangle. Figure 20 shows an example demonstrating how plus/minus triangles are determined. Triangles 1 and 2 are linked by edge 3. The edge's global direction defined by GlobalEdgeEnds is denoted by the arrow going into the  paper. The normal vectors for both of the triangles goes inside. If the right-hand rule is used, triangle 1 will be the plus triangle of edge 3, while triangle 2 will be the minus triangle of edge 3.
 
two triangles sharing an edge
Figure 20. Plus/minus triangle definition.
 

INNER EDGE TABLE
The inner edge table is stored in the array InnerEdgeStat[TotInnerEdgeNum]. It contains the edges located within the FEM region. This table can be generated from the global edge table. It is included in the input file by SIFT 5 for convenience in EMAP5. All inner edges will be included in the finite element matrix A.

BOUNDARY EDGE TABLE
The table is stored in the array BoundEdgeStat [TotBoundEdgeNum]. It stores edge numbers of all surface edges. All edges in this table will be included in MoM. Contour edges will not be in this table since the fields along those edges are zero.

SOURCE INFORMATION
This part of the EMAP5 input file defines how the structure is excited by a source. EMAP5 supports the following three kinds of sources:

1. Voltage sources on metal patches

2. Plane wave sources

3. Current sources within the FEM region

The symbol 'V', 'P' and 'E' are assigned to each type of sources, respectively. The first line in the mesh file is the source symbol. It should be either 'V', 'P' or 'I'. If the source is 'V', the parameters shown in Table VII should be provided. VSourceEdge[ ] and VSourceMag[ ] are printed one after another. For example, a 'V' source is defined in the EMAP5 input file as follows,

V

500 2

23 1.0

45 1.0

The above lines define a 500-MHz voltage source with a magnitude of one volt. The source coincides with the edge 23 and 45.
 

Table VII. Voltage source definition format.
 
Parameter Type Description
OperateFreq Double Source frequency in MHz.
VSourceNum Integer Total number of the source edges.
VsourceEdge[VSourceNum] Integer Source Edge table.
VSourceMag[VSourceNum] Double the magnitude table of source edges.

 

If the source is an incident plane wave, the parameters shown in Table VIII should be provided. The following lines define a 500-MHz plane wave propagating along the +z axis; the E filed is polarized along the +x axis.

P

500 90 0 0 0
 

Table VIII. Plane wave source definition format.
Parameter Type Description
OperateFreq Double Source frequency in MHz. 
E_Theta Double q of the E unit vector in the sphere coordinate system.
E_Phi Double j of the E unit vector in the sphere coordinate system .
K_Theta Double q of the K unit vector in the sphere coordinate system.
K_Phi Double j of the K unit vector in the sphere coordinate system.

If the source is a 'I' source, the parameters shown in Table IX should be provided. The following lines define a 500-MHz source with a magnitude of one Ampere along the edge 10 and 11.

I

500.0 2

2 1.0

11 1.0

 
Table IX. Definition format of a current source within the FEM region.
Parameter Type Description
OperateFreq Double Source frequency in MHz. 
TotISourceEdgeNum Integer Total number of source edges. 
ISourceEdgeStat[TotForcdEdgeNum] Integer Source edge table.
ISourceMag[TotForcdEdgeNum] Double The magnitude table of source edges.

JUNCTION TABLE
The parameters shown in Table X are used to define junctions. Junction[i] defines the junction i+1 as shown in Table XI.
 
 
Table X. Junction definition format.
Parameter Type Description
JunctionNum Integer Total number of junction edges.
Junction[JunctionNum][3] Integer Junction table.

 
 Table XI. Parameters for the ith junction.
 
Parameter Type Description
Junction[i-1][0] Integer Junction edge number.
Junction[i-1][1] Integer Double plus triangle/plus triangle.
Junction[i-1][2] Integer Minus triangle/double minus triangle.

OUTPUT INFORMATION

EMAP5 must know whether users need the default output. In addition, EMAP5 must know how many other output files users want. The parameters shown in Table XII are used to define output requirements.

The keyword "output" can be used to define output. Usually, users are only interested in those edges parallel to the x, y or z axis. Parameters shown in Table 13 are used to define a rectangle. Thus, EMAP5 will write fields along the edges, which are both within the rectangle area and parallel to the specified axis, to the output file.
 

 

Table XII. Output definition format 1.

Parameter Type Description
default_out [flag] Integer Options for flag are 0 or 1. If flag sets to 1, it means users need default output. Otherwise, the default output is disabled.
OutputNumber Integer Number of other outputs users need.
 
Table XIII. Output definition format 2.
Parameter  Type Description
name[20] Character Output file name.
Min[3] Double Coordinates of the left corner of the rectangle. 
Min[0] is the x coordinate, Min[1] is the y coordinate. Min[2] is the z coordinate. 
Max[3] Double Coordinates of the right corner of the rectangle 
Max[0] is the x coordinate, Max[1] is the y coordinate. Max[2] is the z coordinate.