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

本チュートリアルでは、シェル要素でモデル化されている溶接されたブラケットの寸法最適化を行います。

荷重および拘束条件の与えられた構造モデルが使用されます。最適化の目的は、ある応力を制約条件として、モデルで使用される材料の量を最小化することです。ブラケットの寸法変更は、最適設計において両サイドで寸法が等しくなるよう、互いに関連付けられます。

4010_bracket
図 1. 溶接されたブラケットの構造モデル

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

最適化問題の設定は次のとおりです:
目的関数
体積の最小化
制約条件
ブラケットのフォンミーゼス応力の最大値 < 100 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. sizeパネルをクリックします。
  3. desvarサブパネルを選択します。
  4. 設計変数part1を作成します。
    1. desvar=欄にpart1と入力します。
    2. initial value =欄に2.5と入力します。
    3. lower bound =欄に1.0と入力します。
    4. lower bound =欄に2.5と入力します。
    5. move limitのトグルはmove limit defaultにセットします。
    6. 離散設計変数(ddval)のトグルをno ddvalにセットします。
    7. createをクリックします。
  5. 設計変数part2を作成します。
    1. desvar=欄にpart2と入力します。
    2. initial value =欄に2.5と入力します。
    3. lower bound =欄に1.0と入力します。
    4. lower bound =欄に2.5と入力します。
    5. move limitのトグルはmove limit defaultにセットします。
    6. 離散設計変数(ddval)のトグルをno ddvalにセットします。
    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の横のボックスにチェックマークを入れ、100と入力します。
    3. response =をクリックしstress2を選択します。
    4. 荷重ステップセレクターを使って、STEPを選択します。
    5. createをクリックします。
    制約条件は上限制約で値が100です。この制約条件はサブケースSTEPに適用されます。
  4. returnをクリックし、Optimization panelに進みます。

目的関数の定義

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

データベースの保存

  1. メニューバーFile > Save As > Modelをクリックします。
  2. Save Asダイアログでファイル名欄にbracket_size.hmと入力し、自身の作業ディレクトリに保存します。

最適化の実行

  1. AnalysisページからOptiStructをクリックします。
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名として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はエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル bracket_size.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。
ディレクトリ内に作成されるデフォルトのファイルは以下の通り:
bracket_size.hgdata
各反復計算における目的関数、制約条件の違反率が納められているHyperGraph形式のファイル。
bracket_size.prop
寸法最適化について最終反復計算からの更新された特性データがすべて含まれるOptiStruct特性出力ファイル。
bracket_size.hist_dat
目的関数の各反復計算の履歴および最も違反している制約値が納められているOptiStruct反復計算履歴ファイル。反復計算履歴のxyプロットに使用可能。
bracket_size.html
問題設定と最終反復計算結果のサマリーを含むHTML形式の最適化レポート。
bracket_size.out
ファイルのセットアップ、最適化のセットアップの情報、 実行に必要なRAMとディスクスペースの見積もり、それぞれの最適化の反復情報、計算時間の情報を含むOptiStruct出力ファイル。bracket_size.femファイルの処理を行う際にフラグが立つワーニングおよびエラーに関しては、このファイルを確認すること。
bracket_size.sh
反復計算が終了した段階での形状データが納められているファイル。各要素の密度値、空孔の大きさと角度を含む。このファイルは、最適化計算のリスタートに使用することができます。
bracket_size.stat
計算を完全に終了するために使用されたCPU、また、入力デックの読み出し、アセンブリ、解析および収束等のCPU情報が含まれています。
bracket_size.h3d
HyperViewバイナリ結果ファイル。

結果の表示

OptiStructからの寸法最適化の結果は、2つのファイルに出力されます。bracket_size.outファイルには、各反復計算についての寸法および体積情報が含まれています。bracket_size.h3dファイルには、5回の反復計算すべてについての要素板厚、変位および応力結果が反復計算0と反復計算3の線形静的解析の結果として出力されます。このステップでは、すべての結果を確認します。まず、HyperMeshのバイナリ結果ファイルに含まれる結果を確認する必要があります。その後、bracket_size.outファイル内の寸法履歴を確認します。

応力結果の表示

寸法最適化の後、応力の制約条件に違反していないかどうかを確認するため、応力値をチェックします。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、結果ファイルを読み込みます。.h3dファイルすべてがそれぞれHyperViewの異なるページに読み込まれます。ファイルbracket_size_des.h3dおよびbracket_size_s1.h3dがそれぞれpage 2とpage 3に読み込まれます。
  2. アプリケーションの上部右側でpageNext-24をクリックし、次のページに移動します。
    3番目のページにはbracket_size_s1.h3dファイルから読み込まれた結果が含まれています。ページの名称はSubcase 1 - STEPと表示され、結果がsubcase 1に対応していることを表しています。
  3. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  4. Result typeをElement Stresses [2D & 3D] (t)およびvonMisesに設定します。
  5. Averaging MethodをNoneに設定します。
  6. Applyをクリックします。
    フォンミーゼス応力を示すコンタープロットが表示されます。モデル内の各要素に、適用されている荷重および境界条件から得られた要素のフォンミーゼス応力値を示すレジェンドカラーが割り当てられます。反復計算のステップを変更していない場合は、初期ステップの応力がコンター表示されます。最終ステップをコンター表示するには、Modelブラウザを使ってその荷重ケースの最終反復計算を設定します。
  7. Resultsブラウザで、Simulationリストから最終反復計算を選択します。
    2つの反復計算のみが表示されています。最適化の実行については、First and Last (FL)がデフォルトの設定です。この設定を変更するには、ALLの周波数設定を有するOUTPUTコントロールカードを追加します。

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

積層板厚結果の表示

  1. アプリケーションの上部右側でpagePrevious-24をクリックし、1つ前のページに戻ります。
  2. Result typeをElement Thicknesses (s)に設定します。
  3. Resultsブラウザで、Load Case and Simulation SelectionからIteration 2を選択します。
  4. Applyをクリックします。
代わりに、テキストエディタでbracket_size.propファイルを開いて、2つのパートの最終寸法板厚を確認しても構いません。

.outファイルの確認

.outファイルには、最適化プロセスのサマリーが含まれています。.outファイル内の情報を確認することで、1つの反復計算から次の反復計算への間に目的関数、制約条件、設計変数がいかに変化したかを知ることができます。

与えられた制約条件下で、体積は最小となっていますか?

応力の制約条件は満たされていますか?

2つのパートの結果寸法はいくつになっていますか?

設計変数のリンクはうまくいっていますか?