# Deck Setup in OptiStruct 5.0 and higher with OptiStruct 3.5 Objectives and Constraints

Setting up an optimization was simpler in OptiStruct 3.5, but it was also very limited. Starting with OptiStruct 5.0, a lot more flexibility has been added to the way objectives and constraints are set up, but the problem setup is more complex.

Although versions of OptiStruct (including and beyond 5.0) will execute OptiStruct 3.5 decks flawlessly, you are urged to create decks using the new optimization format. This section demonstrates how objectives and constraints in OptiStruct 3.5 (such as comp, freq, wcomp, wfreq, and comb) can be set up in OptiStruct 5.0 and higher.

The new optimization capabilities of OptiStruct 5.0 and higher will not be available if the old format is used for the setup of the optimization problem (if matfrac, mini, maxi, ubcon, or lbcon are present in the setup).

## Minimize Compliance for Constrained Mass Fraction

In OptiStruct 3.5, two cards were used to do this kind of optimization: mini, comp and ubcon, 0.3, volume.

The new setup is as follows: mini, comp is replaced by DESOBJ(MIN) = 1 and ubcon, 0.3, volume is replaced byDESGLB = 101. Three cards (two DRESP1s and one DCONSTR) defining the responses and constraint values referenced in the header are added after the BEGIN BULK statement:
$DESGLB = 101$
SUBCASE 1
SPC = 1
DESOBJ(MIN) = 1
$BEGIN BULK$
DRESP1, 1, comp, COMP
DRESP1, 100, massf, MASSFRAC
DCONSTR, 101, 100, , 0.300
$ ## Minimize Mass for Constrained Displacement The deck setup for this problem is similar to the previous one. Since the objective is global (mass), the DESOBJ statement goes outside of the load case definition. The constraint on displacement is only active for the first load case; thus a DESSUB statement is used within that load case. $
DESOBJ(MIN) = 1
$SUBCASE 1 LOAD = 2 SPC = 1 DESSUB = 101$
BEGIN BULK
$DRESP1, 1, weight, MASS$
DRESP1, 100, disp, DISP, , , 7, , 1202
DCONSTR, 101, 100, , 1.4e-6
$ ## Minimize Weighted Compliance for Constrained Mass OptiStruct provides the response type WCOMP, weighted compliance, to be defined on the DRESP1 card. In addition, you need to define the weight factors for each load case included in the weighted compliance function. Note: Both the objective and constraint are global quantities (not specific to any single load case) and thus the DESOBJ and DESGLB statements occur before the load case declarations. $
DESOBJ = 50
DESGLB = 101
$SUBCASE 1 LOAD = 2 SPC = 1 WEIGHT = 2.0$
SUBCASE 2
SPC    = 1
WEIGHT = 1.0
$BEGIN BULK$
DRESP1, 50, wcomp, WCOMP
$DRESP1, 100, weight, MASS DCONSTR, 101, 100, , 1.560$

## Maximize Frequency for Constrained Volume

The setup for this deck is similar to that for the first two decks except that, starting with OptiStruct 5.0, the volume response now refers to the actual volume (not the volume fraction).
$DESGLB = 101$
SUBCASE 1
METHOD = 2
SPC = 1
DESOBJ(MAX) = 1
$BEGIN BULK$
DRESP1, 1, freq1, FREQ, , , 1
$DRESP1, 100, vol, VOLUME DCONSTR, 101, 100, , 20000.0$

## Maximize Weighted Frequencies for Constrained Volume

In OptiStruct 3.5, the weighted frequency response (wfreq), was minimized since the inverse of the eigenvalues was being summed together. This was done so that increasing the frequencies of the lower modes would have a larger effect on the objective function than increasing the frequencies of the higher modes. If the frequencies of all modes are simply added together, OptiStruct will put more effort into increasing the higher modes than the lower modes. The DESOBJ statement goes above the first load case since wfreq is a global response. To duplicate the frequency weighting and summing in OptiStruct 3.5, use the following approach:
$DESGLB = 101$
DESOBJ(MIN)  = 11
SUBCASE 1
METHOD       =  2
SPC          =  1
MODEWEIGHT, 1, 1.0
MODEWEIGHT, 2, 1.0
$BEGIN BULK$
DRESP1, 11, wfreq, WFREQ
$DRESP1, 100, vol, VOLUME DCONSTR, 101, 100, , 20000.0$

## Minimize Combined Compliance and Frequencies for Constrained Volume Fraction

In OptiStruct 3.5, the combined reciprocal frequency and compliance response (comb) required a normalization factor in order to properly add frequency values and compliance. The equivalent setup for OptiStruct 5.0 and higher is shown below.

If NORM is not given, OptiStruct will evaluate the frequencies and compliances in the initial iteration step to automatically select a NORM factor.
$DESOBJ(MIN) = 50 DESGLB = 101$
NORM = 1000.0
$SUBCASE 1 LOAD = 2 SPC = 1 WEIGHT = 1.0$
SUBCASE 2
$SUBCASE 3 METHOD = 10 SPC = 1 MODEWEIGHT, 1, 1.5 MODEWEIGHT, 2, 1.0$
$DRESP1, 50, comp, COMB$
\$