Template Class PointEvaluator

Inheritance Relationships

Derived Types

Class Documentation

template<typename T, typename LayoutPolicy = detail::default_layout_for_memory_space_t<DeviceMemorySpace>>
class PointEvaluator

Subclassed by pcms::MLSPointEvaluator< LayoutPolicy >, pcms::MeshFieldsPointEvaluator< T, LayoutPolicy >, pcms::OmegaHLagrangePointEvaluator< T, LayoutPolicy >, pcms::TransformedPointEvaluator< T >, pcms::UniformGridPointEvaluator< Dim, LayoutPolicy >, pcms::UniformGridSplinePointEvaluator2D< LayoutPolicy >

Public Functions

inline void Evaluate(const Field<T> &field, ValueView<T, DeviceMemorySpace, LayoutPolicy> values) const

Writes the field’s values at the query points into values.

Throws:
  • std::invalid_argument – if values is not shaped [NumPoints()][number of components of the field]

  • pcms_error – if values does not claim the basis this evaluator writes for the field

virtual LO NumPoints() const = 0

Number of query points, fixed at construction.

inline virtual ValueBasis OutputBasis(const ValueBasis &stored) const

Value basis this evaluator writes for a field stored in stored.

virtual Kokkos::View<const LO*, DeviceMemorySpace> FilledPoints() const = 0

Query points whose output rows Evaluate sets to the out-of-bounds fill value rather than to field values; empty unless the evaluator was created with OutOfBoundsMode::FILL. Fixed at construction.

virtual ~PointEvaluator() noexcept = default

Protected Functions

virtual void EvaluateImpl(const Field<T> &field, ValueView<T, DeviceMemorySpace, LayoutPolicy> values) const = 0

Evaluate after its checks: values is shaped and tagged correctly.