Brent Lessley (35e68b24) at 05 Jul 17:55
Merge remote-tracking branch 'origin/master'
... and 43 more commits
Do: test
Brent Lessley (b622c796) at 04 Jul 18:34
Fixed index out of bounds error for the cell counts array
Thanks for pointing that out.
Do: reformat
Brent Lessley (0e94648c) at 03 Jul 14:13
Removed all modifications in the internal device adapter algorithm ...
... and 16 more commits
@kmorel thanks
Do :reformat
Brent Lessley (ed56d94e) at 01 Jul 19:27
Removed all modifications in the internal device adapter algorithm ...
... and 12 more commits
Do: reformat
[Resubmission of !1698]
This branch contributes a mesh quality filter that computes metrics over different 2D and 3D cells in an unstructured grid mesh. A different metric is user-specified for each cell type (e.g., tet, hex, triangle) in the mesh, and the underlying filter and worklet invoke metric functions over each cell. The filter outputs summary statistics for each metric/cell-type pair, consisting of frequency, mean, standard deviation, min, and max. Each set of summary statistics is written into the output data set (currently a VTK file) as a new field. Additionally, the computed metric values of all cells are output as a new field. If a cell type is not assigned a metric, then it is assigned an empty metric by default and its mesh quality will not be computed or included as a field in the output data set.
In this basic implementation, there are 4 tested cell metrics, each verified for correctness with a filter unit test. We have several (~15) other metrics either already implemented or in-progress. These will be merged upon successful passing of their unit tests. We would appreciate any feedback regarding the functionality/design as we proceed further.
Relevant files are as follows:
vtkm/filter/MeshQuality.h
, vtkm/filter/MeshQuality.hxx
(filter)vtkm/filter/testing/UnitTestMeshQualityFilter.cxx
(filter unit test)vtkm/worklet/MeshQuality.h
(worklet)examples/cell_metrics/CellMetrics.cxx
(example file to use MeshQuality filter, given an input VTK data set)vtkm/exec/cellmetrics
(directory with cell metric implementations; note that vtkm/exec/CellMeasure.h
is also included as a supported metric under the metric name VOLUME
)The design of the mesh quality filter largely follows that of the VTK implementation:
The ground-truth metric values hard-coded in the unit test file are obtained from the VisIt library and its set of equivalent mesh quality operators. While VisIt includes many of the metrics from the Verdict manual, there are still a few metrics left unsupported (at least via the GUI interface). We will obtain the ground-truth values of these unsupported metrics from the VTK implementations.
The mathematics and definitions of each cell metric are adapted as closely as possible from the Verdict Manual of mesh quality cell metrics:
Code development is completed by @blessley, @dloyd2, and Steven Walton.
Brent Lessley (fe4d8f3e) at 27 Jun 04:49
Merge branch 'master' into add_mesh_quality
... and 1 more commit
Brent Lessley (ac640bfc) at 27 Jun 04:35
Removed all modifications in the internal device adapter algorithm ...
Brent Lessley (6324c580) at 27 Jun 04:08
Revised version of the original mesh quality merge request. Single ...
This branch contributes a working and tested prototype of a mesh quality filter that computes metrics over different 2D and 3D cells in an unstructured grid mesh. A different metric is user-specified for each cell type (e.g., tet, hex, triangle) in the mesh, and the underlying filter and worklet invoke metric functions over each cell. The filter outputs summary statistics for each metric/cell-type pair, consisting of frequency, mean, standard deviation, min, and max. Each set of summary statistics is written into the output data set (currently a VTK file) as a new field. Additionally, the computed metric values of all cells are output as a new field. If a cell type is not assigned a metric, then it is assigned an empty metric by default and its mesh quality will not be computed or included as a field in the output data set.
In this basic implementation, there are 4 tested cell metrics, each verified for correctness with a filter unit test. We have several (~15) other metrics either already implemented or in-progress. These will be merged upon successful passing of their unit tests. We would appreciate any feedback regarding the functionality/design as we proceed further.
Relevant files are as follows:
vtkm/filter/MeshQuality.h
, vtkm/filter/MeshQuality.hxx
(filter)vtkm/filter/testing/UnitTestMeshQualityFilter.cxx
(filter unit test)vtkm/worklet/MeshQuality.h
(worklet)examples/cell_metrics/CellMetrics.cxx
(example file to use MeshQuality filter, given an input VTK data set)vtkm/exec/cellmetrics
(directory with cell metric implementations; note vtkm/exec/CellMeasure.h
is also included as a supported metric under the metric name VOLUME
)The design of the mesh quality filter largely follows that of the VTK implementation:
The ground-truth metric values hard-coded in the unit test file are obtained from the VisIt library and its set of equivalent mesh quality operators. While VisIt includes many of the metrics from the Verdict manual, there are still a few metrics left unsupported (at least via the GUI interface). We will obtain the ground-truth values of these unsupported metrics from the VTK implementations.
The mathematics and definitions of each cell metric are adapted as closely as possible from the Verdict Manual of mesh quality cell metrics:
This work is part of a milestone for the ECP project under the advisement of @hankchilds. Code development is completed by @blessley, @dloyd2, and Steven Walton.
Brent Lessley (f2b6d1ad) at 27 Jun 01:01
Merge remote-tracking branch 'vtkm/master'
... and 44 more commits
@robertmaynard Do you think it would be best to submit a new merge request with only a single, final commit? I notice that most of the build bot errors and files here are from older commits of this branch.
Do: reformat
This branch contributes a working and tested prototype of a mesh quality filter that computes metrics over different 2D and 3D cells in an unstructured grid mesh. A different metric is user-specified for each cell type (e.g., tet, hex, triangle) in the mesh, and the underlying filter and worklet invoke metric functions over each cell. The filter outputs summary statistics for each metric/cell-type pair, consisting of frequency, mean, standard deviation, min, and max. Each set of summary statistics is written into the output data set (currently a VTK file) as a new field. Additionally, the computed metric values of all cells are output as a new field. If a cell type is not assigned a metric, then it is assigned an empty metric by default and its mesh quality will not be computed or included as a field in the output data set.
In this basic implementation, there are 4 tested cell metrics, each verified for correctness with a filter unit test. We have several (~15) other metrics either already implemented or in-progress. These will be merged upon successful passing of their unit tests. We would appreciate any feedback regarding the functionality/design as we proceed further.
Relevant files are as follows:
vtkm/filter/MeshQuality.h
, vtkm/filter/MeshQuality.hxx
(filter)vtkm/filter/testing/UnitTestMeshQualityFilter.cxx
(filter unit test)vtkm/worklet/MeshQuality.h
(worklet)examples/cell_metrics/CellMetrics.cxx
(example file to use MeshQuality filter, given an input VTK data set)vtkm/exec/cellmetrics
(directory with cell metric implementations; note vtkm/exec/CellMeasure.h
is also included as a supported metric under the metric name VOLUME
)The design of the mesh quality filter largely follows that of the VTK implementation:
The ground-truth metric values hard-coded in the unit test file are obtained from the VisIt library and its set of equivalent mesh quality operators. While VisIt includes many of the metrics from the Verdict manual, there are still a few metrics left unsupported (at least via the GUI interface). We will obtain the ground-truth values of these unsupported metrics from the VTK implementations.
The mathematics and definitions of each cell metric are adapted as closely as possible from the Verdict Manual of mesh quality cell metrics:
This work is part of a milestone for the ECP project under the advisement of @hankchilds. Code development is completed by @blessley, @dloyd2, and Steven Walton.