5 const label
nZones = blocks.numZonedBlocks();
11 HashTable<label> zoneMap(
nZones);
14 List<DynamicList<label>> zoneCells(
nZones);
22 for (
const block&
b : blocks)
24 const word& zoneName =
b.zoneName();
25 const label nCellsInBlock =
b.cells().size();
29 const auto iter = zoneMap.cfind(zoneName);
41 Info<<
" " << zonei <<
'\t' << zoneName <<
endl;
43 zoneMap.insert(zoneName, zonei);
49 zoneCells[zonei].reserve
51 zoneCells[zonei].size() + nCellsInBlock
54 const label endOfFill = celli + nCellsInBlock;
56 for (; celli < endOfFill; ++celli)
58 zoneCells[zonei].append(celli);
63 celli += nCellsInBlock;
67 List<cellZone*> cz(zoneMap.size());
70 const word& zoneName = iter.key();
71 const label zonei = iter.val();
73 cz[zonei] =
new cellZone
76 zoneCells[zonei].shrink(),
82 mesh.pointZones().resize(0);
83 mesh.faceZones().resize(0);
84 mesh.cellZones().resize(0);
85 mesh.addZones(List<pointZone*>(), List<faceZone*>(), cz);