Abstract base class for defining constraints for the control points of volumetric B-Splines morphing boxes. More...
Public Member Functions | |
TypeName ("morphingBoxConstraint") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, morphingBoxConstraint, dictionary,(const fvMesh &mesh, const dictionary &dict, volumetricBSplinesDesignVariables &designVariables),(mesh, dict, designVariables)) | |
morphingBoxConstraint (const fvMesh &mesh, const dictionary &dict, volumetricBSplinesDesignVariables &designVariables) | |
Construct from components. More... | |
virtual | ~morphingBoxConstraint ()=default |
Destructor. More... | |
virtual labelList | computeActiveDesignVariables (const labelList &activeCPCoors)=0 |
Compute the active design variables based on the IDs of the active control point coordinates. More... | |
virtual void | computeBounds (autoPtr< scalarField > &lowerBounds, autoPtr< scalarField > &upperBounds) |
Transform bounds from control points to design variables. More... | |
virtual void | updateBounds (autoPtr< scalarField > &lowerBounds, autoPtr< scalarField > &upperBounds) |
Update the bounds of the design variables. More... | |
virtual tmp< scalarField > | designVariablesToControlPoints (const scalarField &designVariables)=0 |
Convert design variables to control points, stored in a scalarField. More... | |
virtual tmp< scalarField > | controlPointsToDesignVariables (const scalarField &cps)=0 |
Return the design variables corresponding to the given control points. More... | |
virtual tmp< scalarField > | correctionCPs (const scalarField &correction)=0 |
Convert the correction of the design variables to the correction of the control points. More... | |
virtual tmp< scalarField > | postProcessSens (const scalarField &controlPointSens, const word &adjointSolverName) |
Chain rule from control points to design variables. More... | |
virtual scalar | computeEta (scalarField &correction, const scalar maxInitChange) |
Compute eta if not set in the first step. More... | |
bool | initialiseVars () const |
Initialise the design variables? More... | |
virtual bool | writeData (Ostream &os) const |
Append useful information to the design variables IOdictionary. More... | |
Static Public Member Functions | |
static autoPtr< morphingBoxConstraint > | New (const fvMesh &mesh, const dictionary &dict, volumetricBSplinesDesignVariables &designVariables) |
Construct and return the selected morphingBoxConstraint. More... | |
Protected Member Functions | |
virtual void | computeDVsSensitivities (scalarField &dvSens, const scalarField &cpSens)=0 |
Compute sensitivities wrt the design variables (chain rule) More... | |
virtual void | writeDVSensitivities (const scalarField &sens, const word &name) |
Write sensitivities w.r.t. the design variables. More... | |
Protected Attributes | |
const fvMesh & | mesh_ |
Mesh reference. More... | |
const dictionary | dict_ |
Volumetric B-Splines variables dict. More... | |
volumetricBSplinesDesignVariables & | designVariables_ |
Reference to underlaying volumetric B-Splines morpher. More... | |
volBSplinesBase & | volBSplinesBase_ |
Easy access to the volBSplinesBase resting in the designVariables_. More... | |
scalarField | initialCPs_ |
Initial CPs stored in scalarField. More... | |
bool | initialiseVars_ |
Initialise the design variables. More... | |
fileName | derivativesFolder_ |
Folder holding the twist sensitivities. More... | |
Abstract base class for defining constraints for the control points of volumetric B-Splines morphing boxes.
Definition at line 52 of file morphingBoxConstraint.H.
morphingBoxConstraint | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
volumetricBSplinesDesignVariables & | designVariables | ||
) |
Construct from components.
Definition at line 71 of file morphingBoxConstraint.C.
References Foam::mkDir().
|
virtualdefault |
Destructor.
|
protectedpure virtual |
Compute sensitivities wrt the design variables (chain rule)
Implemented in noConstraint.
|
protectedvirtual |
Write sensitivities w.r.t. the design variables.
Definition at line 40 of file morphingBoxConstraint.C.
References Foam::endl(), forAll, and Foam::setw().
TypeName | ( | "morphingBoxConstraint" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
morphingBoxConstraint | , | ||
dictionary | , | ||
(const fvMesh &mesh, const dictionary &dict, volumetricBSplinesDesignVariables &designVariables) | , | ||
(mesh, dict, designVariables) | |||
) |
|
static |
Construct and return the selected morphingBoxConstraint.
Definition at line 107 of file morphingBoxConstraint.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInLookup, Foam::Info, and mesh.
Compute the active design variables based on the IDs of the active control point coordinates.
Implemented in noConstraint.
|
virtual |
Transform bounds from control points to design variables.
WIP
Reimplemented in noConstraint.
Definition at line 139 of file morphingBoxConstraint.C.
References NotImplemented.
|
virtual |
Update the bounds of the design variables.
WIP
Reimplemented in noConstraint.
Definition at line 152 of file morphingBoxConstraint.C.
References NotImplemented.
|
pure virtual |
Convert design variables to control points, stored in a scalarField.
Implemented in noConstraint.
|
pure virtual |
Return the design variables corresponding to the given control points.
Implemented in noConstraint.
|
pure virtual |
Convert the correction of the design variables to the correction of the control points.
Implemented in noConstraint.
|
virtual |
Chain rule from control points to design variables.
Definition at line 165 of file morphingBoxConstraint.C.
References Foam::Zero.
|
virtual |
Compute eta if not set in the first step.
Definition at line 182 of file morphingBoxConstraint.C.
References Foam::correction(), Foam::endl(), and Foam::Info.
|
inline |
Initialise the design variables?
Definition at line 266 of file morphingBoxConstraint.H.
References morphingBoxConstraint::initialiseVars_.
|
virtual |
Append useful information to the design variables IOdictionary.
Definition at line 208 of file morphingBoxConstraint.C.
|
protected |
Mesh reference.
Definition at line 61 of file morphingBoxConstraint.H.
|
protected |
Volumetric B-Splines variables dict.
Definition at line 66 of file morphingBoxConstraint.H.
|
protected |
Reference to underlaying volumetric B-Splines morpher.
Definition at line 71 of file morphingBoxConstraint.H.
|
protected |
Easy access to the volBSplinesBase resting in the designVariables_.
Definition at line 76 of file morphingBoxConstraint.H.
|
protected |
Initial CPs stored in scalarField.
Definition at line 81 of file morphingBoxConstraint.H.
|
protected |
Initialise the design variables.
Definition at line 86 of file morphingBoxConstraint.H.
Referenced by morphingBoxConstraint::initialiseVars().
|
protected |
Folder holding the twist sensitivities.
Definition at line 91 of file morphingBoxConstraint.H.