OOF2: The Manual
Name
RuleSet — Refinement rule sets.
Description
When refining a
Skeleton, OOF2 first decides which Segments to subdivide. It chooses
up to two locations on each Segment. Then it subdivides the interior
of each Element in a way that is consistent with the subdivision of
its Segments, as provided by a refinement rule.
Often there is more than one way to subdivide an element's interior, and the refinement rule returns more than one possibility. In this case, OOF2 chooses between them by picking the one that minimizes the resulting effective energy. The best choice will depend upon the exact position of the original element's nodes, the positions of the segment subdivisions, and the pixels in the interior, all of which go into determining the shape and homogeneity energies of the new elements.
Because there can be very many ways of subdividing an Element, the
rules parameter of Refine lets you choose between two
refinement rule sets. The Large rule set
considers almost all possible ways of refining an element, while the
Quick rule set examines just a few simple
geometries (often only one) for each
element. Quick often does a good enough job,
and does it faster. It may be more efficient to use
Quick twice than to use
Large once.
For example, when subdividing each edge of a triangular element in a
single spot, the Quick rule set offers only
this configuration

but the Large rule set also includes these
options:

as well as these

and all 26 geometries that can be derived from the
Quick refinement by subdividing one or more
of its quadrilaterals into two triangles

Similarly, when bisecting one edge of a quadrilateral and trisecting
a neighboring edge, the Quick rule set
generates only the simple refinement

while the large rule set also considers these geometries

and all the configurations that can be derived from them by splitting quadrilaterals into two triangles.
The full set of 66 refinement rules is in
SRC/engine/refinemethod.py in the OOF2 source
code, along with ascii art diagrams like this for each:
# 3---------------2 3---------------2 3---------------2 # | | |\ | | /| # | | | \ | | / | # | | | \ | | / | # d---------------c d \ c d / c # |\ /| |\ \ /| |\ / /| # | \ / | | \ \ / | | \ / / | # | \ / | | \ \ / | | \ / / | # | \ / | | \ \ / | | \ / / | # | \ / | | \ \ / | | \ / / | # 0-----a---b-----1 0-----a---b-----1 0-----a---b-----1



