OptiStruct 3.5の目的関数と制約条件を使用したOptiStruct 5.0以降でのデックの設定

OptiStruct 3.5での最適化の設定はよりシンプルでしたが、多くの制限もありました。OptiStruct 5.0以降では、目的関数および制約条件の設定方法がより柔軟になりましたが、問題設定がより複雑になっています。

OptiStructのバージョン(5.0以降)でもOptiStruct 3.5のデックは問題なく動作しますが、新しい最適化フォーマットを使用したデックの作成が推奨されます。このセクションでは、OptiStruct 3.5の目的関数および制約条件(comp、freq、wcomp、wfreq、combなど)を、OptiStruct 5.0以降で設定する方法について説明します。

最適化問題の設定に旧フォーマットが使用されている(matfrac、mini、maxi、ubcon、またはlbconが設定時に存在する)場合、OptiStruct 5.0以降の最適化の新機能は使用できません。

制約条件が設定された質量率のコンプライアンスの最小化

OptiStruct 3.5では、この種の最適化を実行するために2つのカード(mini, compとubcon, 0.3, volume)が使用されました。

新しい設定は次のようになります。mini, compはDESOBJ(MIN) = 1に置き換えられ、ubcon, 0.3, volumeはDESGLB = 101に置き換えられます。以下に示すように、ヘッダー内で参照される応答値と制約値を定義する3つのカード(2つのDRESP1と1つのDCONSTR)が、BEGIN BULKステートメントの後ろに追加されます。
$
DESGLB = 101
$
SUBCASE 1
LOAD = 2
SPC = 1
DESOBJ(MIN) = 1
$
BEGIN BULK
$
DRESP1, 1, comp, COMP
DRESP1, 100, massf, MASSFRAC
DCONSTR, 101, 100, , 0.300
$

制限条件が設定された変位の質量の最小化

この問題のデック設定は以前の設定と同じです。目的は全体(質量)であるため、DESOBJステートメントは荷重ケース定義の外側になります。変位の制約条件は、最初の荷重ケースにのみアクティブとなります。したがって、DESSUBステートメントはその荷重ケースの内部で使用されます。
$
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
$

質量制約条件が設定された重み付きコンプライアンスの最小化

OptiStructは、DRESP1カード上で定義する応答タイプWCOMP(重み付きコンプライアンス)を提供します。また、ユーザーが、重み付きコンプライアンス関数に含める荷重ケースごとに重み係数を定義する必要があります。
注: 目的および制約条件のいずれもグローバルな数量(単一の荷重ケースに限定されない)であるため、DESOBJおよびDESGLBステートメントは荷重ケースの宣言の前に配置されます。
$
DESOBJ = 50
DESGLB = 101
$
SUBCASE 1
LOAD   = 2
SPC    = 1
WEIGHT = 2.0
$
SUBCASE 2
LOAD   = 3
SPC    = 1
WEIGHT = 1.0
$
BEGIN BULK
$
DRESP1, 50, wcomp, WCOMP
$
DRESP1, 100, weight, MASS
DCONSTR, 101, 100, , 1.560
$

体積制約条件が設定された周波数の最大化

このデックの設定は、OptiStruct 5.0以降で体積応答が実際の体積(体積率ではなく)を参照することを除いて、最初の2つのデックの設定と同じです。
$
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
$

体積制約条件が設定された重みつき周波数の最大化

OptiStruct 3.5では、固有値の逆数が加算されていたため、重み付き周波数応答(wfreq)が最小化されていました。これは、下位モードの周波数を増加させた方が、上位モードの周波数を増加させるよりも、目的関数に大きな影響を与えるようになっています。すべてのモードの周波数を単純に加算するだけであれば、OptiStructは下位モードよりも上位モードを増やすように処理します。wfreqはグローバルな応答であるため、DESOBJステートメントは最初の荷重ケースより前になります。OptiStruct 3.5内の周波数の重み付けと加算を複製するには、以下のアプローチを使用します。
$
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
$

体積率制約条件が設定されたコンプライアンスおよび周波数の組み合わせの最小化

OptiStruct 3.5では、逆周波数およびコンプライアンス応答の組み合わせ(comb)は、周波数値とコンプライアンスを正しく加算するための正規化係数を必要としました。OptiStruct 5.0以降の同等の設定を以下に示します。

NORMの指定がない場合、OptiStructは最初の反復計算ステップで周波数とコンプライアンスを評価し、NORM係数を自動的に選択します。
$
DESOBJ(MIN) =  50
DESGLB      = 101
$
NORM = 1000.0
$
SUBCASE 1
LOAD   = 2
SPC    = 1
WEIGHT = 1.0
$
SUBCASE 2
LOAD   = 3
SPC    = 1
WEIGHT = 1.0
$
SUBCASE 3
METHOD = 10
SPC    =  1
MODEWEIGHT, 1, 1.5
MODEWEIGHT, 2, 1.0
$
BEGIN BULK
$
DRESP1, 50, comp, COMB
$
DRESP1, 100, volf, VOLFRAC
DCONSTR, 101, 100, , 0.300
$