41 for (
const auto & node_id : range)
45 const Node * closest_node = NULL;
46 Real closest_distance = std::numeric_limits<Real>::max();
48 const std::vector<dof_id_type> & neighbor_nodes =
_neighbor_nodes[node_id];
50 unsigned int n_neighbor_nodes = neighbor_nodes.size();
52 for (
unsigned int k = 0; k < n_neighbor_nodes; k++)
54 const Node * cur_node = &
_mesh.
nodeRef(neighbor_nodes[k]);
55 Real
distance = ((*cur_node) - node).norm();
59 Real patch_percentage =
static_cast<Real
>(k) /
static_cast<Real
>(n_neighbor_nodes);
66 closest_node = cur_node;
70 if (closest_distance == std::numeric_limits<Real>::max())
72 for (
unsigned int k = 0; k < n_neighbor_nodes; k++)
74 const Node * cur_node = &
_mesh.
nodeRef(neighbor_nodes[k]);
75 if (std::isnan((*cur_node)(0)) || std::isinf((*cur_node)(0)) ||
76 std::isnan((*cur_node)(1)) || std::isinf((*cur_node)(1)) ||
77 std::isnan((*cur_node)(2)) || std::isinf((*cur_node)(2)))
79 "Failure in NearestNodeThread because solution contains inf or not-a-number "
80 "entries. This is likely due to a failed factorization of the Jacobian "
88 info._nearest_node = closest_node;
89 info._distance = closest_distance;
Real distance(const Point &p)