61 DynamicList<label> IOcells(0);
62 for (
const fvPatch&
patch : mesh_.boundary())
64 if (
patch.type() ==
"patch")
66 IOcells.append(
patch.faceCells());
71 cellZoneMesh& cellZones =
const_cast<fvMesh&
>(mesh_).cellZones();
72 cellZone& IOcellsZone = cellZones(
"IOcells",
true);
73 IOcellsZone = IOcells;
74 IOcellsID_ = cellZones.size() - 1;
77 cellSet IOcellList(mesh_,
"IOcellList", IOcells);
84 Foam::topOZones::topOZones
92 fixedPorousIDs_(getZoneIDs(
dict,
"fixedPorousZones")),
97 "fixedPorousValues",
scalarList(fixedPorousIDs_.size(), 1.)
100 fixedZeroPorousIDs_(getZoneIDs(
dict,
"fixedZeroPorousZones")),
101 adjointPorousIDs_(getZoneIDs(
dict,
"adjointPorousZones")),
109 <<
"Number of fixedPorousValues and fixedPorousZones don't agree!"
void size(const label n)
Older name for setAddressableSize.
errorManipArg< error, int > exit(error &err, const int errNo=1)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
labelList fixedPorousIDs_
IDs of cellZones holding cells with constant alpha values.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
labelList getZoneIDs(const dictionary &dict, const word &zoneGroup)
Get zone IDs corresponding to a wordList, read from a dict.
#define forAll(list, i)
Loop across all elements in list.
label findZoneID(const word &zoneName) const
Find zone index by name, return -1 if not found.
A class for handling words, derived from Foam::string.
void addIOcellsZone()
Add a cellZone containing the cells next to IO patches.
const fvMesh & mesh_
Mesh reference.
Base class for selecting the betaMax value, i.e. the value multiplying the Brinkman penalisation term...
defineTypeNameAndDebug(combustionModel, 0)
Mesh data needed to do the Finite Volume discretisation.
const std::string patch
OpenFOAM patch number as a std::string.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
ZoneMesh< cellZone, polyMesh > cellZoneMesh
A ZoneMesh with the type cellZone.
scalarList fixedPorousValues_
The constant alpha values of fixedPorousIDs_.