List< scalar > scalarList
List of scalar.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
labelList fixedPorousIDs_
IDs of cellZones holding cells with constant alpha values.
const scalarList & fixedPorousValues() const
Values of alpha for each fixed porous zone.
labelList getZoneIDs(const dictionary &dict, const word &zoneGroup)
Get zone IDs corresponding to a wordList, read from a dict.
const cellZone & IOCells() const
Cells next to IO boundaries.
label IOzoneID() const
ID of the cellZone holding the IOcells.
A class for handling words, derived from Foam::string.
void addIOcellsZone()
Add a cellZone containing the cells next to IO patches.
const labelList & fixedZeroPorousZoneIDs() const
Cell zone IDs with fixed zero porosity values.
const dictionary dict_
TopO design variables dictionary.
const fvMesh & mesh_
Mesh reference.
virtual ~topOZones()=default
Destructor.
autoPtr< betaMax > betaMaxPtr_
The multiplier of the Brinkman penalisation term.
TypeName("topOZones")
Runtime type information.
scalar getBetaMax() const
Get betaMax.
const fvMesh & mesh() const
Const reference to mesh.
Mesh data needed to do the Finite Volume discretisation.
labelList fixedZeroPorousIDs_
IDs of cellZones holding cells with zero alpha values.
const labelList & adjointPorousZoneIDs() const
Cell zone IDs in which porosity is allowed to change.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
List< label > labelList
A List of labels.
label IOcellsID_
ID of the cellZone holding the cells next to inlets & outlets.
const labelList & fixedPorousZoneIDs() const
Cell zone IDs with fixed porosity values.
labelList adjointPorousIDs_
IDs of cellZones with cells that can change their alpha value throughout the optimisation.
scalarList fixedPorousValues_
The constant alpha values of fixedPorousIDs_.