40 dynamicTopODesignVariables,
74 Foam::dynamicTopODesignVariables::dynamicTopODesignVariables
84 Foam::dynamicTopODesignVariables::dynamicTopODesignVariables
92 marchCells_(
mesh,
dict.subDict(
"marchingCoeffs")),
114 marchCells_.update();
115 activeDesignVariables_ = marchCells_.getActiveCells();
labelList activeDesignVariables_
Which of the design variables will be updated.
virtual void evolveNumber()
Update the active design variables.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual void setActiveDesignVariables(const label fluidID=0, const bool activeIO=false)
Set active design variables.
virtual bool writeData(Ostream &) const
The writeData function required by the regIOobject write operation.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
topOZones zones_
Cell zones useful for defining the constant and changing parts of the domain in topO.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
Design variables for porosity-based topology optimisation (topO) problems.
const cellZone & IOCells() const
Cells next to IO boundaries.
Macros for easy insertion into run-time selection tables.
localIOdictionary is derived from IOdictionary but excludes parallel master reading.
const labelList & getActiveCells() const
Get the active cells.
marchingCells marchCells_
Mechanism for gradually activating design variables.
const labelList & fixedZeroPorousZoneIDs() const
Cell zone IDs with fixed zero porosity values.
void addFixedCells(const cellZoneMesh &cellZoneMesh, const labelList &fixedCellZoneIDs)
Add fixed cells through cellZone IDs.
void update(const label iters=1)
Update active cells.
virtual bool writeData(Ostream &) const
The writeData function required by the regIOobject write operation.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
label evolvedCount_
Number of times the design variables have evolved.
OBJstream os(runTime.globalPath()/outputName)
defineTypeNameAndDebug(combustionModel, 0)
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.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Design variables for topology optimisation problems. Active design variables are added gradually...
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
const labelList & fixedPorousZoneIDs() const
Cell zone IDs with fixed porosity values.
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)