`zone geometry`

command

Syntax

- zone geometry keyword
Commands that modify control parameters based on the geometry of zones and/or their internal tetrahedra.

The following keywords are available:

- test <range>
Evaluate the integrity of model zones. FLAC has several tests built in to check the integrity of gridded models, to make sure that the model is adequate for simulation purposes. The first two tests are used to check for zone degeneracy and whether zone geometry can support both overlays. These situations may occur if a primitive is created without satisfying the requirements of geometry conditions, such as the number of vertices, edges and faces, or if zone is inverted (meaning that some of the internal primitives overlap within the overlay). Warning messages are given if any of the zone primitives are degenerate or if a zone cannot support two overlays.

In addition to tests for degeneracy and overlay support, the geometric aspects of zones are further evaluated using following quantities:

*aspect ratio*,*volume ratio*,*orthogonality*and*face planarity*(in 3D only). The quantities compare the zones to an ideal one—a zone in which all edges are equal, except for a degenerate brick zone (in 3D) whose ideal shape is assumed to be a degenerated cube.`zone geometry test`

invokes the test for all of these geometric quantities.Zones Measures in 3D

*Aspect Ratio*— The ratio of the shortest edge length to the longest edge length. This will be assumed 1.0 for an ideal zone. It will approach zero as the zone becomes stretched or flattened. The result is required to be normalized for degenerate brick zones with a multiplication factor of \(\sqrt{2}\). See the FISH functions`zone.aspect`

or`zone.condition`

.*Volume Ratio*— The ratio of the smallest tetrahedron and the averaged tetrahedron in the zone. For wedge, tetrahedron, pyramid, and degenerate brick zone type with ideal shape, this measurement gives 1. However, for an ideal brick, it gives 5/6. Thus the result is required to be normalized for brick zones with a multiplication factor of 1.2. See the FISH function`zone.condition`

.*Orthogonality*— A measurement of how “well” sides of the zones are inclined to each other. For each gridpoint in each zone, the determinant of the matrix defined by the three edge vectors is computed and divided by the product of their lengths. This gives 1.0 for a cube, and approaches zero as pairs or all three edges approach being coplanar. Each zone is measured by the worst orthogonality value of all gridpoints. The result is required to be normalized with a multiplication factor of \(2/\sqrt{3}\) for wedge zones and with \(\sqrt{2}\) for other non-brick zones. See the FISH functions`zone.ortho`

or`zone.condition`

.*Face Planarity*— For zones containing quadrilateral faces, it is possible that the four vertices of a quadrilateral polygon will not be coplanar in 3D. FLAC3D allows faces to be nonplanar, but the greater the deviation, the less accurate the solution process will be. There is no clear singular method of measuring planarity. FLAC3D uses a method that compares the volume of a tetrahedron filling the 4 vertices and the area of the quadrilateral face computed as the cumulative area of 4 triangles formed by adding a central point. The ratio of the cube root of the volume to the square root of the area (to get a dimensionless value) is calculated. This value is zero if face is planar, and positive if it is nonplanar. This test is “scaled” by a constant because there is no fundamental limit on how nonplanar a face can be. Values should be << 1.0 for a face to be good. All faces of a zone are tested; the worst value is reported.Zones Measures in 2D

*Aspect Ratio*— The ratio of the shortest edge (face) length to the longest edge length. This will be assumed 1.0 for an ideal zone (square for quadrilateral zones and equilateral triangle for triangular zones). It will approach zero as the zone becomes stretched or flattened. See the FISH functions`zone.aspect`

or`zone.condition`

.*Area Ratio*— The ratio of the smallest internal triangular subzone and the averaged triangle in the zone. For triangular zone this measurement always gives 1 as there is only one internal primitive. See the FISH function`zone.condition`

.*Orthogonality*— A measurement of how “well” sides of the zones are inclined to each other. If the test returns a value close to zero, it means that zone is most likely very elongated or badly deformed. For ideal quadrilateral zone, the orthogonality value is 1, but for ideal triangular zone, the value is 0.5. Thus this measure is multiplied by 2 for triangular zones. See the FISH functions`zone.ortho`

or`zone.condition`

.*2D Shape Quality*— An additional zone measure implemented in 2D to provide overall zone geometric quality. Shape quality, \(Q_s\), of a zone is calculated based on the following expressions:For triangular zones:

(1)\[Q_s = 4\sqrt{3}S/(L_{max}P)\]where \(S\) is the area of the triangular zone, \(L_{max}\) is the length of the longest edge of the triangular zone, \(P\) is the perimeter of the triangular zone.

For quadrilateral zones:

(2)\[Q_s = 8\sqrt{2}S_{min}/(L_{max}P)\]where \(S_{min}\) is the minimum area among all the internal triangular subzones within the zone, \(L_{max}\) is the max length among zone’s four sides and the two diagonals, \(P\) is the perimeter of the zone. Values of \(Q_s\) are always between 0 and 1, and it is 1 for a perfect (equilateral) triangle and a square. Also see a special note for

`zone.condition`

function related to the case when quadrilateral zone is concave.Reporting Zone Measures

The command outputs the minimum zone measure for all zones in the specified range for each measure type. It also outputs the overall minimum value, which is the zone

*condition number*. If any of the zone primitives are degenerate or if a zone cannot support two overlays, warning messages are output.Furthermore, a distribution of values is reported for all of the measures across all zones in the specified range. The distribution ranges from 0 to 1.0, with a 0.1 interval. Thus, all zones fall within these 10 intervals. This distribution helps identify the number of bad zones, and how bad these zones are. Note that these tests are useful for relative comparisons between different grids for the same geometry. For a model to perform well with FLAC, aspect ratio, volume ratio, orthogonality, and 2D shape quality (for 2D) should be near 1.0, and planarity test values near 0.0 (for 3D). For the purpose of visualization, FISH functions (see

`zone.condition`

) can be written to group all zones that failed to meet minimum standards.

- tolerance f
Set the tolerance before an illegal geometry error happens in response to zone deformation. The user input f is the minimum ratio of the volume of a tetrahedral subzone to the zone volume. FLAC signals an illegal geometry error if that ratio is less than f for any tetrahedral (3D) or triangular (2D) subzone in the model. The default value is 0.0.

Note: Be aware that zone geometry is checked only every 10 steps in large-strain mode. So, if the tolerance is set too close to zero, an error may be signaled elsewhere in the calculation before exiting at the selected ratio. Also note that the typical minimum ratio of the subzone volumes to the full zone volume are 0.2 in FLAC3D and 0.5 in FLAC2D. So the maximum value selected for the ratio should be less than these values to avoid premature termination of cycling.

- update-interval i
Set a specific interval of steps at which to update zone geometry and property changes in large strain mode. Updates associated with geometric or property changes are performed at the start of every

`model solve`

command (including`model step`

and`model cycle`

). In large strain mode, these calculations are also updated every 10 steps by default; use of this command will change that to updating every i steps.

Was this helpful? ... | Itasca Software © 2024, Itasca | Updated: Sep 26, 2024 |