The definition of a maximization of an eigenvalue problem could be done similar to the controller-based bead algorithm. But this is not recommended. In the sensitivity-based algorithm you have more control over the modes. A problem you usually want to avoid when optimizing eigenmodes is mode-switching because it destabilizes the optimization algorithm. The typical problem is by maximizing the first eigenmode it may "overtake" the second mode - hence, the modes switch place (previous second mode becomes the first mode) and sensitivity algorithm must suddenly take a new mode into consideration. Mode tracking can of course be used (see Optimization parameters for mode tracking), but the computationally cheapest way to push the first eigenmode up is to use the Kreissel-Meier Steinhauser formulation (Type = DYN_FREQ_KREISSEL): In the formulation is the eigenfrequency, e the base of the natural logarithm and and k are constants. The following definition will enforce the 5 first modes to keep their sequence. This is usually sufficient to avoid mode switching among the first couple of modes. DRESP ID_NAME = dresp_eig_kreissel DEF_TYPE = SYSTEM TYPE = DYN_FREQ_KREISSEL LC_SET = Modal,All,1-5 END_ OBJ_FUNC ID_NAME = max_dresp_eig_kreissel DRESP = dresp_eig_kreissel TARGET = MAX END_ The first mode is maximized (TARGET=MAX) until it comes near the higher modes in which case they are being considered as well. See also the figure about the iteration history in Differences between bead optimization algorithms at iteration 13-14 where modes almost switch, but do not because of this formulation. |