.. ############################################################################ .. # Copyright (c) Lawrence Livermore National Security, LLC and other Ascent .. # Project developers. See top-level LICENSE AND COPYRIGHT files for dates and .. # other details. No copyright assignment is required to contribute to Ascent. .. ############################################################################ .. _feature_map: Ascent Feature Map ==================== These tables provides an inventory of Ascent's features and the programming and data APIs that underpin them. `Ascent Devil Ray Features `_ .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - Devil Ray Pseudocolor - Extract (Rendered Result) - RAJA + MPI - Devil Ray API + MFEM - `DRayPseudocolor `_ * - Devil Ray 3 Slice - Extract (Rendered Result) - RAJA + MPI - Devil Ray API + MFEM - `DRay3Slice `_ * - Devil Ray 3 Slice - Extract (Rendered Result) - RAJA + MPI - Devil Ray API + MFEM - `DRayVolume `_ * - Devil Ray Project 2D - Transform - RAJA + MPI - Devil Ray API + MFEM - `DRayProject2d `_ * - Devil Ray Project Colors 2D - Transform - RAJA + MPI - Devil Ray API + MFEM - `DRayProjectColors2d `_ * - Devil Ray Reflect - Transform - RAJA + MPI - Devil Ray API + MFEM - `DRayReflect `_ * - Devil Ray Vector Component - Transform - RAJA + MPI - Devil Ray API + MFEM - `DRayVectorComponent `_ `Ascent VTK-h Features `_ .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - VTK-h Clip - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHClip `_ * - VTK-h Clip with Field - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHClipWithField `_ * - VTK-h Isovolume - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHIsoVolume `_ * - VTK-h Lagrangian - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHLagrangian `_ * - VTK-h Log - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHLog `_ * - VTK-h Recenter - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHRecenter `_ * - VTK-h Hist Sampling - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHHistSampling `_ * - VTK-h Q Criterion - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHQCriterion `_ * - VTK-h Divergence - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHDivergence `_ * - VTK-h Vorticity - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHVorticity `_ * - VTK-h Gradient - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHGradient `_ * - VTK-h No Op - Transform - None - VTK-h and VTK-m APIs - `VTKHNoOp `_ * - VTK-h Vector Component - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHVectorComponent `_ * - VTK-h Composite Vector - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHCompositeVector `_ * - VTK-h Statistics - Extract - VTK-m (OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHStats `_ * - VTK-h Histogram - Extract - VTK-m (OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHHistogram `_ * - VTK-h Project 2D - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHProject2D `_ * - VTK-h Clean Grid - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHCleanGrid `_ * - VTK-h Scale - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHScale `_ * - VTK-h Triangulate - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHTriangulate `_ * - VTK-h Particle Advection - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHParticleAdvection `_ * - VTK-h Streamline - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHStreamline `_ * - VTK-h Contour - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHMarchingCubes `_ * - VTK-h Vector Magnitude - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHVectorMagnitude `_ * - VTK-h Slice - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHSlice `_ * - VTK-h 3 Slice - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKH3Slice `_ * - VTK-h Threshold - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHThreshold `_ * - VTK-h Ghost Stripper - Transform - VTK-m (Serial, OpenMP, Cuda, Kokkos) - VTK-h and VTK-m APIs - `VTKHGhostStripper `_ * - VTK-h Mesh Renderer - Extract - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHMeshRenderer `_ * - VTK-h Volume Renderer - Extract - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHVolumeRenderer `_ * - VTK-h Scalar Renderer - Extract - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHScalarRenderer `_ * - VTK-h Point Renderer - Extract - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHPointRenderer `_ * - VTK-h Line Renderer - Extract - VTK-m (Serial, OpenMP, Cuda, Kokkos) + MPI - VTK-h and VTK-m APIs - `VTKHLineRenderer `_ `Ascent Expressions `_ .. Expression Lang Primitives .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Expression Language Primitives .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - Identifier - Expression Language Primitive - C++ - Conduit Node - `Identifier `_ * - Double - Expression Language Primitive - C++ - Conduit Node - `Double `_ * - Integer - Expression Language Primitive - C++ - Conduit Node - `Integer `_ * - String - Expression Language Primitive - C++ - Conduit Node - `String `_ * - Boolean - Expression Language Primitive - C++ - Conduit Node - `Boolean `_ * - Vector - Expression Language Primitive - C++ - Conduit Node - `Vector `_ * - Null - Expression Language Primitive - C++ - Conduit Node - `NullArg `_ * - Nan - Expression Language Primitive - C++ - Conduit Node - `Nan `_ .. Expression Lang Operations .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Expression Language Operations .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - If Conditional - Expression Language Operation - C++ - Conduit Node - `IfExpr `_ * - Binary Operation - Expression Language Operation - C++ - Conduit Node - `BinaryOp `_ * - Dot Access - Expression Language Operation - C++ - Conduit Node - `DotAccessor `_ * - Array Access - Expression Language Operation - C++ - Conduit Node - `ArrayAccess `_ .. History .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); History Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `history` - Expression Language Operation - C++ - Conduit Node - `History `_ * - `history_range` - Expression Language Operation - C++ - Conduit Node - `HistoryRange `_ * - `scalar_gradient` - Expression Language Operation - C++ - Conduit Node - `ScalarGradient `_ * - `gradient_range` - Expression Language Operation - C++ - Conduit Node - `ArrayGradient `_ .. Basic Math .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Math Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `abs` - Expression Language Operation - C++ - Conduit Node - `Abs `_ * - `exp` - Expression Language Operation - C++ - Conduit Node - `Exp `_ * - `pow` - Expression Language Operation - C++ - Conduit Node - `Pow `_ * - `log` - Expression Language Operation - C++ - Conduit Node - `Log `_ * - `max` - Expression Language Operation - C++ - Conduit Node - `ScalarMax `_ * - `min` - Expression Language Operation - C++ - Conduit Node - `ScalarMin `_ .. Vector Exprs .. flow::Workspace::register_filter_type(); Vector Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `magnitude` - Expression Language Operation - C++ - Conduit Node - `Magnitude `_ .. Array Exprs .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Array Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `array_max` - Expression Language Operation - C++ - Conduit Node - `ArrayMax `_ * - `array_min` - Expression Language Operation - C++ - Conduit Node - `ArrayMin `_ * - `array_avg` - Expression Language Operation - C++ - Conduit Node - `ArraySum `_ * - `array_sum` - Expression Language Operation - C++ - Conduit Node - `ArraySum `_ * - `replace` - Expression Language Operation - C++ - Conduit Node - `Replace `_ * - `replace` - Expression Language Operation - C++ - Conduit Node - `Replace `_ .. Array Statistics .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Array Statistics Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `histogram` - Expression Language Operation - C++ - Conduit Node - `Histogram `_ * - `entropy` - Expression Language Operation - C++ - Conduit Node - `Entropy `_ * - `pdf` - Expression Language Operation - C++ - Conduit Node - `Pdf `_ * - `cdf` - Expression Language Operation - C++ - Conduit Node - `Cdf `_ * - `quantile` - Expression Language Operation - C++ - Conduit Node - `Quantile `_ .. Mesh .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Mesh Aware Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `cycle` - Expression Language Operation - C++ - Conduit Node - `Cycle `_ * - `time` - Expression Language Operation - C++ - Conduit Node - `Time `_ * - `topo` - Expression Language Operation - C++ - Conduit Node - `Topo `_ * - `field` - Expression Language Operation - C++ - Conduit Node - `Field `_ * - `lineout` - Expression Language Operation - C++ - Conduit Node - `Lineout `_ * - `bounds` - Expression Language Operation - C++ - Conduit Node - `Bounds `_ * - `field_max` - Expression Language Operation - C++ - Conduit Node - `FieldMax `_ * - `field_min` - Expression Language Operation - C++ - Conduit Node - `FieldMin `_ * - `field_avg` - Expression Language Operation - C++ - Conduit Node - `FieldAvg `_ * - `field_sum` - Expression Language Operation - C++ - Conduit Node - `FieldSum `_ * - `field_nan_count` - Expression Language Operation - C++ - Conduit Node - `FieldNanCount `_ * - `field_inf_count` - Expression Language Operation - C++ - Conduit Node - `FieldInfCount `_ .. Binning .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); .. flow::Workspace::register_filter_type(); Binning Expressions .. list-table:: :header-rows: 1 * - Name - Feature Type - Programming APIs - Data APIs - Source Links * - `binning` (Mesh Binning) - Expression Language Operation - C++ - Conduit Node - `Binning `_ * - `axis` - Expression Language Operation - C++ - Conduit Node - `Axis `_ * - `bin` - Expression Language Operation - C++ - Conduit Node - `Bin `_ * - `bin_by_value` - Expression Language Operation - C++ - Conduit Node - `BinByValue `_ * - `bin_by_index` - Expression Language Operation - C++ - Conduit Node - `BinByIndex `_ * - `point_and_axis` - Expression Language Operation - C++ - Conduit Node - `PointAndAxis `_ * - `max_from_point` - Expression Language Operation - C++ - Conduit Node - `MaxFromPoint `_