11 #include <stk_mesh/fixtures/SelectorFixture.hpp> 17 SelectorFixture::~SelectorFixture() {}
19 SelectorFixture::SelectorFixture()
21 , m_bulk_data( m_meta_data , MPI_COMM_WORLD )
31 , m_fieldA(m_meta_data.declare_field<
stk_classic::mesh::Field<double> >(
"FieldA"))
32 , m_fieldABC(m_meta_data.declare_field<
stk_classic::mesh::Field<double> >(
"FieldABC"))
34 stk_classic::mesh::EntityRank ent_rank = 0;
43 void SelectorFixture::generate_mesh()
45 const unsigned entity_count = 5 ;
47 stk_classic::mesh::EntityRank ent_type = 0;
50 stk_classic::mesh::EntityId ent_id =
51 1 + entity_count * m_bulk_data.parallel_rank();
53 std::vector<stk_classic::mesh::Part*> partMembership;
56 partMembership.clear();
57 partMembership.push_back( & m_partA );
58 m_entity1 = & m_bulk_data.declare_entity(ent_type, ent_id, partMembership);
62 partMembership.clear();
63 partMembership.push_back( & m_partA );
64 partMembership.push_back( & m_partB );
65 m_entity2 = & m_bulk_data.declare_entity(ent_type, ent_id, partMembership);
69 partMembership.clear();
70 partMembership.push_back( & m_partB );
71 partMembership.push_back( & m_partC );
72 m_entity3 = & m_bulk_data.declare_entity(ent_type, ent_id, partMembership);
76 partMembership.clear();
77 partMembership.push_back( & m_partC );
78 m_entity4 = & m_bulk_data.declare_entity(ent_type, ent_id, partMembership);
82 partMembership.clear();
83 m_entity5 = & m_bulk_data.declare_entity(ent_type, ent_id, partMembership);
88 VariableSelectorFixture::~VariableSelectorFixture() {}
90 VariableSelectorFixture::VariableSelectorFixture(
int NumParts)
92 , m_BulkData( m_MetaData , MPI_COMM_WORLD )
93 , m_declared_part_vector()
96 std::string myPartName;
97 stk_classic::mesh::EntityRank myRank = 0;
99 std::string partName =
"Part_";
100 for (
int part_i=0 ; part_i<NumParts; ++part_i) {
101 std::ostringstream localPartName(partName);
102 localPartName << part_i;
104 & m_MetaData.declare_part(localPartName.str(),myRank);
105 m_declared_part_vector.push_back( part );
112 m_BulkData.modification_begin();
114 stk_classic::mesh::EntityRank ent_type = 0;
115 stk_classic::mesh::EntityId ent_id =
116 1 + NumParts * m_BulkData.parallel_rank();
118 for (
int part_i = 0 ; part_i < NumParts ; ++part_i) {
119 std::vector<stk_classic::mesh::Part*> partMembership;
120 partMembership.push_back(m_declared_part_vector[part_i]);
122 & m_BulkData.declare_entity(ent_type, ent_id, partMembership);
123 m_entities.push_back( e );
127 m_BulkData.modification_end();
field_type & put_field(field_type &field, EntityRank entity_rank, const Part &part, const void *init_value=NULL)
Declare a field to exist for a given entity type and Part.
An application-defined subset of a problem domain.
basic_string< char > string
string / wstring
A fundamental unit within the discretization of a problem domain, including but not limited to nodes...
Part & declare_part(FEMMetaData &meta_data, const std::string &name)
Declare a part with a given cell topology. This is just a convenient function that wraps FEMMetaData'...