void move_killed_elements_out_of_parts(stk::mesh::BulkData& bulkData, const stk::mesh::EntityVector& killedElements, const stk::mesh::PartVector& removeParts) { std::vector<stk::mesh::PartVector> add_parts(killedElements.size()); std::vector<stk::mesh::PartVector> rm_parts(killedElements.size()); for (size_t j=0;j<killedElements.size();++j) { rm_parts[j] = removeParts; } bulkData.batch_change_entity_parts(killedElements, add_parts, rm_parts); }
void put_mesh_into_part(stk::mesh::BulkData& bulkData, stk::mesh::Part& part) { stk::mesh::EntityVector entitiesToMakeActive; std::vector<stk::mesh::PartVector> add_parts; std::vector<stk::mesh::PartVector> rm_parts; for(stk::topology::rank_t rank=stk::topology::BEGIN_RANK; rank < bulkData.mesh_meta_data().entity_rank_count(); rank++) { const stk::mesh::BucketVector &buckets = bulkData.get_buckets(rank, bulkData.mesh_meta_data().locally_owned_part()); for(const stk::mesh::Bucket *bucket : buckets) { for(stk::mesh::Entity entity : *bucket) { entitiesToMakeActive.push_back(entity); add_parts.push_back(stk::mesh::PartVector(1, &part)); rm_parts.push_back(stk::mesh::PartVector()); } } } bulkData.batch_change_entity_parts(entitiesToMakeActive, add_parts, rm_parts); }