9 #include <stk_util/unit_test_support/stk_utest_macros.hpp>
10 #include <stk_mesh/fixtures/HexFixture.hpp>
11 #include <stk_mesh/base/FieldData.hpp>
13 #include <boost/foreach.hpp>
16 STKUNIT_UNIT_TEST( UnitTestChangeEntityId, change_id )
18 using namespace stk_classic::mesh;
20 const unsigned NX = 50;
21 const unsigned NY = 50;
22 const unsigned NZ = 50;
23 const unsigned num_elems = NX * NY * NZ;
27 Field<int> & simple_nodal_field = hf.m_fem_meta.declare_field<
Field<int> >(
"simple_nodal_field");
30 fem::FEMMetaData::NODE_RANK,
36 hf.m_fem_meta.commit();
44 const BucketVector & nodes = mesh.
buckets(fem::FEMMetaData::NODE_RANK);
46 BOOST_FOREACH(
Bucket * b, nodes) {
48 for (
int i =0; i<nodal_field.size(); ++i) {
54 const BucketVector & elems = mesh.
buckets(hf.m_fem_meta.element_rank());
56 std::vector<EntityId> old_ids;
57 old_ids.reserve(num_elems);
58 BOOST_FOREACH(
Bucket * b, elems) {
59 for (
size_t i =0; i<b->
size(); ++i) {
62 mesh.change_entity_id( e.
identifier()+num_elems, e);
71 std::vector<EntityId> new_ids_minus_num_elems;
72 new_ids_minus_num_elems.reserve(num_elems);
73 BOOST_FOREACH(
Bucket * b, elems) {
74 for (
size_t i =0; i<b->
size(); ++i) {
76 new_ids_minus_num_elems.push_back(e.
identifier()-num_elems);
80 STKUNIT_EXPECT_TRUE(old_ids == new_ids_minus_num_elems);
82 BOOST_FOREACH(
Bucket * b, nodes) {
84 for (
int i =0; i<nodal_field.size(); ++i) {
85 STKUNIT_EXPECT_TRUE( nodal_field[i] == 1);