36 const char*
const Foam::cellTable::defaultMaterial_ =
"fluid";
47 lookup.insert(iter.key(), zoneI++);
56 Map<word> lookup = names();
62 lst[zoneI++] = iter();
69 void Foam::cellTable::addDefaults()
73 if (!iter().found(
"MaterialType"))
75 iter().add(
"MaterialType", defaultMaterial_);
81 void Foam::cellTable::setEntry
89 dict.add(keyWord, value);
91 iterator iter = find(
id);
120 readDict(registry, name, instance);
137 if (maxId < iter.key())
157 iter().lookupOrDefault<
word>
178 word lookupName = iter().lookupOrDefault<
word>
186 lookup.
insert(iter.key(), lookupName);
201 iter().readIfPresent(
"Label", theName);
217 if (iter().lookupOrDefault<word>(
"Label",
word::null) == name)
236 iter().lookupOrDefault<
word>(
"MaterialType", defaultMaterial_)
253 == iter().lookupOrDefault<word>(
"MaterialType", defaultMaterial_)
259 iter().lookupOrDefault<
word>
274 return selectType(
"fluid");
280 return selectType(
"solid");
286 return selectType(
"shell");
293 setEntry(
id,
"MaterialType", matlType);
299 setEntry(
id,
"Label", name);
307 if (iter == end() || !iter().found(
"Label"))
344 Info<<
"no constant/cellTable information available" <<
endl;
371 "persistent data for thirdParty mesh <-> OpenFOAM translation";
402 label nZoneCells = 0;
405 label unZonedType = zoneNames.
size() + 1;
411 nZoneCells += cZone.
size();
414 dict.
add(
"Label", zoneNames[zoneI]);
415 zoneDict.
insert(zoneI + 1, dict);
426 if (mesh.
nCells() > nZoneCells)
454 if (iter != typeToZone.
end())
456 zoneCells[iter()].
append(cellI);
467 zoneCells[zoneI].shrink();
468 if (zoneCells[zoneI].size())
470 zoneUsed[nZone++] = zoneI;
480 Info<<
"cellZones not used" <<
endl;
487 const label origZoneI = zoneUsed[zoneI];
489 Info<<
"cellZone " << zoneI
490 <<
" (size: " << zoneCells[origZoneI].
size()
491 <<
") name: " << zoneNames[origZoneI] <<
endl;
498 zoneNames[origZoneI],
499 zoneCells[origZoneI],
530 matches.
insert(namesIter.key(), namesIter());
536 label targetId = this->
findIndex(iter().keyword());
538 Info<<
"combine cellTable: " << iter().keyword();
542 targetId =
min(matches.
toc());
543 operator[](targetId).set(
"Label", iter().keyword());
554 matches.
erase(targetId);
555 origNames.
erase(targetId);
558 this->erase(matches);
559 origNames.
erase(matches);
563 mapping[matchIter.key()] = targetId;
564 Info<<
" " << matchIter();