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

The quasi-Newton BFGS formula with the dampening proposed by Powell. More...

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

Public Member Functions

 TypeName ("DBFGS")
 
 DBFGS (const fvMesh &mesh, const dictionary &dict)
 
virtual ~DBFGS ()=default
 
void computeCorrection ()
 
virtual void updateOldCorrection (const scalarField &oldCorrection)
 
virtual void write ()
 
- 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 ()
 
virtual scalar computeMeritFunction ()
 
virtual scalar meritFunctionDirectionalDerivative ()
 
boolinitialEtaSet ()
 

Protected Member Functions

void allocateMatrices ()
 
void updateHessian ()
 
void update ()
 
void readFromDict ()
 
- 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 ()
 

Protected Attributes

scalar etaHessian_
 
label nSteepestDescent_
 
labelList activeDesignVars_
 
bool scaleFirstHessian_
 
scalar curvatureThreshold_
 
SquareMatrix< scalar > Hessian_
 
SquareMatrix< scalar > HessianOld_
 
scalarField derivativesOld_
 
scalarField correctionOld_
 
label counter_
 
scalar gamma_
 
- 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)
 

Detailed Description

The quasi-Newton BFGS formula with the dampening proposed by Powell.

Source files

Definition at line 50 of file DBFGS.H.

Constructor & Destructor Documentation

◆ DBFGS()

DBFGS ( const fvMesh mesh,
const dictionary dict 
)

Definition at line 166 of file DBFGS.C.

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

Here is the call graph for this function:

◆ ~DBFGS()

virtual ~DBFGS ( )
virtualdefault

Member Function Documentation

◆ allocateMatrices()

void allocateMatrices ( )
protected

Definition at line 42 of file DBFGS.C.

References DBFGS::activeDesignVars_, DBFGS::Hessian_, DBFGS::HessianOld_, Foam::I, Foam::identity(), and updateMethod::objectiveDerivatives_.

Here is the call graph for this function:

◆ updateHessian()

void updateHessian ( )
protected

Definition at line 60 of file DBFGS.C.

References DebugInfo, Foam::endl(), forAll, Foam::Info, s, WarningInFunction, y, and Foam::Zero.

Here is the call graph for this function:

◆ update()

void update ( )
protected

Definition at line 104 of file DBFGS.C.

References Foam::endl(), forAll, Foam::Info, Foam::inv(), Field::map(), and Foam::Zero.

Here is the call graph for this function:

◆ readFromDict()

void readFromDict ( )
protected

Definition at line 141 of file DBFGS.C.

References Foam::identity(), n, and Foam::Zero.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "DBFGS"  )

◆ computeCorrection()

void computeCorrection ( )
virtual

Implements updateMethod.

Definition at line 217 of file DBFGS.C.

References update().

Here is the call graph for this function:

◆ updateOldCorrection()

void updateOldCorrection ( const scalarField oldCorrection)
virtual

Reimplemented from updateMethod.

Definition at line 233 of file DBFGS.C.

References updateMethod::updateOldCorrection().

Here is the call graph for this function:

◆ write()

void write ( )
virtual

Reimplemented from updateMethod.

Definition at line 240 of file DBFGS.C.

References updateMethod::write().

Here is the call graph for this function:

Member Data Documentation

◆ etaHessian_

scalar etaHessian_
protected

Definition at line 59 of file DBFGS.H.

◆ nSteepestDescent_

label nSteepestDescent_
protected

Definition at line 62 of file DBFGS.H.

◆ activeDesignVars_

labelList activeDesignVars_
protected

Definition at line 65 of file DBFGS.H.

Referenced by DBFGS::allocateMatrices().

◆ scaleFirstHessian_

bool scaleFirstHessian_
protected

Definition at line 68 of file DBFGS.H.

◆ curvatureThreshold_

scalar curvatureThreshold_
protected

Definition at line 71 of file DBFGS.H.

◆ Hessian_

SquareMatrix<scalar> Hessian_
protected

Definition at line 74 of file DBFGS.H.

Referenced by DBFGS::allocateMatrices().

◆ HessianOld_

SquareMatrix<scalar> HessianOld_
protected

Definition at line 77 of file DBFGS.H.

Referenced by DBFGS::allocateMatrices().

◆ derivativesOld_

scalarField derivativesOld_
protected

Definition at line 80 of file DBFGS.H.

◆ correctionOld_

scalarField correctionOld_
protected

Definition at line 83 of file DBFGS.H.

◆ counter_

label counter_
protected

Definition at line 86 of file DBFGS.H.

◆ gamma_

scalar gamma_
protected

Definition at line 89 of file DBFGS.H.


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