The first time the loop is run, the tetrahedral mesh is still the unrefined
mesh. The following actions are performed in calculateh.f:
- determine the length of each edge and store it in field d(*)
- determine for each node the mean length of the edges to which it
belongs. Multiply this value with the limit value specified by the user and
divide it by the actual value of the user-defined criterion. Store the
resulting value in field h(*). For instance, if the user has selected the
stress criterion, the limit value is 50. and the actual stress value in the
node is 200., then an average edge length in the node of 0.1 will lead to a
value of 0.025 in this node, i.e. the desired edge length is locally
0.025. Notice that the refinement information is stored in filab(48), which
is a character string of length 87. In positions 1:2 “RM” is stored, the
field to which the refinement criterion applies is stored in positions 3:6,
the limit in positions 7:26 (f20.0) and the element set to be refined in
positions 27:87.
- determine the minimum value of d(*) across the complete mesh and store
it in .