The coding for sensitivity analysis is concentrated within the sensitivity.c subroutine. The objective functions and the parameters describing them are stored in a character*81 field objectset(4,nobject), where nobject is the number of objective functions. In the absence of constraints there can be an arbitrary number of objective functions specified by the user. In the presence of constraints, there is exactly one objective function and an arbitrary number of constraints. Regarding the field objectset, constraints are treated in exactly the same way as objective functions. However, in the presence of constraints, in addition to the sensitivity of the objective function and each of the constraints, the sensitivity of the constrained objective function is calculated too. Therefore, nobject is in that case 1(for the unconstrained objective function) + number of constraints + 1 (for the constrained objective function)
The structure of the field objectset is as follows:
The structure of subroutine sensitivity.c is made up of a preprocessing part, a processing part and a postprocessing part. The preprocessing part is executed only once, for frequency sensitivities the processing and postprocessing part is executed as many times as there are eigenvalues, else they are executed only once.