74Foam::dynamicTopODesignVariables::dynamicTopODesignVariables
84Foam::dynamicTopODesignVariables::dynamicTopODesignVariables
92 marchCells_(
mesh,
dict.subDict(
"marchingCoeffs")),
122 os.writeEntry(
"evolvedCount", evolvedCount_);
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
Abstract base class for defining design variables.
labelList activeDesignVariables_
Which of the design variables will be updated.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T, or return the given default value. FatalIOError if it is found and the number of...
Design variables for topology optimisation problems. Active design variables are added gradually,...
virtual void evolveNumber()
Update the active design variables.
label evolvedCount_
Number of times the design variables have evolved.
virtual bool writeData(Ostream &) const
The writeData function required by the regIOobject write operation.
virtual void setActiveDesignVariables(const label fluidID=0, const bool activeIO=false)
Set active design variables.
marchingCells marchCells_
Mechanism for gradually activating design variables.
static autoPtr< dynamicTopODesignVariables > New(fvMesh &mesh, const dictionary &dict)
Construct and return the selected design variables.
Mesh data needed to do the Finite Volume discretisation.
localIOdictionary is derived from IOdictionary but excludes parallel master reading.
void addFixedCells(const cellZoneMesh &cellZoneMesh, const labelList &fixedCellZoneIDs)
Add fixed cells through cellZone IDs.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
Design variables for porosity-based topology optimisation (topO) problems.
virtual bool writeData(Ostream &) const
The writeData function required by the regIOobject write operation.
topOZones zones_
Cell zones useful for defining the constant and changing parts of the domain in topO.
const labelList & fixedPorousZoneIDs() const
Cell zone IDs with fixed porosity values.
const cellZone & IOCells() const
Cells next to IO boundaries.
const labelList & fixedZeroPorousZoneIDs() const
Cell zone IDs with fixed zero porosity values.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
OBJstream os(runTime.globalPath()/outputName)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
ZoneMesh< cellZone, polyMesh > cellZoneMesh
A ZoneMesh with cellZone content on a polyMesh.