Commit Graph

123 Commits

Author SHA1 Message Date
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Robert Maynard
eed321aad0 Update vtkm/worklet to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
fcced13475 Correct maybe-uninitialized warnings found from examples 2018-12-27 10:10:36 -05:00
Robert Maynard
57236e0f6e particleadvection was missing ::template causing VS2015 failures 2018-10-17 10:53:19 -04:00
Kenneth Moreland
bddad9b386 Remove TryExecute from filters
Now that the dispatcher does its own TryExecute, filters do not need to
do that. This change requires all worklets called by filters to be able
to execute without knowing the device a priori.
2018-10-16 15:59:53 -06:00
Kenneth Moreland
723792a482 Use new integrators and evaluators for advection 2018-10-16 09:53:18 -06:00
Kenneth Moreland
d49c29cef9 Make particle advection integrators and evaluators ExecObject
By making these helper classes ExecObject, they no longer need to have a
device to be constructed. This is important for future plans to make the
filters not determine a device adapter now that dispatchers no longer
require a device adapter.
2018-10-16 09:53:18 -06:00
Kenneth Moreland
a2602183a4 Make integrators have a virtual superclass
This will make it easier to support integrators as an ExecObject.

One side effect is that the integrators and partical advection
are not templated by the type of the field.
Regardless of the type of the field, there is probably little reason to
compute particle advection with less than 64 bit floats to account for
accumulated errors. This will make it easier to use these classes.
2018-10-16 09:53:18 -06:00
Kenneth Moreland
d879188de0 Make DispatcherBase invoke using a TryExecute
Rather than force all dispatchers to be templated on a device adapter,
instead use a TryExecute internally within the invoke to select a device
adapter.

Because this removes the need to declare a device when invoking a
worklet, this commit also removes the need to declare a device in
several other areas of the code.
2018-08-29 19:18:54 -07:00
luz.paz
940c891886 Misc. typos
Found via `codespell` and `grep`
more typos

includes source typo change and a typo that needs further review
follow-up typos


Follow-up typos


Revert a commit
2018-06-14 16:49:11 -04:00
Robert Maynard
e3eca82c0f This host/device integrator constructors need to suppress warnings
Otherwise the emit false positive warnings about calling host methods
from device code.
2018-05-31 09:24:01 -04:00
Allison Vacanti
93506d25e2 Change function signatures to use 'using' aliases.
Also cleaned up some lingering type typedefs.
2018-05-25 17:18:41 -04:00
ayenpure
7188c6ef63 Removing bad whitespace from TemporalGridEvaluators.h 2018-05-16 11:30:27 -07:00
ayenpure
bc40536639 Fixing header guard warning 2018-05-15 17:55:30 -07:00
ayenpure
b39ee80b70 Fix errors missed/introduced in previous commit.
- Missed a ',' to seperate template argument in GridEvaluator
- Adding initialization of params to Integrators for RK4
- Fixing ExecutionBaseObject changes for Particles
2018-05-15 17:45:04 -07:00
ayenpure
24dd063810 Fixing merge mess for particle advection
Adding Utkarsh's changes from 86bd81de to Rectilinear grid as well
 - To make rectilinear grids work with any storage type

Adding Rob's changes from 7d6fe568 to the RK4Integrator
 - Previously the RK4Integrator could compute velocity with uninitialized inputs.

Adding Rob's changes from a6bf830f to ParticleAdvection
 - Previous ParticleAdvection would dispatch some of the worklets on the default device adapter
   and not the explicitly requested device adapter

Adding Ken's change from 0753131a
 - For supporting all the previous merge conflicts with the new ExecutionObjectBase change.
2018-05-15 11:35:29 -07:00
ayenpure
78118a840f Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection 2018-05-07 11:00:52 -07:00
ayenpure
129e320d54 Replicating Rob's changes from the master
Replicating Rob's changes from the MR 'Worklets obey device adapter' #1179
for worklets to obey device adapter in particle advection.
2018-05-07 10:48:26 -07:00
Robert Maynard
a6bf830f5f ParticleAdvection run method now obeys the passed in device adapter
Previous ParticleAdvection would dispatch some of the worklets
on the default device adapter and not the explicitly requested
device adapter
2018-05-04 15:12:49 -04:00
Matthew Letter
5d1e8cccb4 corrected logical error in texture2d and cleaned up particles.h
cleaned up a logic error texture2d and cleaned how the constructor for execution object was being called. Also, went and cleaned up how the execution object was being created for particle to align it with the same method for creating the execution object.
2018-05-03 14:45:22 -06:00
Matthew Letter
7cb2421edf moved a function out of the execution environment
The factory should not eb being called from the execution environment.
2018-05-03 14:45:22 -06:00
Matthew Letter
35085442b4 cleaning up compilation warings in particles.h 2018-05-03 14:45:22 -06:00
Matthew Letter
b016d5eeaa fixed the compiler errors for particle and particle advection worklet
there was an error involving const and prepareforinput between the particle's const prepareforexecution function and array handle prepareforinput.
2018-05-03 14:45:22 -06:00
Matthew Letter
b693d8bed5 removed particle abstraction
removed the abstraction of particle and stateparticle so they are not inheriting each other
2018-05-03 14:45:22 -06:00
Matthew Letter
d3fde1f870 creating a execution object facotry for particles
abstracted out particles into an execution object and a factory that populates said execution object based on its state. removed the facotries dependance on a device adaptor.
2018-05-03 14:45:22 -06:00
Matthew Letter
af250acbfc added PrepareForExecution to compile code base
added prepare for execution function to all the execution object factories that did not have it implemented to compile the code base
2018-05-03 14:45:22 -06:00
Matthew Letter
7e5a55881b changes typechecks for execution objects
In order to make the change from the current way execution obejcts are utilized to the new proposed executionObjectFactory process type checks now has to look for the new execution object factory class to check against.
2018-05-03 14:45:21 -06:00
ayenpure
40fe133d88 Fix compile warnings for Temporal Advection 2018-05-02 13:49:16 -07:00
ayenpure
5a843600dd Adding missing copyright information.
Adding copyright information to TemporalGridEvaluator which was missing earlier.
2018-04-23 17:05:11 -07:00
ayenpure
2d6d261b61 Fixing template errors for portability
Fixing template errors in integrators.
The code used to build locally, but fail on Kitware test machines.
Fixing templates as they were before any temporal advection changes.
2018-04-23 16:36:51 -07:00
ayenpure
2086655615 Fix CUDA failure in temporal particle advection
- Replacing the pure virtual method with CRTP
2018-04-22 23:46:08 -07:00
ayenpure
3134fef54b Bug fixes out of Particle Advection unit test
- PushOutOfDomain would loop over without exiting indefinately utilizing all max steps.
  It's supposed to execute only once the particle goes out of spatio-temporal boundary.
- Removing the check for the steamlines polyline points to be same as the maxSteps from
  the unit test, as if the particle has already taken some steps, then the polyline
  points written out will always be lower than the total number of steps taken by the
  current node.
2018-04-21 20:32:42 -07:00
ayenpure
617b8668c7 Fixing memory leak in Streamlines
Fixing memory leak introduced bacause of increamenting the num
of steps in the wrong place while generating streamlines
2018-04-20 13:48:54 -07:00
ayenpure
c53d6ec216 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into pathsurfaces 2018-04-18 22:18:34 -07:00
ayenpure
4cf9942d44 Updating temporal advection example
- renaming long directory name to something concise
- Adding Dave's Unit test for particle advection
- Fixing really trivial issues
2018-04-18 22:06:40 -07:00
ayenpure
faf8c8337a Adding Temporal Advection improvements
- Adding code to support taking short steps (minimize boundary errors)
- Adding time of advection to the particle from the Integrator
- API changes for TakeStep
	- TakeStep should only care about the maximum steps as it's a field on a Particle
	- The check for out of temporal and spatial bounds has been moved to the Worklet
- Changing some of the internal APIs for supporting these new features/fixes
- Changing inheritance in the Integrators class to be more obvious than something convoluted
2018-04-18 21:01:08 -07:00
Robert Maynard
c33bf063f4 RK4Integrator now properly initializes all variables.
Previously the RK4Integrator could compute velocity with uninitialized inputs.
2018-04-17 14:24:19 -04:00
ayenpure
2230496459 Code cleansing with temporal particle advection
Bug Fixes in the UniformGridEvaluator
Added Temporal Grid Evaluator for Uniform Grid
Updated Integrator to add temporal integration
Changing the TakeStep method in Particles to only deal with max steps
ideally, particles should be unaware of spatio-temporal constrains
Updating the ParticleAdvectionWorklet file to handle out of spatio-temporal
issues.

Missing: Code to take small steps (AT_SPATIAL_BOUNDARY and AT_TEMPORAL_BOUNDARY).
2018-04-14 16:58:58 -07:00
ayenpure
2c316bc24c Adding comments to Streamlines TakeStep 2018-04-13 16:51:55 -07:00
Robert Maynard
0d45c5cff2 Correct warnings found after disabling all warning when CUDA is enabled. 2018-04-04 11:00:12 -04:00
Robert Maynard
8808b41fbd Merge branch 'master' into vtk-m-cmake_refactor 2018-03-29 22:51:26 -04:00
ayenpure
077988aeb4 Adding working temporal interpolation 2018-03-23 00:49:32 -07:00
ayenpure
8ae9c733e8 Adding temporal interpolation files 2018-03-22 18:15:39 -07:00
Utkarsh Ayachit
86bd81de3f streamline: handle different storage types for fields.
this is required now that, in theory, streaminlines filter can be
executed treating the coordinate system as the vector field.
2018-03-07 13:42:23 -05:00
Robert Maynard
e630ac5aa4 Merge branch 'master' into vtk-m-cmake_refactor 2018-02-23 14:52:00 -05:00
Robert Maynard
182f4707e7 vtkm prefers 'using' over typedef. 2018-02-23 10:47:20 -05:00
Robert Maynard
022c987182 Correct warnings and errors found with MSVC2017+CUDA9 2018-01-31 15:58:45 -05:00
Sujin Philip
b5f71644fe Add IsType to ArrayHandleVirtualCoordinates
Makes the interface compatible with DynamicArrayHandle.
2018-01-25 11:02:52 -05:00
Sujin Philip
70fcd1d1cc Update CoordinateSystem to use the Virtual Array 2018-01-10 10:19:19 -05:00
Robert Maynard
fb894f56c4 ParticleAdvection GridEvaluators now work when vtkm::FloatDefault is double 2017-10-26 10:19:54 -04:00