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
zone.group(p_z, 'badzone')='smallvol'
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
zone.group(p_z, 'badzone')='skewed'
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
zone.group(p_z, 'badzone')='aspect'
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
zone.group(p_z, 'badzone')='ortho'
endif
p_z=zone.next(p_z)
end_loop