The objective of the heuristic algorithm is to select the perturbation
sizes that lead to accurately computed derivatives. This is done on an element
to element basis, so it is possible for a given design parameter that the
perturbation size for one element will be different from that of another
element. The selection of the perturbation sizes is based on the behavior of a
scalar metric
for each design parameter .
This metric must be both convenient and representative of the terms that are
numerically differenced. It is chosen as follows:
-
Static steps. For static steps the scalar metric
is chosen as the norm of the element pseudoload:
Since an accurate pseudoload is necessary to obtain an accurate
sensitivity solution, the norm of the pseudoload is an appropriate choice for
.
This choice is also convenient since the pseudoload has to be computed in any
case.
-
Frequency steps. For frequency steps the scalar
metric is chosen as the projection of the matrix
onto an eigenvector :
The choice of
depends on whether a given mode
has a distinct eigenvalue or is associated with a repeated eigenvalue.
If mode
has a distinct eigenvalue,
is taken as .
Consequently,
becomes simply the numerator of
Equation 5.
Therefore,
is a direct measure of the magnitude of the eigenvalue sensitivity and is also
convenient since this term already must be calculated to obtain the eigenvalue
sensitivity.
Unlike the distinct eigenvalue case, the sensitivities of a repeated
eigenvalue cannot be treated independently. The sensitivities of a repeated
eigenvalue are extracted simultaneously from the same reduced eigenvalue
system, and this system is obtained by numerical differencing (recall
Equation 7
and
Equation 8).
Consequently a single perturbation size (for each design parameter) must be
used to obtain all sensitivities of a repeated eigenvalue. To calculate the
single perturbation size, a single scalar metric is obtained by taking
as the sum of the eigenvectors associated with the repeated eigenvalue. The
calculation of
is similar to the calculation of the matrix
(the only term in the reduced eigenvalue system obtained by numerical
differencing); therefore, this choice
is both representative of the repeated eigenvalue case and involves
differencing calculations that are already being done to obtain the reduced
eigenvalue system.
The basic idea of the algorithm is compute the scalar metric
for a range of perturbation sizes ,
,
which vary by orders of magnitude. For each ,
a corresponding
is computed. The relative change in
between consecutive perturbation sizes, calculated as ,
is used to measure how close a perturbation size is to optimum. In this range
of perturbation sizes the one that yields the smallest relative change, denoted
as ,
is identified as the best perturbation size, .
If
is not less than a specified tolerance, the range of perturbation sizes is
expanded (up to a certain limit), and the testing continues. It is important to
realize that
is not used directly in assessing the accuracy of the numerical differentiation
but rather is intended as a means for determining the optimum perturbation
size. Thus, a tighter tolerance on
causes the algorithm to expend more effort in finding an optimum perturbation
size but does not guarantee more accurate sensitivities.