Go to the documentation of this file.
115 void operator=(
const SR1&) =
delete;
131 virtual ~SR1() =
default;
144 virtual void write();
scalar etaHessian_
Step for the Newton method.
The quasi-Newton Symmetric Rank One formula.
label nSteepestDescent_
Number of first steepest descent steps.
scalar ratioThreshold_
For stability check.
scalarField derivativesOld_
The previous derivatives.
labelList activeDesignVars_
Map to active design variables.
void computeCorrection()
Compute design variables correction.
void allocateMatrices()
Allocate matrices in the first optimisation cycle.
void readFromDict()
Read old info from dict.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Abstract base class for optimisation methods.
virtual ~SR1()=default
Destructor.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
label counter_
Optimisation counter.
Mesh data needed to do the Finite Volume discretisation.
virtual void write()
Write old info to dict.
SquareMatrix< scalar > HessianInv_
void update()
Update design variables.
scalarField correctionOld_
The previous correction.
SquareMatrix< scalar > HessianInvOld_
The previous Hessian inverse.
TypeName("SR1")
Runtime type information.
void updateHessian()
Update approximation of the inverse Hessian.
virtual void updateOldCorrection(const scalarField &oldCorrection)