Public Member Functions | Protected Attributes | List of all members
constraintProjection Class Reference

Update design variables using Rosen's projection method. More...

Inheritance diagram for constraintProjection:
Inheritance graph
[legend]
Collaboration diagram for constraintProjection:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("constraintProjection")
 Runtime type information. More...
 
 constraintProjection (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~constraintProjection ()=default
 Destructor. More...
 
void computeCorrection ()
 Compute design variables correction. More...
 
- Public Member Functions inherited from constrainedOptimisationMethod
 TypeName ("constrainedOptimisationMethod")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, constrainedOptimisationMethod, dictionary,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
 
 constrainedOptimisationMethod (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~constrainedOptimisationMethod ()=default
 Destructor. More...
 
- Public Member Functions inherited from updateMethod
 TypeName ("updateMethod")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, updateMethod, dictionary,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
 
 updateMethod (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~updateMethod ()=default
 Destructor. More...
 
void setObjectiveDeriv (const scalarField &derivs)
 Set objective derivative. More...
 
void setConstraintDeriv (const PtrList< scalarField > &derivs)
 Set constraints derivative. More...
 
void setObjectiveValue (const scalar value)
 Set constraints derivative. More...
 
void setConstraintValues (const scalarField &values)
 Set constraints derivative. More...
 
void setStep (const scalar eta)
 Set step for optimisation methods. More...
 
void setGlobalSum (const bool useGlobalSum)
 Set globalSum variable. More...
 
scalarFieldreturnCorrection ()
 Return the correction of the design variables. More...
 
void writeCorrection ()
 
virtual scalar computeMeritFunction ()
 Compute merit function. Could be different than the objective in the presence of constraints. More...
 
virtual scalar meritFunctionDirectionalDerivative ()
 Directional derivative of the merit function, in the direction of the correction. Could be different than the objective directional derivative in the presence of constraints. More...
 
bool & initialEtaSet ()
 Return whether initial eta was set. More...
 
virtual void updateOldCorrection (const scalarField &oldCorrection)
 Update old correction. useful for quasi-newton methods coupled with line search. More...
 
virtual void write ()
 Write useful quantities to files. More...
 

Protected Attributes

bool useCorrection_
 Correct for non-linearities. More...
 
- Protected Attributes inherited from updateMethod
const fvMeshmesh_
 
const dictionary dict_
 
IOdictionary optMethodIODict_
 Used to output values useful for continuation runs. More...
 
scalarField objectiveDerivatives_
 Derivatives of the objective functions. More...
 
PtrList< scalarFieldconstraintDerivatives_
 Derivatives of the constraints. More...
 
scalar objectiveValue_
 Objective value. More...
 
scalarField cValues_
 Constraint values. More...
 
scalarField correction_
 Design variables correction. More...
 
scalarField cumulativeCorrection_
 Cumulative design variables correction throughout the optimisation loop. More...
 
scalar eta_
 Step multiplying the correction. More...
 
bool initialEtaSet_
 Is initially set? More...
 
word correctionFolder_
 Folder storing the corrections to file. More...
 
bool globalSum_
 Whether to use gSum or sum in the inner products. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from updateMethod
static autoPtr< updateMethodNew (const fvMesh &mesh, const dictionary &dict)
 Return a reference to the selected turbulence model. More...
 
- Protected Member Functions inherited from updateMethod
const scalarField leftMult (const scalarField &, const SquareMatrix< scalar > &)
 
const scalarField rightMult (const SquareMatrix< scalar > &, const scalarField &)
 
SquareMatrix< scalar > outerProd (const scalarField &, const scalarField &)
 
SquareMatrix< scalar > inv (SquareMatrix< scalar > A)
 
scalar globalSum (const scalarField &field)
 Compute either global or local sum, based on globalSum flag. More...
 
scalar globalSum (tmp< scalarField > &tfield)
 Compute either global or local sum, based on globalSum flag. More...
 
dictionary coeffsDict ()
 Return optional dictionary with parameters specific to each method. More...
 

Detailed Description

Update design variables using Rosen's projection method.

Can handle multiple constraints. Optionally includes a non-linearity correction

Source files

Definition at line 52 of file constraintProjection.H.

Constructor & Destructor Documentation

◆ constraintProjection()

constraintProjection ( const fvMesh mesh,
const dictionary dict 
)

Construct from components.

Definition at line 49 of file constraintProjection.C.

◆ ~constraintProjection()

virtual ~constraintProjection ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "constraintProjection"  )

Runtime type information.

◆ computeCorrection()

void computeCorrection ( )
virtual

Member Data Documentation

◆ useCorrection_

bool useCorrection_
protected

Correct for non-linearities.

Definition at line 63 of file constraintProjection.H.

Referenced by constraintProjection::computeCorrection().


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