It will be seen that the element numbering in the mesh is far from ideal. Elements and nodes need to be renumbered
sensibly in order to reduce the bandwidth of the stiffness matrix. This is the next stage in the
pre-processing.
A simple Cuthill-McKee numbering algorithm is employed. The user picks an element to start the renumbering at...
After the renumbering, the frontwidth of the resulting stiffness matrix is calculated. If this is smaller than that of
the existing numbering, the renumbering is rejected. The user can repeat this process several times, picking different
elements to start the numbering at, and the best numbering found is the one used in the final mesh
generated by the pre-processor. The nodes are renumbered using the element renumbering as a guide.
A unique feature of the pre-processor PREFEL is that it can show the user the structure of the global stiffness matrix. Here is the stucture
of the matrix (i.e. the non-zero elements) before we did the renumbering...
And here is the global stiffness matrix after renumbering. The matrix is shown being built up as element after element is added; in the picture below the nine entries from element 93 (corresponding to degrees of freedom 52, 53 and 68) are being added (shown in purple)...
The renumbering algorithm used is not optimal, but the emphasis in FELIPE is on simplicity, with steps that the student can understand.
The final mesh, with its element and node numbering, is shown below...
Finally in PREFEL, the user may specify values of U for nodes on the Dirichlet part of the boundary. This is done by
choosing a vertical or horizontal plane, and inputting a value for U on all Dirichlet nodes lying on that plane.
For more complex boundary value distributions, a boundary value function bdryfn(x,y) can be programmed in POISS.FOR.