Abstract base class for defining constraints for the control points of volumetric B-Splines morphing boxes. More...
#include <morphingBoxConstraint.H>


Public Member Functions | |
| TypeName ("morphingBoxConstraint") | |
| Runtime type information. | |
| 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. | |
| virtual | ~morphingBoxConstraint ()=default |
| Destructor. | |
| virtual labelList | computeActiveDesignVariables (const labelList &activeCPCoors)=0 |
| Compute the active design variables based on the IDs of the active control point coordinates. | |
| virtual void | computeBounds (autoPtr< scalarField > &lowerBounds, autoPtr< scalarField > &upperBounds) |
| Transform bounds from control points to design variables. | |
| virtual void | updateBounds (autoPtr< scalarField > &lowerBounds, autoPtr< scalarField > &upperBounds) |
| Update the bounds of the design variables. | |
| virtual tmp< scalarField > | designVariablesToControlPoints (const scalarField &designVariables)=0 |
| Convert design variables to control points, stored in a scalarField. | |
| virtual tmp< scalarField > | controlPointsToDesignVariables (const scalarField &cps)=0 |
| Return the design variables corresponding to the given control points. | |
| virtual tmp< scalarField > | correctionCPs (const scalarField &correction)=0 |
| Convert the correction of the design variables to the correction of the control points. | |
| virtual tmp< scalarField > | postProcessSens (const scalarField &controlPointSens, const word &adjointSolverName) |
| Chain rule from control points to design variables. | |
| virtual scalar | computeEta (scalarField &correction, const scalar maxInitChange) |
| Compute eta if not set in the first step. | |
| bool | initialiseVars () const |
| Initialise the design variables? | |
| virtual bool | writeData (Ostream &os) const |
| Append useful information to the design variables IOdictionary. | |
Static Public Member Functions | |
| static autoPtr< morphingBoxConstraint > | New (const fvMesh &mesh, const dictionary &dict, volumetricBSplinesDesignVariables &designVariables) |
| Construct and return the selected morphingBoxConstraint. | |
Protected Member Functions | |
| virtual void | computeDVsSensitivities (scalarField &dvSens, const scalarField &cpSens)=0 |
| Compute sensitivities wrt the design variables (chain rule). | |
| virtual void | writeDVSensitivities (const scalarField &sens, const word &name) |
| Write sensitivities w.r.t. the design variables. | |
Protected Attributes | |
| const fvMesh & | mesh_ |
| Mesh reference. | |
| const dictionary | dict_ |
| Volumetric B-Splines variables dict. | |
| volumetricBSplinesDesignVariables & | designVariables_ |
| Reference to underlaying volumetric B-Splines morpher. | |
| volBSplinesBase & | volBSplinesBase_ |
| Easy access to the volBSplinesBase resting in the designVariables_. | |
| scalarField | initialCPs_ |
| Initial CPs stored in scalarField. | |
| bool | initialiseVars_ |
| Initialise the design variables. | |
| fileName | derivativesFolder_ |
| Folder holding the twist sensitivities. | |
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 70 of file morphingBoxConstraint.C.
References derivativesFolder_, designVariables_, dict, dict_, initialCPs_, initialiseVars_, mesh, mesh_, Foam::mkDir(), and volBSplinesBase_.

|
virtualdefault |
Destructor.
|
protectedpure virtual |
Compute sensitivities wrt the design variables (chain rule).
Implemented in noConstraint.
References Foam::name().
Referenced by postProcessSens().


|
protectedvirtual |
Write sensitivities w.r.t. the design variables.
Definition at line 39 of file morphingBoxConstraint.C.
References IOstream::defaultPrecision(), derivativesFolder_, designVariables_, Foam::endl(), forAll, UPstream::master(), mesh_, and Foam::setw().
Referenced by postProcessSens().


| 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 106 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 138 of file morphingBoxConstraint.C.
References NotImplemented.
|
virtual |
Update the bounds of the design variables.
WIP
Reimplemented in noConstraint.
Definition at line 151 of file morphingBoxConstraint.C.
References designVariables_, and 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.
References Foam::correction().

|
virtual |
Chain rule from control points to design variables.
Definition at line 164 of file morphingBoxConstraint.C.
References computeDVsSensitivities(), designVariables_, tmp< T >::New(), writeDVSensitivities(), and Foam::Zero.

|
virtual |
Compute eta if not set in the first step.
Definition at line 181 of file morphingBoxConstraint.C.
References Foam::correction(), designVariables_, Foam::endl(), Foam::Info, and volBSplinesBase_.

|
inline |
Initialise the design variables?
Definition at line 266 of file morphingBoxConstraint.H.
References initialiseVars_.
|
virtual |
Append useful information to the design variables IOdictionary.
Definition at line 208 of file morphingBoxConstraint.C.
References os().

|
protected |
Mesh reference.
Definition at line 61 of file morphingBoxConstraint.H.
Referenced by morphingBoxConstraint(), and writeDVSensitivities().
|
protected |
Volumetric B-Splines variables dict.
Definition at line 66 of file morphingBoxConstraint.H.
Referenced by morphingBoxConstraint().
|
protected |
Reference to underlaying volumetric B-Splines morpher.
Definition at line 71 of file morphingBoxConstraint.H.
Referenced by computeEta(), morphingBoxConstraint(), noConstraint::noConstraint(), postProcessSens(), updateBounds(), noConstraint::updateBounds(), and writeDVSensitivities().
|
protected |
Easy access to the volBSplinesBase resting in the designVariables_.
Definition at line 76 of file morphingBoxConstraint.H.
Referenced by computeEta(), morphingBoxConstraint(), noConstraint::noConstraint(), and noConstraint::updateBounds().
|
protected |
Initial CPs stored in scalarField.
Definition at line 81 of file morphingBoxConstraint.H.
Referenced by morphingBoxConstraint().
|
protected |
Initialise the design variables.
Definition at line 86 of file morphingBoxConstraint.H.
Referenced by initialiseVars(), and morphingBoxConstraint().
|
protected |
Folder holding the twist sensitivities.
Definition at line 91 of file morphingBoxConstraint.H.
Referenced by morphingBoxConstraint(), and writeDVSensitivities().