OS-T:4030 溶接されたブラケットの離散寸法最適化

本チュートリアルでは、溶接されたブラケットのシェル要素モデルについて、離散設計変数を用いて寸法最適化を行います。

荷重および拘束条件の与えられた構造モデルが使用されます。最適化の目的は、ある応力を制約条件として、モデルで使用される材料の量を最小化することです。

4030_original_model
図 1.

構造モデルをHyperMeshに読み込みます。拘束条件、荷重、材料特性およびサブケース(荷重ステップ)は既にモデル内で定義されています。寸法設計変数と最適化パラメータを定義し、OptiStructが最適寸法を決定します。その後、結果をHyperView内で確認します。

最適化問題の設定は次のとおりです:
目的関数
体積の最小化
制約条件
ブラケットのフォンミーゼス応力の最大値<120 MPa
設計変数
ブラケットの寸法

HyperMeshの起動とOptiStructユーザープロファイルの設定

  1. HyperMeshを起動します。
    User Profilesダイアログが現れます。
  2. OptiStructを選択し、OKをクリックします。
    これで、ユーザープロファイルが読み込まれます。ユーザープロファイルには、適切なテンプレート、マクロメニュー、インポートリーダーが含まれており、OptiStructモデルの生成に関連したもののみにHyperMeshの機能を絞っています。

モデルのオープン

  1. File > Open > Modelをクリックします。
  2. optistruct.zipファイルから自身の作業ディレクトリに保存したbracket_size.hmファイルを開きます。モデルファイルへのアクセスをご参照ください。
  3. Openをクリックします。
    bracket_size.hmデータベースが現在のHyperMeshセッションに読み込まれます。

最適化のセットアップ

離散設計変数の作成

  1. Analysisページからパネルoptimizationをクリックします。
  2. discrete dvsパネルをクリックします。
  3. 離散設計変数DDV1を作成します。
    1. name =欄にDDV1と入力します。
    2. from=欄に0.5と入力します。
    3. to=欄に3.0と入力します。
    4. increment=欄に0.1と入力します。
    5. createをクリックします。
    これで、初期値0.5、最終値3.0で、離散設計変数が作成されます。変数のインクリメント(増分)は0.1で、0.5、0.6、0.7、、、のように3.0までの値をとります。
  4. DDV1と同じ離散値で、別の離散設計変数DDV2を作成します。
  5. returnをクリックし、optimizationパネルに戻ります。

寸法設計変数の作成

  1. Analysisページからパネルoptimizationをクリックします。
  2. sizeパネルをクリックします。
  3. desvarサブパネルを選択します。
  4. 設計変数part1を作成します。
    1. desvar=欄にpart1と入力します。
    2. initial value =欄に2.5と入力します。
    3. lower bound =欄に0.5と入力します。
    4. lower bound =欄に3.0と入力します。
    5. move limitのトグルはmove limit defaultにセットします。
    6. 離散設計変数(ddval)のトグルをddval=にセットし、続いてddvalをクリックし、DDV1を選択します。
      これは、設計変数をDDVAL(離散設計変数値)DDV1にリンクします。
    7. createをクリックします。
  5. 設計変数part2を作成します。
    1. desvar=欄にpart2と入力します。
    2. initial value =欄に2.5と入力します。
    3. lower bound =欄に0.5と入力します。
    4. lower bound =欄に3.0と入力します。
    5. move limitのトグルはmove limit defaultにセットします。
    6. 離散設計変数(ddval)のトグルをddval=にセットし、続いてddvalをクリックし、DDV2を選択します。
    7. createをクリックします。
  6. generic relationshipサブパネルを選択します。
  7. 設計変数とプロパティの関係part1_thを作成します。
    1. name =欄にpart1_thと入力します。
    2. プロパティセレクターを使って、part1を選択します。
    3. プロパティセレクターの下で、Thickness Tを選択します。
    4. designvarsをクリックします。
    5. part1を選択します。
      注: linear factorは自動的に1.000に設定されます。
    6. returnをクリックします。
    7. createをクリックします。
    設計変数part1をプロパティpart1PSHELLカード上の板厚入力値に関連付けた、設計変数とプロパティの関連part1_thが作成されました。
  8. 設計変数とプロパティの関係part2_thを作成します。
    1. name =欄にpart2_thと入力します。
    2. プロパティセレクターを使って、part2を選択します。
    3. プロパティセレクターの下で、Thickness Tを選択します。
    4. designvarsをクリックします。
    5. part2を選択します。
    6. returnをクリックします。
    7. createをクリックします。
    設計変数part2をプロパティpart2PSHELLカード上の板厚入力値に関連付けた、設計変数とプロパティの関連part2_thが作成されました。
  9. returnをクリックし、Optimization panelに進みます。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 設計空間の体積率を定義する体積の応答を作成します。
    1. responses=欄に、volumeと入力します。
    2. response typeの下で、volumeを選択します。
    3. regional selectionをtotalno regionidに設定します。
    4. createをクリックします。
  4. 静的応力の応答を作成します。
    1. responses=欄に、stress1と入力します。
    2. response typeをstatic stressに設定します。
    3. プロパティセレクターを使って、part1を選択します。
    4. response セレクターをvon misesにセットします。
    5. von misesの下で、both surfacesを選択します。
    6. createをクリックします。
  5. コンポーネントpart2内の要素のフォンミーゼス応力について定義される、stress2という名の別の静的応力応答を作成します。
  6. returnをクリックし、Optimization panelに戻ります。

制約の作成

目的関数として定義された応答は制約することは不可能です。この場合、応答volumeに制約条件を与えることはできません。

上限の制約条件を応答stress1およびstress2に定義します。

  1. dconstraintsサブパネルをクリックします。
  2. 応答stress1に制約条件を定義します。
    1. constraints=欄にstress1と入力します。
    2. upper boundの横のボックスにチェックマークを入れ、100と入力します。
    3. response =をクリックしstress1を選択します。
    4. 荷重ステップセレクターを使って、STEPを選択します。
    5. createをクリックします。
    制約条件は上限制約で値が100です。この制約条件はサブケースSTEPに適用されます。
  3. 応答stress2に制約条件を定義します。
    1. constraints=欄にstress2と入力します。
    2. upper boundの横のボックスにチェックマークを入れ、120と入力します。
    3. response =をクリックしstress2を選択します。
    4. 荷重ステップセレクターを使って、STEPを選択します。
    5. createをクリックします。
    制約条件は上限制約で値が120です。この制約条件はサブケースSTEPに適用されます。
  4. returnをクリックし、Optimization panelに進みます。

目的関数の定義

  1. objectiveパネルをクリックします。
  2. minが選択されていることを確認します。
  3. responseをクリックし、volumeを選択します。
  4. createをクリックします。
  5. returnを2回クリックし、Optimization panelを終了します。

最適化の実行

  1. AnalysisページからOptiStructをクリックします。
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてdiscrete_bracket_sizeと入力します。
    OptiStruct入力ファイルには、拡張子 .femが推奨されます。
  4. Saveをクリックします。
    入力ファイル欄には、Save Asダイアログで指定されたファイル名と場所が表示されます。
  5. export optionsのトグルをallにセットします。
  6. run optionsのトグルをoptimizationにセットします。
  7. memory optionsのトグルはmemory defaultにセットします。
  8. OptiStructをクリックして最適化を実行します。
    ジョブが完了すると、ウィンドウ内に次のようなメッセージが現れます:
    OPTIMIZATION HAS CONVERGED.
    FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
    エラーがある場合、OptiStructはエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル discrete_bracket_size.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。

結果の表示

寸法最適化の後、応力の制約条件に違反していないかどうかを確認するため、応力値をチェックします。解析結果は、page 3に用意されます(page 2には最適化結果が含まれます)。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、結果ファイルを読み込みます。.h3dファイルすべてがそれぞれHyperViewの異なるページに読み込まれます。ファイルdiscrete_bracket_size_des.h3dおよびdiscrete_bracket_size_s2.h3dがそれぞれpage 2とpage 3に読み込まれます。
  2. Next PageツールバーアイコンpageNext-24をクリックし、page 3に移動します。
    page 3にはdiscrete_bracket_size_s1.h3dファイルから読み込まれた結果が含まれています。ページの名称はSubcase 1 - STEPと表示され、結果がsubcase 1に対応していることを表しています。
  3. ResultsツールバーでresultsContour-24をクリックし、Contourパネルを開きます。
  4. Result typeをElement Stresses [2D & 3D] (t)およびvonMisesに設定します。
  5. Averaging MethodをNoneに設定します。
  6. Applyをクリックします。
    フォンミーゼス応力を示すコンタープロットが表示されます。モデル内の各要素に、適用されている荷重および境界条件から得られた要素のフォンミーゼス応力値を示すレジェンドカラーが割り当てられます。反復計算のステップを変更していない場合は、初期ステップの応力がコンター表示されます。

    4030_von_mises
    図 2. 初期設計のvon Misesコンター
  7. AnimationツールバーでanimationFastForwardEnd-24をクリックし、その荷重ケースの最終反復計算を設定し、最終ステップをコンター表示します。

    2つの反復計算のみが表示されています。最適化の実行については、First and Last (FL)がデフォルトの設定です。この設定を変更するには、ALLの周波数設定を有するOUTPUTコントロールカードを追加します。

    これで、この荷重ケースの最終反復計算がコンター表示されます。応力が正しい制約下であることを確認します。

    4030_von_mises_optimum
    図 3.
確認事項
.outファイルには、最適化プロセスのサマリーが含まれています。.outファイル内の情報を確認することで、1つの反復計算から次の反復計算への間に目的関数、制約条件、設計変数がいかに変化したかを知ることができます。
与えられた制約条件下で、体積は最小となっていますか?
応力の制約条件は満たされていますか?
2つのパートの結果寸法はいくつになっていますか?
ヒント
des.h3dページに進み、コンターが適用されている場合は解除して最終シミュレーションステップに設定し、Element Thicknessコンターを適用します。
discrete_bracket_size.mvwを追加し、目的関数、制約条件およびその他の情報を確認します。