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

The quasi-Newton SQP formula for constrained optimisation. More...

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

Public Member Functions

 TypeName ("SQP")
 
 SQP (const fvMesh &mesh, const dictionary &dict)
 
virtual ~SQP ()=default
 
void computeCorrection ()
 
virtual scalar computeMeritFunction ()
 
virtual scalar meritFunctionDirectionalDerivative ()
 
virtual void updateOldCorrection (const scalarField &oldCorrection)
 
virtual void write ()
 
- Public Member Functions inherited from constrainedOptimisationMethod
 TypeName ("constrainedOptimisationMethod")
 
 declareRunTimeSelectionTable (autoPtr, constrainedOptimisationMethod, dictionary,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
 
 constrainedOptimisationMethod (const fvMesh &mesh, const dictionary &dict)
 
virtual ~constrainedOptimisationMethod ()=default
 
- Public Member Functions inherited from updateMethod
 TypeName ("updateMethod")
 
 declareRunTimeSelectionTable (autoPtr, updateMethod, dictionary,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
 
 updateMethod (const fvMesh &mesh, const dictionary &dict)
 
virtual ~updateMethod ()=default
 
void setObjectiveDeriv (const scalarField &derivs)
 
void setConstraintDeriv (const PtrList< scalarField > &derivs)
 
void setObjectiveValue (const scalar value)
 
void setConstraintValues (const scalarField &values)
 
void setStep (const scalar eta)
 
void setGlobalSum (const bool useGlobalSum)
 
scalarFieldreturnCorrection ()
 
void writeCorrection ()
 
boolinitialEtaSet ()
 

Protected Attributes

scalar etaHessian_
 
labelList activeDesignVars_
 
bool scaleFirstHessian_
 
scalar dumpingThreshold_
 
scalarField LagrangianDerivatives_
 
SquareMatrix< scalar > Hessian_
 
SquareMatrix< scalar > HessianOld_
 
scalarField objectiveDerivativesOld_
 
List< scalarFieldconstraintDerivativesOld_
 
scalarField correctionOld_
 
scalarField lamdas_
 
label counter_
 
fileName objFunctionFolder_
 
autoPtr< OFstreammeritFunctionFile_
 
scalar mu_
 
scalar delta_
 
- Protected Attributes inherited from updateMethod
const fvMeshmesh_
 
const dictionary dict_
 
IOdictionary optMethodIODict_
 
scalarField objectiveDerivatives_
 
PtrList< scalarFieldconstraintDerivatives_
 
scalar objectiveValue_
 
scalarField cValues_
 
scalarField correction_
 
scalarField cumulativeCorrection_
 
scalar eta_
 
bool initialEtaSet_
 
word correctionFolder_
 
bool globalSum_
 

Additional Inherited Members

- Static Public Member Functions inherited from updateMethod
static autoPtr< updateMethodNew (const fvMesh &mesh, const dictionary &dict)
 
- 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)
 
scalar globalSum (tmp< scalarField > &tfield)
 
dictionary coeffsDict ()
 

Detailed Description

The quasi-Newton SQP formula for constrained optimisation.

Source files

Definition at line 50 of file SQP.H.

Constructor & Destructor Documentation

◆ SQP()

SQP ( const fvMesh mesh,
const dictionary dict 
)

Definition at line 272 of file SQP.C.

References SQP::activeDesignVars_, updateMethod::coeffsDict(), Foam::endl(), Foam::Info, UPstream::master(), Foam::mkDir(), and SQP::objFunctionFolder_.

Here is the call graph for this function:

◆ ~SQP()

virtual ~SQP ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "SQP"  )

◆ computeCorrection()

void computeCorrection ( )
virtual

Implements constrainedOptimisationMethod.

Definition at line 333 of file SQP.C.

◆ computeMeritFunction()

Foam::scalar computeMeritFunction ( )
virtual

Reimplemented from updateMethod.

Definition at line 358 of file SQP.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::Info, L(), Foam::mag(), Foam::max(), and Foam::sum().

Here is the call graph for this function:

◆ meritFunctionDirectionalDerivative()

Foam::scalar meritFunctionDirectionalDerivative ( )
virtual

Reimplemented from updateMethod.

Definition at line 375 of file SQP.C.

References Foam::mag(), and Foam::sum().

Here is the call graph for this function:

◆ updateOldCorrection()

void updateOldCorrection ( const scalarField oldCorrection)
virtual

Reimplemented from updateMethod.

Definition at line 385 of file SQP.C.

References updateMethod::updateOldCorrection().

Here is the call graph for this function:

◆ write()

void write ( )
virtual

Reimplemented from updateMethod.

Definition at line 392 of file SQP.C.

References IOstream::defaultPrecision(), Foam::endl(), forAll, Foam::mag(), UPstream::master(), Foam::setw(), Foam::sum(), and updateMethod::write().

Here is the call graph for this function:

Member Data Documentation

◆ etaHessian_

scalar etaHessian_
protected

Definition at line 59 of file SQP.H.

◆ activeDesignVars_

labelList activeDesignVars_
protected

Definition at line 62 of file SQP.H.

Referenced by SQP::SQP().

◆ scaleFirstHessian_

bool scaleFirstHessian_
protected

Definition at line 65 of file SQP.H.

◆ dumpingThreshold_

scalar dumpingThreshold_
protected

Definition at line 68 of file SQP.H.

◆ LagrangianDerivatives_

scalarField LagrangianDerivatives_
protected

Definition at line 71 of file SQP.H.

◆ Hessian_

SquareMatrix<scalar> Hessian_
protected

Definition at line 75 of file SQP.H.

◆ HessianOld_

SquareMatrix<scalar> HessianOld_
protected

Definition at line 78 of file SQP.H.

◆ objectiveDerivativesOld_

scalarField objectiveDerivativesOld_
protected

Definition at line 81 of file SQP.H.

◆ constraintDerivativesOld_

List<scalarField> constraintDerivativesOld_
protected

Definition at line 84 of file SQP.H.

◆ correctionOld_

scalarField correctionOld_
protected

Definition at line 87 of file SQP.H.

◆ lamdas_

scalarField lamdas_
protected

Definition at line 90 of file SQP.H.

◆ counter_

label counter_
protected

Definition at line 93 of file SQP.H.

◆ objFunctionFolder_

fileName objFunctionFolder_
protected

Definition at line 96 of file SQP.H.

Referenced by SQP::SQP().

◆ meritFunctionFile_

autoPtr<OFstream> meritFunctionFile_
protected

Definition at line 99 of file SQP.H.

◆ mu_

scalar mu_
protected

Definition at line 102 of file SQP.H.

◆ delta_

scalar delta_
protected

Definition at line 105 of file SQP.H.


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