57 std::vector<std::string> var_names;
58 std::vector<std::set<boundary_id_type>> side_ids;
59 std::vector<std::map<BoundaryInfo::BCTuple, Real>> bc_vals;
64 std::vector<BoundaryInfo::BCTuple> all_bc_tuples =
68 var_names = {
"var1",
"var2",
"var3"};
78 bc_vals.resize(var_names.size());
81 for (
unsigned int i=0; i<var_names.size(); ++i)
84 auto & vals = bc_vals[i];
86 for (
const auto & t : all_bc_tuples)
92 if (side_ids[i].count(b_id))
112 IOClass writer(
mesh);
113 writer.write(filename);
114 writer.write_sideset_data (1, var_names, side_ids, bc_vals);
123 IOClass reader(read_mesh);
124 reader.read(filename);
128 std::vector<std::string> read_in_var_names;
129 std::vector<std::set<boundary_id_type>> read_in_side_ids;
130 std::vector<std::map<BoundaryInfo::BCTuple, Real>> read_in_bc_vals;
131 reader.read_sideset_data
132 (1, read_in_var_names, read_in_side_ids, read_in_bc_vals);
135 CPPUNIT_ASSERT(read_in_var_names == var_names);
136 CPPUNIT_ASSERT(read_in_side_ids == side_ids);
137 CPPUNIT_ASSERT(read_in_bc_vals == bc_vals);
141 std::map<BoundaryInfo::BCTuple, unsigned int> bc_array_indices;
142 reader.get_sideset_data_indices(bc_array_indices);
181 for (
unsigned int i=0; i<5; ++i)
183 (
static_cast<unsigned int>(i),
184 libmesh_map_find(bc_array_indices,
185 std::make_tuple(cast_int<dof_id_type>(i),
190 for (
unsigned int i=0; i<5; ++i)
192 (
static_cast<unsigned int>(i),
193 libmesh_map_find(bc_array_indices,
194 std::make_tuple(cast_int<dof_id_type>(5*i + 4),
199 for (
unsigned int i=0; i<5; ++i)
201 (
static_cast<unsigned int>(i),
202 libmesh_map_find(bc_array_indices,
203 std::make_tuple(cast_int<dof_id_type>(20+i),
208 for (
unsigned int i=0; i<5; ++i)
210 (
static_cast<unsigned int>(i),
211 libmesh_map_find(bc_array_indices,
212 std::make_tuple(cast_int<dof_id_type>(5*i),