# Mesh and zone quality checks

Hello all,

Does anyone want to share their zone/mesh quality checking routine? A process to highlight poor zones that may cause issues for the model to solve.

I guess the obvious one is the zone.test.quality command, which has 2 checks for volume/edge length and skew. But I can’t seem to find any indication of value cutoffs that would indicate a poor zone.

For example, I can’t find any documentation of what criteria to use in the FISH code below (I’ve arbitrarily used 0.002, but any rules of thumb or indication of a good criteria would be very helpful):

``````p_z=zone.head
loop while p_z#null
if zone.test.quality(p_z,1) < 0.002 then
n=n+1
endif
p_z=zone.next(p_z)
end_loop
``````
``````loop while p_z#null
if zone.test.quality(p_z,2) < 0.002 then
n=n+1
endif
p_z=zone.next(p_z)
end_loop
``````

I’ve seen this paper which looks at aspect ratio and orthogonality limits: https://itasca-downloads.s3.amazonaws.com/documents/papers/11-02.pdf

That paper suggested an aspect ratio limit of up to ~7.5 and ortho limit of ~0.15 for 5% to 10% error and NTV of 20. So maybe a zone check like this would also be helpful:

``````loop while p_z#null
if zone.aspect(p_z) > 7.5 then
n=n+1
endif
p_z=zone.next(p_z)
end_loop
``````
``````loop while p_z#null
if zone.ortho(p_z) < 0.15 then
n=n+1
endif
p_z=zone.next(p_z)
end_loop
``````
1 Like

There is another FISH intrinsic called zone.condition in which you can select which criteria: aspect ratio, volume ratio, and orthogonality, or the minimum of them. See
http://docs.itascacg.com/flac3d700/flac3d/zone/doc/manual/zone_manual/zone_fish/zone_intrinsics/fish_zone.condition.html#zone.condition

However, on which cut-off value, it really depends on the specific model and many considerations.

1 Like

is the zone.condition compatible with the griddle’s shape quality information? if positive, which criteria should be used for comparison?

Hello ALG,
z_aspect(pz),z_ortho(pz),and z_qualitytest(pz,itype) theirs values range from 0 to 1. “0” means bad zone quality，“1” means good zone quality. you can see the details in the FLAC3D Version 5.0 manual (FISH REFERENCE).
After importing the mesh you can quickly check quality/compliance with `zone geometry-test` and `zone validate`. If `zone geometry-test` shows any <0.1, then add an isosurface plot to show those bad zones and make a decision about remeshing.