The primary nodal field is cotet(3,*), which contains the actual coordinates of the mesh. This includes the coordinates of these parts of the mesh which are not meshed by tetrahedral elements. During the refinement only nodes are created, existing nodes are not deleted. The actual maximum node number is nktet, the actual nodal allocation size is nktet_. Both numbers change during the refinement.
iexternnode(*) is a nodal field which indicates whether the node is on the surface (value 1) or internal (value 0). The field h(*) specifies the desired edge length at each node. Both these fields change dynamically during the refinement. The structure of fields cotet(3,*), iexternnode(*) and h(*) is illustrated in Figure 179.
Finally, the fields ipoeln and ieln are used to specify the elements containing a specific node (Figure 180). For a node i the value ipoeln(i) points to an entry ieln(1,ipoeln(i)) containing an element to which the node belongs. If there are more such elements, the next element is stored in ieln(1,ieln(2,ipoeln(i))) and so on until ieln(2,ieln(2,ieln(2...,ipoeln(i))))=0. At any time during the scalar ifreeln contains the next free position in ieln, whereas the entry ieln(2,j) for any not used position j in the field points to a next free position.