I'm working on a frequency optimization problem, where I want to minimize certain modes, maximize certain modes, and maintain a single mode within a certain range. Specifically:
- reduce all modes under 10,000 Hz as much as possible
- maintain a single longitudinal mode between 10,000-11,000 Hz (the 'working' mode)
- maximize all modes above 11,000 Hz as much as possible
Basically, the goal is to create high separation between the working mode and surrounding modes. There's a few key challenges here:
1) It's difficult to know how many modes exist under 10,000 Hz as the optimization runs. For example, ignoring rigid body modes, let's say there are 6 modes to begin. If I target the 6th mode to be reduced, it is sometimes eliminated entirely as the structure changes, which results in an error because the mode no longer exists, and the analysis stops. If I target the 5th mode instead, the 6th mode may not be as effectively reduced. Is there a way to perform a modal analysis in which the search decreases in frequency (i.e. it begins at 10,000 Hz and finds the first mode under)? This would solve this issue at least, as I could always target the first mode. Or are there other options?
2) Another problem is that it's difficult to maintain the working mode within the constraints. As soon as it goes below or above the range, the analysis again stops as there is no mode in the specified range.
3) A third problem is identifying the mode in 10-11 kHz as a longitudinal mode. Although it may begin as a longitudinal mode, that can quickly change to bending or torsional as the optimization runs. In the past, I've performed a harmonic analysis to excite this mode, and then try to maximize the displacement. This tends to point the optimization towards a longitudinal mode, since it resonates with the harmonic input force and creates larger displacements. However, I'm looking for a simpler method, if there is one.
Does anyone have any ideas on how to formulate this problem for OptiStruct/HyperStudy?