[vtkusers] vtkMeshQuality broken?
David C Thompson
dcthomp at sandia.gov
Thu Mar 29 21:12:05 EDT 2007
> The values in quality.GetOutput().GetCellData().GetScalars("Quality") are not
> OK, 1e30 in my case. Setting VolumeOn() and RatioOn() seem to do give some
> numbers, but they seem more (signed) volume than quality. I am pretty sure I
> have made no changes to this code for months.
I ran the filter on tetraMesh.vtk in VTKData and noticed that the 1e30
is returned for each and every cell with negative volume (and no
others). This is probably a result of switching to use the quality
metrics computed by the Verdict library as Philippe Pébay announced a
month of so ago. Since this behavior (returning an invalid value for
inverted tets) doesn't match the documentation for the Verdict library,
I will take up how best to fix it with the Verdict folks. I would not be
surprised if they wish to keep the current behavior and adjust the
documentation since negative volumes often indicate serious trouble with
the algorithm that produced them. In that case, you should orient
tetrahedra properly before sending them to vtkMeshQuality. I believe
there's a filter that will reorient tets but I don't remember the name
of it offhand.
Thanks for the heads up on the python test; it needs to be updated. I
don't think it could have worked for over 2 years given that it assumes
the output mesh's field data has scalars set. (We do produce field data
arrays, but there are 4 of them -- one for each element type supported
-- each of which has a 5-tuple holding descriptive statistics, instead
of a copy of the per-cell results.)
David
> Thanks for any hints,
> Dominik
>
> On Friday 30 March 2007 00:08, David C Thompson wrote:
> > > vtkMeshQuality does not work for me any longer (both C++ and python). I
> > > do as simple as: vtkUnstructuredGridReader -> vtkMeshQuality ->
> > > vtkUnstructuredGridWriter with setting Input/Output connections as usual.
> > > It always worked now not anymore. In the docs I read about some
> > > compatibility issues (VolumeOn, RatioOn()) - were there recent changes?
> > > The test referred to there (meshQuality.py) does not work.
> >
> > Can your provide more information about what doesn't work? Does the
> > filter not compile, not run, yield no results, or incorrect results?
> >
> > Thanks,
> > David
>
More information about the vtkusers
mailing list