Figure 2. Creation of four elements in such a manner is carried out only when the bisected edge is the longest edge of both the elements. If the above condition is not true, as illustrated in Figure 3, the second element is added to the end of element list which contains the high refinement ratio elements so that the second element is now the current element for subdivision and the process is repeated. Again, the element selected for subdivision will have an edge which is the longest among the edges of the elements in the list. Figure 2. Boundary edge and internal edge subdivision Figure 3. The elements do not share a common longest edge is singular at the corner, the error indicator (which is calculated from the difference in stresses in adjacent elements) should also converge to a singular point at the corner. A plot of the refinement density function over the mesh is shown in Figure 8 for four of the meshes in the iteration sequence. As can be observed from the figure, the refinement density function for the crude mesh provides a rough approximation of the error, and as the mesh adapts to the solution, the refinement density function appears to converge to the singularity at the corner. Figure 7. Square plate with square hole: initial and final mesh Figure 6. Square plate with square hole Table L. Example 3: material properties Figure 8. Example 2: refinement density function for meshes 1, 2, 5 and 10 Figure 11. Semiconductor device problem: final mesh Figure 10, Semiconductor device problem: initial mesh Figure 12. Quality of newly created triangles: three cases of triangle subdivision The mesh refinement algorithm described in this paper has been successfully developed and implemented and found to be robust. The process starts with a crude initial mesh which is Figure 13. Estimate of error in the energy norm vs. degrees of freedom All the examples presented here are problems in plane stress, but this procedure can easily be extended to triangular meshes on three-dimensional surfaces. Refinement ratios generated in a different manner from the type used here can also obviously be employed. The algorithm was employed in an A-type refinement process, but it can also be used as part of a combined h—-p convergence scheme.