From 4faf299bb78c424661cc001240130713365d5305 Mon Sep 17 00:00:00 2001 From: Ilker Topcuoglu <114435459+itopcuoglu@users.noreply.github.com> Date: Mon, 15 Jul 2024 12:40:13 -0400 Subject: [PATCH] Reverting PRs #1238 and #1240. Removing the set_resolutions option has made correcting iblanks at shared nodes obsolete, so the corrections are removed. (#1269) Co-authored-by: Jon Rood --- include/overset/TiogaBlock.h | 8 +------ src/overset/TiogaBlock.C | 42 +++--------------------------------- src/overset/TiogaSTKIface.C | 15 +++---------- 3 files changed, 7 insertions(+), 58 deletions(-) diff --git a/include/overset/TiogaBlock.h b/include/overset/TiogaBlock.h index 01d5be71c..ddbed9170 100644 --- a/include/overset/TiogaBlock.h +++ b/include/overset/TiogaBlock.h @@ -183,14 +183,8 @@ class TiogaBlock /** Update iblanks after connectivity updates */ - void update_iblanks(); - /** Update fringe and hole node vectors - */ - void update_fringe_and_hole_nodes( + void update_iblanks( std::vector&, std::vector&); - /** Update the Tioga view of iblanks prior to donor-to-receptor interpolation - */ - void update_tioga_iblanks(); /** Update element iblanks after connectivity updates */ diff --git a/src/overset/TiogaBlock.C b/src/overset/TiogaBlock.C index 3f8999452..7cc2c7182 100644 --- a/src/overset/TiogaBlock.C +++ b/src/overset/TiogaBlock.C @@ -224,7 +224,9 @@ TiogaBlock::update_connectivity() } void -TiogaBlock::update_iblanks() +TiogaBlock::update_iblanks( + std::vector& holeNodes, + std::vector& fringeNodes) { sierra::nalu::ScalarIntFieldType* ibf = meta_.get_field(stk::topology::NODE_RANK, "iblank"); @@ -239,25 +241,7 @@ TiogaBlock::update_iblanks() int* ib = stk::mesh::field_data(*ibf, *b); for (size_t in = 0; in < b->size(); in++) { ib[in] = ibnode(ip++); - } - } -} -void -TiogaBlock::update_fringe_and_hole_nodes( - std::vector& holeNodes, - std::vector& fringeNodes) -{ - sierra::nalu::ScalarIntFieldType* ibf = - meta_.get_field(stk::topology::NODE_RANK, "iblank"); - - stk::mesh::Selector mesh_selector = get_node_selector(blkParts_); - const stk::mesh::BucketVector& mbkts = - bulk_.get_buckets(stk::topology::NODE_RANK, mesh_selector); - - for (auto b : mbkts) { - int* ib = stk::mesh::field_data(*ibf, *b); - for (size_t in = 0; in < b->size(); in++) { if (ib[in] == 0) { holeNodes.push_back((*b)[in]); } else if (ib[in] == -1) { @@ -267,26 +251,6 @@ TiogaBlock::update_fringe_and_hole_nodes( } } -void -TiogaBlock::update_tioga_iblanks() -{ - sierra::nalu::ScalarIntFieldType* ibf = - meta_.get_field(stk::topology::NODE_RANK, "iblank"); - - stk::mesh::Selector mesh_selector = get_node_selector(blkParts_); - const stk::mesh::BucketVector& mbkts = - bulk_.get_buckets(stk::topology::NODE_RANK, mesh_selector); - - auto& ibnode = bdata_.iblank_.h_view; - int ip = 0; - for (auto b : mbkts) { - int* ib = stk::mesh::field_data(*ibf, *b); - for (size_t in = 0; in < b->size(); in++) { - ibnode(ip++) = ib[in]; - } - } -} - void TiogaBlock::update_iblank_cell() { diff --git a/src/overset/TiogaSTKIface.C b/src/overset/TiogaSTKIface.C index 5f65f53ab..fac0ffe85 100644 --- a/src/overset/TiogaSTKIface.C +++ b/src/overset/TiogaSTKIface.C @@ -160,7 +160,8 @@ TiogaSTKIface::post_connectivity_work(const bool isDecoupled) { for (auto& tb : blocks_) { // Update IBLANK information at nodes and elements - tb->update_iblanks(); + tb->update_iblanks( + oversetManager_.holeNodes_, oversetManager_.fringeNodes_); tb->update_iblank_cell(); // For each block determine donor elements that needs to be ghosted to other @@ -173,17 +174,7 @@ TiogaSTKIface::post_connectivity_work(const bool isDecoupled) sierra::nalu::ScalarIntFieldType* ibf = meta_.get_field(stk::topology::NODE_RANK, "iblank"); std::vector pvec{ibf}; - stk::mesh::parallel_min(bulk_, {ibf}); - - for (auto& tb : blocks_) { - // Call update_iblanks again to assign holeNodes and fringeNodes vectors - // after iblanks on shared nodes are corrected - tb->update_fringe_and_hole_nodes( - oversetManager_.holeNodes_, oversetManager_.fringeNodes_); - // Return the corrected iblank field to Tioga prior to donor-to-receptor - // interpolation - tb->update_tioga_iblanks(); - } + stk::mesh::copy_owned_to_shared(bulk_, pvec); post_connectivity_sync();