.. _program_listing_file_src_pcms_localization_adj_search.hpp: Program Listing for File adj_search.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``src/pcms/localization/adj_search.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef PCMS_LOCALIZATION_ADJ_SEARCH_HPP #define PCMS_LOCALIZATION_ADJ_SEARCH_HPP #include #include #include #include #include #include namespace pcms { static constexpr int max_dim = 3; class FindSupports { private: Omega_h::Mesh& source_mesh; Omega_h::Mesh& target_mesh; public: FindSupports(Omega_h::Mesh& source_mesh_, Omega_h::Mesh& target_mesh_) : source_mesh(source_mesh_), target_mesh(target_mesh_){}; FindSupports(Omega_h::Mesh& mesh_) : source_mesh(mesh_), target_mesh(mesh_){}; void adjBasedSearch(Omega_h::Write& supports_ptr, Omega_h::Write& nSupports, Omega_h::Write& support_idx, Omega_h::Write& radii2, bool is_build_csr_call); void adjBasedSearchCentroidNodes(Omega_h::Write& supports_ptr, Omega_h::Write& nSupports, Omega_h::Write& support_idx, Omega_h::Write& radii2, bool is_build_csr_call); }; struct SupportResults { Omega_h::LOs supports_ptr; Omega_h::LOs supports_idx; Omega_h::Write radii2; }; SupportResults searchNeighbors(Omega_h::Mesh& source_mesh, const Omega_h::Reals& target_coords, Omega_h::LO n_targets, Omega_h::Real& cutoffDistance, Omega_h::LO min_req_support = 12, Omega_h::LO max_allowed_support = 36, bool adapt_radius = true); SupportResults searchNeighbors(Omega_h::Mesh& source_mesh, Omega_h::Mesh& target_mesh, Omega_h::Real& cutoffDistance, Omega_h::LO min_req_support = 12, Omega_h::LO max_allowed_support = 36, bool adapt_radius = true); SupportResults searchNeighbors(Omega_h::Mesh& mesh, Omega_h::Real cutoffDistance, Omega_h::LO min_support = 12, bool adapt_radius = true); } // namespace pcms #endif // PCMS_LOCALIZATION_ADJ_SEARCH_HPP