Template Class PointLocalizationSearch

Nested Relationships

Nested Types

Inheritance Relationships

Derived Types

Class Documentation

template<int dim>
class PointLocalizationSearch

Subclassed by pcms::GridPointSearch2D, pcms::GridPointSearch3D

Public Types

using PointSearchTolerances = Kokkos::View<Real[DIM]>

Public Functions

inline explicit PointLocalizationSearch(const PointSearchTolerances &tolerances)
virtual Kokkos::View<Result*> operator()(Kokkos::View<const Real*[dim]> point) const = 0
virtual LO GetOwningElementId(const Result &result) = 0

This function provides a temporary solution to retrieve the original behavior of the point search, which previously returned the face ID regardless of which entity the search result belonged to. Many parts of the codebase still rely on this legacy behavior. After updating the point search to return the exact entity, this function can be called to retrieve the old behavior and ensure correctness. Long term, the implementation should be updated to properly handle the new result.

virtual Kokkos::View<LO*> GetOwningElementIds(Kokkos::View<const Result*> results) const = 0
virtual ~PointLocalizationSearch() = default

Public Static Attributes

static constexpr auto DIM = dim

Protected Attributes

PointSearchTolerances tolerances_
struct Result

Public Types

enum class Dimensionality

Values:

enumerator VERTEX
enumerator EDGE
enumerator FACE
enumerator REGION
enumerator NO_INTERSECT

Public Functions

inline constexpr bool IsOutside() const

True when the point was not located inside any entity.

inline constexpr LO EntityId() const

Id of the entity of dimension dimensionality: the containing entity of a located point, the nearest entity of an outside point, or -1 for NO_INTERSECT.

Public Members

Dimensionality dimensionality
LO element_id
Omega_h::Vector<dim + 1> parametric_coords

Public Static Functions

static inline constexpr LO OutsideId(LO id)

element_id of a point outside the mesh whose nearest entity is id.