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
            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
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).
I hope it will help you.
I have seen some papers which research grid quality in FLAC, you could find them.

Note:the above values are applicable to the zone quality measurement of tetrahedral elements.

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.

You can also plot zone contour of “condition” to show the zone quality.

Thanks everyone that is very helpful, I wasn’t aware of the zone.condition and zone geometry-test commands.

I will play around with it some more and see what works for the models I’m working with