morphingBoxConstraint Class Referenceabstract

Abstract base class for defining constraints for the control points of volumetric B-Splines morphing boxes. More...

Inheritance diagram for morphingBoxConstraint:
Collaboration diagram for morphingBoxConstraint:

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< scalarFielddesignVariablesToControlPoints (const scalarField &designVariables)=0
 Convert design variables to control points, stored in a scalarField. More...
 
virtual tmp< scalarFieldcontrolPointsToDesignVariables (const scalarField &cps)=0
 Return the design variables corresponding to the given control points. More...
 
virtual tmp< scalarFieldcorrectionCPs (const scalarField &correction)=0
 Convert the correction of the design variables to the correction of the control points. More...
 
virtual tmp< scalarFieldpostProcessSens (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< morphingBoxConstraintNew (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 fvMeshmesh_
 Mesh reference. More...
 
const dictionary dict_
 Volumetric B-Splines variables dict. More...
 
volumetricBSplinesDesignVariablesdesignVariables_
 Reference to underlaying volumetric B-Splines morpher. More...
 
volBSplinesBasevolBSplinesBase_
 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...
 

Detailed Description

Abstract base class for defining constraints for the control points of volumetric B-Splines morphing boxes.

Source files

Definition at line 52 of file morphingBoxConstraint.H.

Constructor & Destructor Documentation

◆ morphingBoxConstraint()

morphingBoxConstraint ( const fvMesh mesh,
const dictionary dict,
volumetricBSplinesDesignVariables designVariables 
)

Construct from components.

Definition at line 71 of file morphingBoxConstraint.C.

References Foam::mkDir().

Here is the call graph for this function:

◆ ~morphingBoxConstraint()

virtual ~morphingBoxConstraint ( )
virtualdefault

Destructor.

Member Function Documentation

◆ computeDVsSensitivities()

virtual void computeDVsSensitivities ( scalarField dvSens,
const scalarField cpSens 
)
protectedpure virtual

Compute sensitivities wrt the design variables (chain rule)

Implemented in noConstraint.

◆ writeDVSensitivities()

void writeDVSensitivities ( const scalarField sens,
const word name 
)
protectedvirtual

Write sensitivities w.r.t. the design variables.

Definition at line 40 of file morphingBoxConstraint.C.

References Foam::endl(), forAll, and Foam::setw().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "morphingBoxConstraint"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
morphingBoxConstraint  ,
dictionary  ,
(const fvMesh &mesh, const dictionary &dict, volumetricBSplinesDesignVariables &designVariables ,
(mesh, dict, designVariables  
)

◆ New()

Foam::autoPtr< Foam::morphingBoxConstraint > New ( const fvMesh mesh,
const dictionary dict,
volumetricBSplinesDesignVariables 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.

Here is the call graph for this function:

◆ computeActiveDesignVariables()

virtual labelList computeActiveDesignVariables ( const labelList activeCPCoors)
pure virtual

Compute the active design variables based on the IDs of the active control point coordinates.

Implemented in noConstraint.

◆ computeBounds()

void computeBounds ( autoPtr< scalarField > &  lowerBounds,
autoPtr< scalarField > &  upperBounds 
)
virtual

Transform bounds from control points to design variables.

WIP

Reimplemented in noConstraint.

Definition at line 138 of file morphingBoxConstraint.C.

References NotImplemented.

◆ updateBounds()

void updateBounds ( autoPtr< scalarField > &  lowerBounds,
autoPtr< scalarField > &  upperBounds 
)
virtual

Update the bounds of the design variables.

WIP

Reimplemented in noConstraint.

Definition at line 151 of file morphingBoxConstraint.C.

References NotImplemented.

◆ designVariablesToControlPoints()

virtual tmp<scalarField> designVariablesToControlPoints ( const scalarField designVariables)
pure virtual

Convert design variables to control points, stored in a scalarField.

Implemented in noConstraint.

◆ controlPointsToDesignVariables()

virtual tmp<scalarField> controlPointsToDesignVariables ( const scalarField cps)
pure virtual

Return the design variables corresponding to the given control points.

Implemented in noConstraint.

◆ correctionCPs()

virtual tmp<scalarField> correctionCPs ( const scalarField correction)
pure virtual

Convert the correction of the design variables to the correction of the control points.

Implemented in noConstraint.

◆ postProcessSens()

Foam::tmp< Foam::scalarField > postProcessSens ( const scalarField controlPointSens,
const word adjointSolverName 
)
virtual

Chain rule from control points to design variables.

Definition at line 164 of file morphingBoxConstraint.C.

References Foam::Zero.

◆ computeEta()

Foam::scalar computeEta ( scalarField correction,
const scalar  maxInitChange 
)
virtual

Compute eta if not set in the first step.

Definition at line 181 of file morphingBoxConstraint.C.

References Foam::correction(), Foam::endl(), and Foam::Info.

Here is the call graph for this function:

◆ initialiseVars()

bool initialiseVars ( ) const
inline

Initialise the design variables?

Definition at line 266 of file morphingBoxConstraint.H.

References morphingBoxConstraint::initialiseVars_.

◆ writeData()

bool writeData ( Ostream os) const
virtual

Append useful information to the design variables IOdictionary.

Definition at line 207 of file morphingBoxConstraint.C.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Mesh reference.

Definition at line 61 of file morphingBoxConstraint.H.

◆ dict_

const dictionary dict_
protected

Volumetric B-Splines variables dict.

Definition at line 66 of file morphingBoxConstraint.H.

◆ designVariables_

volumetricBSplinesDesignVariables& designVariables_
protected

Reference to underlaying volumetric B-Splines morpher.

Definition at line 71 of file morphingBoxConstraint.H.

◆ volBSplinesBase_

volBSplinesBase& volBSplinesBase_
protected

Easy access to the volBSplinesBase resting in the designVariables_.

Definition at line 76 of file morphingBoxConstraint.H.

◆ initialCPs_

scalarField initialCPs_
protected

Initial CPs stored in scalarField.

Definition at line 81 of file morphingBoxConstraint.H.

◆ initialiseVars_

bool initialiseVars_
protected

Initialise the design variables.

Definition at line 86 of file morphingBoxConstraint.H.

Referenced by morphingBoxConstraint::initialiseVars().

◆ derivativesFolder_

fileName derivativesFolder_
protected

Folder holding the twist sensitivities.

Definition at line 91 of file morphingBoxConstraint.H.


The documentation for this class was generated from the following files: