Commit Graph

1265 Commits

Author SHA1 Message Date
Dave Pugmire
8ef3ac71e8 Add in threaded algo. 2022-07-19 09:09:38 -04:00
Dave Pugmire
3ce72b0e58 Remove old files. 2022-07-18 13:54:41 -04:00
Dave Pugmire
5281b377b0 Add new base classes. 2022-07-18 09:47:17 -04:00
Dave Pugmire
134f9691ec Move filter types into diff files. 2022-07-18 09:46:38 -04:00
Dave Pugmire
83eb6f498c Update buffer calc 2022-07-18 09:09:11 -04:00
Dave Pugmire
17322e9d05 Moving code around. 2022-07-18 08:38:54 -04:00
Dave Pugmire
7111a8b939 move pa filters to NewFilter 2022-07-15 15:15:14 -04:00
Dave Pugmire
29ca23bfe6 Code cleanup. 2022-07-15 12:44:51 -04:00
Dave Pugmire
80b0608ab2 Put steady/unsteady into sep files. 2022-07-15 11:36:02 -04:00
Dave Pugmire
8b375b4443 Rework the templating.. 2022-07-14 12:02:10 -04:00
Dave Pugmire
be813f7e4b write the electro-mag code. 2022-07-08 10:39:17 -04:00
Dave Pugmire
3ca058816c Cleanup compiler warnings. 2022-07-08 08:48:16 -04:00
Dave Pugmire
faa938f1f0 add DSI.hxx to cmake. 2022-07-08 08:17:01 -04:00
Dave Pugmire
a61fa7d9b0 Fix for MPI filters. 2022-07-05 14:35:43 -04:00
Dave Pugmire
e920e9fa39 Add electro-mag code. 2022-07-05 13:40:45 -04:00
Dave Pugmire
6e4691acfc reworking the advect templating. 2022-07-05 09:54:47 -04:00
Dave Pugmire
41c8072894 Kick the dashboards. 2022-07-01 09:00:54 -04:00
Dave Pugmire
0771f25371 Templating work to simplify code (hopefully...) 2022-07-01 08:30:17 -04:00
Dave Pugmire
db4d8a181e Expand support for DSI 2022-06-30 09:54:43 -04:00
Dave Pugmire
c40356bc8a Add pathparticle2 filter 2022-06-29 10:02:42 -04:00
Dave Pugmire
6e097a5eb3 remove std::variant include 2022-06-29 09:51:07 -04:00
Dave Pugmire
c7f11ae5bc Fixes for PA and SL filters. 2022-06-29 09:38:24 -04:00
Dave Pugmire
35d7b92674 ParticleMessenger needs a template param. 2022-06-23 16:13:17 -04:00
Dave Pugmire
ab1cd81a62 Fix templated class member specialization issue. 2022-06-23 15:55:09 -04:00
Dave Pugmire
6618597711 Use types for different options in PA filters. 2022-06-23 15:25:31 -04:00
Dave Pugmire
294a489f5b Rough draft at particle advection filters. 2022-05-23 15:29:54 -04:00
Li-Ta Lo
2b102e2b7c Merge topic 'probe_refactor'
849106762 remove include CellDeepCopy
4108febd3 remove #include functional
daaac78f1 minor changes based on code review
aecdd7705 Update vtkm/filter/resampling/testing/CMakeLists.txt
38000ed6d Use ALL_BACKENDS for unit test
ab09f77b7 migrate Probe filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2771
2022-05-18 10:48:37 -04:00
Li-Ta Lo
849106762e remove include CellDeepCopy 2022-05-18 07:15:00 -06:00
Li-Ta Lo
daaac78f15 minor changes based on code review 2022-05-18 05:59:07 -06:00
Li-Ta Lo
aecdd77053 Update vtkm/filter/resampling/testing/CMakeLists.txt 2022-05-17 10:42:33 -04:00
Li-Ta Lo
38000ed6df Use ALL_BACKENDS for unit test 2022-05-17 06:07:03 -06:00
Li-Ta Lo
ab09f77b7c migrate Probe filter 2022-05-16 14:55:14 -06:00
Kenneth Moreland
3ba13c5cc4 Re-enable hip builds
There were several tests that were disabled for hip because they either
took too long to compile or were failing. We are getting closer to
making everything work, so re-enable this part of the build.
2022-05-12 16:00:30 -04:00
Kenneth Moreland
a78c02285b Merge topic 'pointtransform-symbols'
d3de36f47 Remove inline from PointTransform methods to be exported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nicole Marsaglia <marsaglia1@llnl.gov>
Merge-request: !2763
2022-05-04 11:51:42 -04:00
Kenneth Moreland
d3de36f470 Remove inline from PointTransform methods to be exported
When `PointTransform` was converted to the new filter structure, some of
the methods that were moved from .hxx to .cxx (and therefore compiled in
a library) were still marked as `inline`. This caused the compiler to
not compile the function into the library if it was not used. Fix the
problem by removing the `inline` modifier to the method implementations.
2022-05-03 12:57:14 -06:00
Sujin Philip
6d254d3e60 Fix StructuredPointGradient for Uniform Point Coordinates
The scalar field difference along x, y, and z should be divided by the
spacing not multiplied. This was causing some test failures in VTK and
ParaView when overriding the default contour filter with `vtkmContour`.
2022-04-28 12:50:09 -04:00
Kenneth Moreland
2fe1950adc Merge topic 'particle-density-interface'
ac9923151 Change ParticleDensity interface for setting mesh parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2758
2022-04-22 16:15:23 -04:00
Kenneth Moreland
9da1d639e8 Merge topic 'gamma-typo'
ac8c8b1ce Fix typo: Gama -> Gamma

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2757
2022-04-22 12:34:22 -04:00
Kenneth Moreland
ac99231516 Change ParticleDensity interface for setting mesh parameters
Previously, the mesh parameters used for the `ParticleDensity` filters
had to be provided in the constructor. However, this is different than
most other filters in VTK-m. It also can be more error prone as it is
easy to mix up unnamed arguments.

Add methods to `ParticleDensityBase` to allow setting/getting parameters
like `Dimensions` and `Bounds` to make it more clear what the values
mean.
2022-04-22 09:26:19 -06:00
Kenneth Moreland
ac8c8b1cee Fix typo: Gama -> Gamma 2022-04-12 15:03:22 -06:00
Kenneth Moreland
60e6b3ec84 Fix deprecated method export
The deprecated class `vtkm::filter::MeshQuality` contained a private
method that was referenced in its inlined constructor. The problem was
that this private method was compiled in the `vtkm_filter_mesh_info`
library but not properly exported. Fix this by adding an export to the
class.
2022-04-12 10:26:54 -06:00
Kenneth Moreland
a9d49b35b2 Merge topic 'scoped-enum-field-to-colors'
e6b37f7a4 Remove deprecated use of old unscoped enums in FieldToColors
f37cc7657 Use scoped enum for FieldToColors modes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !2734
2022-04-11 10:54:43 -04:00
Vicente Adolfo Bolea Sanchez
86bf876178 cuda: Fix new cuda version warnings 2022-04-07 17:50:37 -04:00
Kenneth Moreland
a96f2a32b4 Merge topic 'gradient-test'
3b0cdcec2 Add tests for divergence, vorticity, and q criterion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2739
2022-04-01 10:11:43 -04:00
Kenneth Moreland
1c1881d53e Declare methods for instances out of line
For the templated methods that we are precompiling instances for, do not
put their implementation inside of the class declaration. The problem is
that if you define a method inside of a class, it is implicitly inline.
If it is inline, a compiler might choose to compile it even if an
external symbol exists.
2022-03-23 06:33:45 -06:00
Kenneth Moreland
13de2b7303 Protect gradient instantiations from ambiguity
It appears that some compilers treat template instances different than
calling a template. For example, if you have

```cpp
template <typename T, typename U>
void Foo(T t, U u);

template <typename T>
void Foo(T t, int u);

template void Foo(int t, int u);
```

that some compilers will complain that the instance is ambiguous because
it matches both versions of Foo even though the second one is the one
that is called (unless you specifically declare template parameters).

This is what happend with the gradient instances. Fix the problem by
wrapping the "ambiguous" cases to be called by a simple, single
templated function.
2022-03-23 06:33:41 -06:00
Kenneth Moreland
f4de1d8ee2 Compile instantiations of the gradient filter
When the gradient filter was moved over to the new filter structure, it
lost its instantiations. This is a problem because the gradient filter,
which compresses a lot of the code into single worklet calls for
efficiency, is one of the longest to compile filters.

This commit restores the instantiations with the updated instantiation
functionality. This breaks up the code into many translation units that
can be compiled simultaneously and thus not hold up the entire compile
on one process.
2022-03-23 06:33:41 -06:00
Kenneth Moreland
6eb9c9876c Add generalized instantiation
Recently, an instantiation method was added to the VTK-m configuration
files to set up a set of source files that compile instances of a template.
This allows the template instances to be compiled exactly once in separate
build files.

However, the implementation made the assumption that the instantiations
were happening for VTK-m filters. Now that the VTK-m filters are being
redesigned, this assumption is broken.

Thus, the instantiation code has been redesigned to be more general. It can
now be applied to code within the new filter structure. It can also be
applied anywhere else in the VTK-m source code.
2022-03-23 06:33:36 -06:00
Kenneth Moreland
b544b8e09f Fix point merge for Marching Cubes with multiple isosurfaces
When the Marching Cubes algorithm merges points together for multiple
isosurfaces, it uses an ArrayHandleZip to combine the isosurface id and
the edge identification. This is to prevent merging points from
different isosurfaces. However, internally this has to do an array copy.

It was doing this copy with `ArrayCopy`. A recent change to that method
made the copy fail for `ArrayHandleZip`. The fix is to change to
`ArrayCopyDevice`.

The reason why this bug was introduced was because there was no test
case for this specific use. A regression test has been updated to test
for this case.
2022-03-21 11:44:36 -06:00
Kenneth Moreland
e1e3d4af2f Merge topic 'scoped-enum-cell-classification'
5d90102f1 Remove deprecated use of vtkm::CellClassification
ccef4d2db Fix scoping of vtkm::CellClassification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2737
2022-03-21 12:40:05 -04:00