SQPBase Class Referenceabstract

Base class for Sequantial Quadratic Programming (SQP) methods. More...

Inheritance diagram for SQPBase:
Collaboration diagram for SQPBase:

Public Member Functions

 TypeName ("SQPBase")
 Runtime type information. More...
 
 SQPBase (const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const updateMethod &UpdateMethod, const word &type)
 Construct from components. More...
 
virtual ~SQPBase ()=default
 Destructor. More...
 
virtual bool addToFile (Ostream &os) const
 Write continuation info. More...
 
virtual bool writeMeritFunction (const updateMethod &UpdateMethod)
 Write info about the merit function. More...
 
- Public Member Functions inherited from constrainedOptimisationMethod
 TypeName ("constrainedOptimisationMethod")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, constrainedOptimisationMethod, dictionary,(const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type),(mesh, dict, designVars, nConstraints, type))
 
 constrainedOptimisationMethod (const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type)
 Construct from components. More...
 
virtual ~constrainedOptimisationMethod ()=default
 Destructor. More...
 

Protected Member Functions

virtual scalar meritFunctionConstraintPart () const =0
 Get the part the merit function that depends on the constraints. More...
 

Protected Attributes

scalarField LagrangianDerivatives_
 Derivatives of the Lagrangian function. More...
 
List< scalarFieldconstraintDerivativesOld_
 The previous constraint derivatives. More...
 
scalarField lamdas_
 Lagrange multipliers. More...
 
fileName objFunctionFolder_
 Name of the objective folder. More...
 
autoPtr< OFstreammeritFunctionFile_
 File including the l1 merit function. More...
 
scalar mu_
 Penalty value for the merit function. More...
 
scalar delta_
 Safety factor. More...
 

Detailed Description

Base class for Sequantial Quadratic Programming (SQP) methods.

Source files

Definition at line 50 of file SQPBase.H.

Constructor & Destructor Documentation

◆ SQPBase()

SQPBase ( const fvMesh mesh,
const dictionary dict,
autoPtr< designVariables > &  designVars,
const updateMethod UpdateMethod,
const word type 
)

Construct from components.

Definition at line 38 of file SQPBase.C.

References forAll, dictionary::found(), Foam::mkDir(), and Foam::name().

Here is the call graph for this function:

◆ ~SQPBase()

virtual ~SQPBase ( )
virtualdefault

Destructor.

Member Function Documentation

◆ meritFunctionConstraintPart()

virtual scalar meritFunctionConstraintPart ( ) const
protectedpure virtual

Get the part the merit function that depends on the constraints.

Implemented in ISQP.

◆ TypeName()

TypeName ( "SQPBase"  )

Runtime type information.

◆ addToFile()

bool addToFile ( Ostream os) const
virtual

Write continuation info.

Definition at line 102 of file SQPBase.C.

References SQPBase::constraintDerivativesOld_, forAll, SQPBase::lamdas_, Foam::name(), os(), and Field< Type >::writeEntry().

Referenced by SQP::writeData(), and ISQP::writeData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeMeritFunction()

bool writeMeritFunction ( const updateMethod UpdateMethod)
virtual

Write info about the merit function.

Definition at line 115 of file SQPBase.C.

References IOstream::defaultPrecision(), Foam::endl(), forAll, updateMethod::getConstraintValues(), updateMethod::getCycle(), updateMethod::getObjectiveValue(), UPstream::master(), and Foam::setw().

Referenced by SQP::writeAuxiliaryData(), and ISQP::writeAuxiliaryData().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ LagrangianDerivatives_

scalarField LagrangianDerivatives_
protected

Derivatives of the Lagrangian function.

Definition at line 61 of file SQPBase.H.

◆ constraintDerivativesOld_

List<scalarField> constraintDerivativesOld_
protected

The previous constraint derivatives.

Definition at line 66 of file SQPBase.H.

Referenced by SQPBase::addToFile().

◆ lamdas_

scalarField lamdas_
protected

Lagrange multipliers.

Definition at line 71 of file SQPBase.H.

Referenced by SQPBase::addToFile().

◆ objFunctionFolder_

fileName objFunctionFolder_
protected

Name of the objective folder.

Definition at line 76 of file SQPBase.H.

◆ meritFunctionFile_

autoPtr<OFstream> meritFunctionFile_
protected

File including the l1 merit function.

Definition at line 81 of file SQPBase.H.

◆ mu_

scalar mu_
protected

Penalty value for the merit function.

Definition at line 86 of file SQPBase.H.

◆ delta_

scalar delta_
protected

Safety factor.

Definition at line 91 of file SQPBase.H.


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