The quasi-Newton BFGS formula. More...
Public Member Functions | |
TypeName ("BFGS") | |
BFGS (const fvMesh &mesh, const dictionary &dict) | |
virtual | ~BFGS ()=default |
void | computeCorrection () |
virtual void | updateOldCorrection (const scalarField &oldCorrection) |
virtual void | write () |
![]() | |
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) |
scalarField & | returnCorrection () |
void | writeCorrection () |
virtual scalar | computeMeritFunction () |
virtual scalar | meritFunctionDirectionalDerivative () |
bool & | initialEtaSet () |
Protected Member Functions | |
void | allocateMatrices () |
void | updateHessian () |
void | update () |
void | readFromDict () |
![]() | |
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 > | HessianInv_ |
SquareMatrix< scalar > | HessianInvOld_ |
scalarField | derivativesOld_ |
scalarField | correctionOld_ |
label | counter_ |
![]() | |
const fvMesh & | mesh_ |
const dictionary | dict_ |
IOdictionary | optMethodIODict_ |
scalarField | objectiveDerivatives_ |
PtrList< scalarField > | constraintDerivatives_ |
scalar | objectiveValue_ |
scalarField | cValues_ |
scalarField | correction_ |
scalarField | cumulativeCorrection_ |
scalar | eta_ |
bool | initialEtaSet_ |
word | correctionFolder_ |
bool | globalSum_ |
Additional Inherited Members | |
![]() | |
static autoPtr< updateMethod > | New (const fvMesh &mesh, const dictionary &dict) |
BFGS | ( | const fvMesh & | mesh, |
const dictionary & | dict | ||
) |
Definition at line 162 of file BFGS.C.
References Foam::endl(), and Foam::Info.
|
virtualdefault |
|
protected |
Definition at line 42 of file BFGS.C.
References BFGS::activeDesignVars_, BFGS::HessianInv_, BFGS::HessianInvOld_, Foam::I, Foam::identity(), and updateMethod::objectiveDerivatives_.
|
protected |
Definition at line 60 of file BFGS.C.
References DebugInfo, Foam::endl(), forAll, Foam::Info, s, Foam::sqr(), WarningInFunction, y, and Foam::Zero.
|
protected |
Definition at line 102 of file BFGS.C.
References Foam::endl(), forAll, Foam::Info, Field::map(), and Foam::Zero.
|
protected |
Definition at line 137 of file BFGS.C.
References Foam::identity(), n, and Foam::Zero.
TypeName | ( | "BFGS" | ) |
|
virtual |
Implements updateMethod.
Definition at line 210 of file BFGS.C.
References update().
|
virtual |
Reimplemented from updateMethod.
Definition at line 226 of file BFGS.C.
References updateMethod::updateOldCorrection().
|
virtual |
Reimplemented from updateMethod.
Definition at line 233 of file BFGS.C.
References updateMethod::write().
|
protected |
Definition at line 76 of file BFGS.H.
Referenced by BFGS::allocateMatrices().
|
protected |
Definition at line 86 of file BFGS.H.
Referenced by BFGS::allocateMatrices().
|
protected |
Definition at line 89 of file BFGS.H.
Referenced by BFGS::allocateMatrices().
|
protected |
|
protected |
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.