SG2

Data Structures

Home
Up
Tutorial
Data Structures
Function Outline
The product code uses data structures that are similar to the ones used by the other Finite Element Method. I do my best to explain them here, but truthfully, you may be able to pick up a better understanding by playing around with Maple or just contact me.

Point: A point on the product is held in a list of lists in Maple. The coordinate system for each works the same way as in the other Finite Element Method code; the address on a certain factor is a list of integers. The point [0,1] is represented by a list that looks the same way. On the product, we have a list of these two points: [ [ 0 , 1 ] , [0,1] ]

Gasket: The gasket is natively a Maple table. It is indexed by two things, a function slot and a point. For example, the gasket T is indexed by a product point and a function number, ie T[ [ [ 0 , 1 ] , [0 , 1 ] ],0 ] will reference the value of point [ [0,1], [0,1] ] for function 0. There are a few function slots that are automatically taken up; 0 is used at the creation of the gasket, and should be the identity; T[[[0,1],[0,1]],0] = [ [0,1], [0,1] ]. The pd_make_neighbors or the pd_make_neighbors_irreg function will fill up the (possibly 16) neighbors of each point in function slots 1 - 16. Further, the pd_calc_biharms function will use 27 function slots, so a fully formed gasket could use possibly every slot from 0 to 42.

Vertex List: Often times, when a function needs to iterate through every vertex in a gasket, it requires the use of a list of vertices of the gasket; for that, a vertex list is used. Simply, it is a list of all the vertices in the gasket.

Cell: There are 9 distinguished boundary points for each cell, and to specify a certain cell, simply pass a list containing these 9 distinguished boundary points.