
Cell Analysis.
Moritz analyzes cell descriptions to find cells, or parts of a cell, that can be polygonalized as a supported shape. A cell part is either a simple cell (without unions or complements) or the part of a cell description between union operators. The analysis first counts the number of union and complement operators and parentheses (after redundant parentheses have been removed but before complements have been expanded). If the description consists of only signed surfaces, the cell is a simple cell and the shape analysis continues. If the number of non-surface items is greater than the number of surfaces in the description, Moritz assumes the cell is complicated because a number of items are being excluded in the interior and that the first surfaces listed in the description could describe the outer surfaces of the cell. The program then attempts to see if the portion of the cell description of this basket cell consisting of signed surfaces before the first parenthesis, union, or complement can be characterized as a known shape. If so, that shape is given a default 3D style as wireframe. This Figureshows several basket cells.
The method of ignoring complements works satisfactory when the complements exclude cells in the interior of another. In that case, assuming the excluded objects themselves can be polygonalized, there is no need to represent the inner surfaces of the container cell. If this is the desired result, it is best to use complement operators in the cell description rather than the equivalent description in terms of surfaces and unions, in which case Moritz may be smart enough to polygonalize the inner surfaces. The method will not work if the complement is used to exclude a partially intersecting cell. In our experience with input files from hundreds of MCNP users, we have rarely seen this latter use of the complement operator.
If the cell is not found to be a simple or basket cell and the description contains unions and parentheses but no complements, Moritz attempts to remove the parentheses by moving the surfaces outside of the parentheses to each part of a union inside the parentheses. If the algorithm succeeds, the result is a cell description consisting of sequences of signed surfaces between unions, such as
Each sequence of surface numbers constitutes a part. The shape analysis is performed on each part of one of these union cells. This Figure1 -2 3 -4 : 5 -6 7 -8 : 9 -10 11 -12
shows a union cell consisting of 4 flattened ellipsoids.
The expansion is terminated if more than N parts results where N is the value of Union Part Limit on the 3D Control property page. The limit is not used if N <= 0.
If very complicated cell descriptions are present, it is very important that a finite limit be present. Otherwise, the expansion can lead to hundreds of thousands of parts and an apparently hung Moritz.
If all surfaces of a part carry the same transformation, Moritz first attempts the analysis on the cell using the original untransformed surfaces. If the analysis is successful, the transformation is applied to the polygons when they are drawn. The untransformed geometry is usually a simpler shape than the transformed and can often be polygonalized and displayed more efficiently. We have encountered several cases where all surfaces of a part except a plane carry the same transformation. To permit the polygonalization to proceed, we will introduce a new plane with the transformation.
A list of cells that could not be polygonalized is written if Report Poly'n Failures is checked on the 3D Options property page. The listing gives the cell number, comment if present, and the number of surfaces of each type and the number of cell description operators.
Several classes of models include cylinders contained within cells otherwise bound by planes, such as a beam line in an accelerator tunnel. When Ignore Embedded Cylinders is checked on the 3D Options property page, cylinders are ignored in the polygonalization of cells that, except for the cylinder, are acceptable as polyhedrons.
| White Rock Science http://www.whiterockscience.com/wrs.html 505 672 1105 |