Loading...
Searching...
No Matches
SQPBase Class Referenceabstract

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

#include <SQPBase.H>

Inheritance diagram for SQPBase:
Collaboration diagram for SQPBase:

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

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 37 of file SQPBase.C.

References constraintDerivativesOld_, delta_, dict, forAll, dictionary::found(), found, LagrangianDerivatives_, lamdas_, UPstream::master(), meritFunctionFile_, mesh, Foam::mkDir(), mu_, Foam::name(), objFunctionFolder_, timeName, and Foam::Zero.

Here is the call graph for this function:

◆ ~SQPBase()

virtual ~SQPBase ( )
virtualdefault

Destructor.

References os().

Here is the call graph for this function:

Member Function Documentation

◆ meritFunctionConstraintPart()

virtual scalar meritFunctionConstraintPart ( ) const
protectedpure virtual

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

Implemented in ISQP.

Referenced by writeMeritFunction().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "SQPBase" )

Runtime type information.

References dict, and mesh.

◆ addToFile()

bool addToFile ( Ostream & os) const
virtual

Write continuation info.

Definition at line 102 of file SQPBase.C.

References constraintDerivativesOld_, forAll, lamdas_, Foam::name(), and os().

Referenced by ISQP::writeData(), and SQP::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(), lamdas_, UPstream::master(), meritFunctionConstraintPart(), meritFunctionFile_, mu_, objFunctionFolder_, and Foam::setw().

Referenced by ISQP::writeAuxiliaryData(), and SQP::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.

Referenced by ISQP::computeCorrection(), SQP::computeCorrection(), SQPBase(), and ISQP::updateYS().

◆ constraintDerivativesOld_

List<scalarField> constraintDerivativesOld_
protected

The previous constraint derivatives.

Definition at line 66 of file SQPBase.H.

Referenced by addToFile(), SQPBase(), ISQP::storeOldFields(), and ISQP::updateYS().

◆ lamdas_

◆ objFunctionFolder_

fileName objFunctionFolder_
protected

Name of the objective folder.

Definition at line 76 of file SQPBase.H.

Referenced by SQPBase(), and writeMeritFunction().

◆ meritFunctionFile_

autoPtr<OFstream> meritFunctionFile_
protected

File including the l1 merit function.

Definition at line 81 of file SQPBase.H.

Referenced by SQPBase(), and writeMeritFunction().

◆ mu_

scalar mu_
protected

◆ delta_

scalar delta_
protected

Safety factor.

Definition at line 91 of file SQPBase.H.

Referenced by ISQP::computeMeritFunction(), SQP::computeMeritFunction(), and SQPBase().


The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/SQPBase/SQPBase.H
  • src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/SQPBase/SQPBase.C