VTK-m
2.0
|
VTK-m Execution Environment. More...
Namespaces | |
arg | |
cuda | |
CUDA implementation for Execution Environment. | |
kokkos | |
openmp | |
CUDA implementation for Execution Environment. | |
serial | |
CUDA implementation for Execution Environment. | |
tbb | |
TBB implementation for Execution Environment. | |
twolevelgrid | |
Classes | |
class | AtomicArrayExecutionObject |
struct | BoundaryState |
Provides a neighborhood's placement with respect to the mesh's boundary. More... | |
class | CellInterpolationHelper |
class | CellLocatorBoundingIntervalHierarchy |
struct | CellLocatorBoundingIntervalHierarchyNode |
class | CellLocatorMultiplexer |
class | CellLocatorPartitioned |
class | CellLocatorRectilinearGrid |
class | CellLocatorTwoLevel |
class | CellLocatorUniformBins |
class | CellLocatorUniformGrid |
class | ColorTable |
class | ConnectivityExplicit |
class | ConnectivityExtrude |
class | ConnectivityPermutedVisitCellsWithPoints |
class | ConnectivityPermutedVisitPointsWithCells |
class | ConnectivityStructured |
struct | FieldNeighborhood |
Retrieves field values from a neighborhood. More... | |
struct | FieldNeighborhood< vtkm::internal::ArrayPortalUniformPointCoordinates > |
Specialization of Neighborhood for ArrayPortalUniformPointCoordinates We can use fast paths inside ArrayPortalUniformPointCoordinates to allow for very fast computation of the coordinates reachable by the neighborhood. | |
class | FunctorBase |
Base class for all user worklets invoked in the execution environment from a call to vtkm::cont::DeviceAdapterAlgorithm::Schedule. More... | |
struct | GradientOutput |
struct | GradientOutput< vtkm::Vec3f_32 > |
struct | GradientOutput< vtkm::Vec3f_64 > |
struct | GradientScalarOutput |
struct | GradientScalarOutputExecutionObject |
struct | GradientVecOutput |
struct | GradientVecOutputExecutionObject |
struct | IndicesExtrude |
class | PointLocatorSparseGrid |
class | ReverseConnectivityExtrude |
struct | ReverseIndicesExtrude |
class | TaskBase |
Base class for all classes that are used to marshal data from the invocation parameters to the user worklets when invoked in the execution environment. More... | |
Functions | |
template<typename FieldVecType , typename WorldCoordType , typename ParametricCoordType , typename CellShapeTag > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &field, const WorldCoordType &wCoords, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, CellShapeTag shape, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
template<typename FieldVecType , typename WorldCoordType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &, const WorldCoordType &, const vtkm::Vec< ParametricCoordType, 3 > &, vtkm::CellShapeTagEmpty, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
template<typename FieldVecType , typename WorldCoordType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &field, const WorldCoordType &wCoords, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagPolyLine, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
template<typename FieldVecType , typename WorldCoordType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &field, const WorldCoordType &wCoords, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagPolygon, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
template<typename FieldVecType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &field, const vtkm::VecAxisAlignedPointCoordinates< 2 > &wCoords, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagQuad, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
template<typename FieldVecType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &field, const vtkm::VecAxisAlignedPointCoordinates< 3 > &wCoords, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagHexahedron, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
template<typename FieldVecType , typename WorldCoordType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellDerivative (const FieldVecType &pointFieldValues, const WorldCoordType &worldCoordinateValues, const vtkm::Vec< ParametricCoordType, 3 > ¶metricCoords, vtkm::CellShapeTagGeneric shape, vtkm::Vec< typename FieldVecType::ComponentType, 3 > &result) |
Take the derivative (get the gradient) of a point field in a cell. More... | |
template<typename FieldVecType , typename ParametricCoordType , typename CellShapeTag > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const FieldVecType &pointFieldValues, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, CellShapeTag tag, typename FieldVecType::ComponentType &result) |
template<typename FieldVecType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const FieldVecType &, const vtkm::Vec< ParametricCoordType, 3 > &, vtkm::CellShapeTagEmpty, typename FieldVecType::ComponentType &result) |
template<typename FieldVecType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const FieldVecType &field, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagPolyLine, typename FieldVecType::ComponentType &result) |
template<typename FieldVecType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const FieldVecType &field, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagPolygon, typename FieldVecType::ComponentType &result) |
template<typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const vtkm::VecAxisAlignedPointCoordinates< 2 > &field, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagQuad, vtkm::Vec3f &result) |
template<typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const vtkm::VecAxisAlignedPointCoordinates< 3 > &field, const vtkm::Vec< ParametricCoordType, 3 > &pcoords, vtkm::CellShapeTagHexahedron, vtkm::Vec3f &result) |
template<typename FieldVecType , typename ParametricCoordType > | |
VTKM_EXEC vtkm::ErrorCode | CellInterpolate (const FieldVecType &pointFieldValues, const vtkm::Vec< ParametricCoordType, 3 > ¶metricCoords, vtkm::CellShapeTagGeneric shape, typename FieldVecType::ComponentType &result) |
Interpolate a point field in a cell. More... | |
template<typename OutType , typename PointCoordVecType , typename CellShapeType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, CellShapeType shape, vtkm::ErrorCode &) |
By default, cells have zero measure unless this template is specialized below. More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagLine, vtkm::ErrorCode &ec) |
Compute the arc length of a poly-line cell. More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagTriangle, vtkm::ErrorCode &ec) |
Compute the area of a triangular cell. More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagQuad, vtkm::ErrorCode &ec) |
Compute the area of a quadrilateral cell. More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | ComputeMeasure (const vtkm::IdComponent &, const PointCoordVecType &, vtkm::CellShapeTagPolygon, vtkm::ErrorCode &ec) |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagTetra, vtkm::ErrorCode &ec) |
Compute the volume of a tetrahedron. More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagHexahedron, vtkm::ErrorCode &ec) |
Compute the volume of a hexahedral cell (approximated via triple product of average edge along each parametric axis). More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagWedge, vtkm::ErrorCode &ec) |
Compute the volume of a wedge cell (approximated as 3 tetrahedra). More... | |
template<typename OutType , typename PointCoordVecType > | |
VTKM_EXEC OutType | CellMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, vtkm::CellShapeTagPyramid, vtkm::ErrorCode &ec) |
Compute the volume of a pyramid (approximated as 2 tetrahedra) More... | |
VTK-m Execution Environment.
vtkm::exec defines the publicly accessible API for the VTK-m Execution Environment. Worklets typically use classes/apis defined within this namespace alone.
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | , |
const WorldCoordType & | , | ||
const vtkm::Vec< ParametricCoordType, 3 > & | , | ||
vtkm::CellShapeTagEmpty | , | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | field, |
const vtkm::VecAxisAlignedPointCoordinates< 2 > & | wCoords, | ||
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagQuad | , | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | field, |
const vtkm::VecAxisAlignedPointCoordinates< 3 > & | wCoords, | ||
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagHexahedron | , | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | field, |
const WorldCoordType & | wCoords, | ||
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
CellShapeTag | shape, | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | field, |
const WorldCoordType & | wCoords, | ||
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagPolygon | , | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | field, |
const WorldCoordType & | wCoords, | ||
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagPolyLine | , | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellDerivative | ( | const FieldVecType & | pointFieldValues, |
const WorldCoordType & | worldCoordinateValues, | ||
const vtkm::Vec< ParametricCoordType, 3 > & | parametricCoords, | ||
vtkm::CellShapeTagGeneric | shape, | ||
vtkm::Vec< typename FieldVecType::ComponentType, 3 > & | result | ||
) |
Take the derivative (get the gradient) of a point field in a cell.
Given the point field values for each node and the parametric coordinates of a point within the cell, finds the derivative with respect to each coordinate (i.e. the gradient) at that point. The derivative is not always constant in some "linear" cells.
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const FieldVecType & | , |
const vtkm::Vec< ParametricCoordType, 3 > & | , | ||
vtkm::CellShapeTagEmpty | , | ||
typename FieldVecType::ComponentType & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const FieldVecType & | field, |
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagPolygon | , | ||
typename FieldVecType::ComponentType & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const FieldVecType & | field, |
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagPolyLine | , | ||
typename FieldVecType::ComponentType & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const FieldVecType & | pointFieldValues, |
const vtkm::Vec< ParametricCoordType, 3 > & | parametricCoords, | ||
vtkm::CellShapeTagGeneric | shape, | ||
typename FieldVecType::ComponentType & | result | ||
) |
Interpolate a point field in a cell.
Given the point field values for each node and the parametric coordinates of a point within the cell, interpolates the field to that point.
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const FieldVecType & | pointFieldValues, |
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
CellShapeTag | tag, | ||
typename FieldVecType::ComponentType & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const vtkm::VecAxisAlignedPointCoordinates< 2 > & | field, |
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagQuad | , | ||
vtkm::Vec3f & | result | ||
) |
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellInterpolate | ( | const vtkm::VecAxisAlignedPointCoordinates< 3 > & | field, |
const vtkm::Vec< ParametricCoordType, 3 > & | pcoords, | ||
vtkm::CellShapeTagHexahedron | , | ||
vtkm::Vec3f & | result | ||
) |
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
CellShapeType | shape, | ||
vtkm::ErrorCode & | |||
) |
By default, cells have zero measure unless this template is specialized below.
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagHexahedron | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the volume of a hexahedral cell (approximated via triple product of average edge along each parametric axis).
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagLine | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the arc length of a poly-line cell.
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagPyramid | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the volume of a pyramid (approximated as 2 tetrahedra)
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagQuad | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the area of a quadrilateral cell.
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagTetra | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the volume of a tetrahedron.
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagTriangle | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the area of a triangular cell.
VTKM_EXEC OutType vtkm::exec::CellMeasure | ( | const vtkm::IdComponent & | numPts, |
const PointCoordVecType & | pts, | ||
vtkm::CellShapeTagWedge | , | ||
vtkm::ErrorCode & | ec | ||
) |
Compute the volume of a wedge cell (approximated as 3 tetrahedra).
VTKM_EXEC OutType vtkm::exec::ComputeMeasure | ( | const vtkm::IdComponent & | , |
const PointCoordVecType & | , | ||
vtkm::CellShapeTagPolygon | , | ||
vtkm::ErrorCode & | ec | ||
) |