diff --git a/src/mesh/MeshSmoother.cpp b/src/mesh/MeshSmoother.cpp index 8d81332b797a5825c420b530c85eacc402bb3129..5895feb58b3d2f3eec97a2ae06bbb5840c3f6b78 100644 --- a/src/mesh/MeshSmoother.cpp +++ b/src/mesh/MeshSmoother.cpp @@ -172,11 +172,11 @@ class MeshSmootherHandler::MeshSmoother parallel_for( m_given_mesh.numberOfNodes(), PUGS_LAMBDA(const NodeId node_id) { const auto& node_cell_list = node_to_cell_matrix[node_id]; + Rd mean_position(zero); + size_t number_of_neighbours = 0; for (size_t i_cell = 0; i_cell < node_cell_list.size(); ++i_cell) { const size_t i_cell_node = node_number_in_their_cells(node_id, i_cell); - Rd mean_position(zero); - size_t number_of_neighbours = 0; const CellId cell_id = node_cell_list[i_cell]; const auto& cell_node_list = cell_to_node_matrix[cell_id]; @@ -185,11 +185,16 @@ class MeshSmootherHandler::MeshSmoother const NodeId cell_node_id = cell_node_list[i_node]; mean_position += given_xr[cell_node_id]; number_of_neighbours++; + // std::cout << node_id << " position " << given_xr[node_id] << " position voisin " << + // given_xr[cell_node_id] + // << " mean_position " << mean_position << "\n"; } } - mean_position = 1. / number_of_neighbours * mean_position; - shift_r[node_id] = mean_position - given_xr[node_id]; } + mean_position = 1. / number_of_neighbours * mean_position; + shift_r[node_id] = mean_position - given_xr[node_id]; + // std::cout << " mean position " << mean_position << given_xr[node_id] << "\n"; + // double nshift = sqrt(dot(shift_r[node_id], shift_r[node_id])); // if (nshift > max_delta_xr[node_id]) { // shift_r[node_id] = max_delta_xr[node_id] / nshift * shift_r[node_id];