OS-HM-T:12000 レールジョイントの3D寸法最適化

チュートリアルレベル:上級本チュートリアルでは、シェル要素で構成される自動車のレールジョイントの寸法最適化を行います。

開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。
図 1における荷重と拘束条件が作用した構造モデル管状クロス部材の末端における変位を制約する必要があります。最小限の材料で、この条件を達成することを目的とします。
1. レールジョイントの構造モデル


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

本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
体積の最小化
拘束
与えられた2つの荷重載荷点における最大節点変位
設計変数
2つのパートの寸法
以下の演習が含まれます:
  • HyperMeshで寸法最適化を設定します。
  • HyperViewで寸法最適化の結果を処理します。

Launch HyperWorks

  1. Launch Altair HyperWorks.
  2. In the New Session window, select HyperMesh from the list of tools.
  3. For Profile, select OptiStruct.
  4. Click Create Session.
    2. Create New Session


    This loads the user profile, including the appropriate template, menus, and functionalities of HyperMesh relevant for generating models for OptiStruct.

モデルファイルを開く

  1. メニューバーでFile > Open > HyperMesh Modelを選択します。
  2. 作業ディレクトリに保存されているjoint_size.hmファイルに移動し、選択します。
  3. Openをクリックします。
    joint_size.hmデータベースが現在のHyperMeshセッションに読み込まれ、既存のデータが置き換えられます。
    3. モデルインポートオプション


    ヒント: または、ファイルブラウザウィンドウからビューポートにファイルをドラッグ&ドロップすることもできます。

モデルのセットアップ

寸法設計変数の作成

  1. Optimizeリボンを選択します。
  2. Design Variablesの下のSizeをクリックします。
    4. 寸法


  3. Nametubeと入力します。
  4. Move Limitには0.1と入力します。
  5. initial valueをクリックし、1.0と入力します。
  6. lower boundをクリックし、0.1と入力します。
  7. upper boundをクリックし、5.0と入力します。
  8. Closeをクリックします。
    新しい設計変数tubeが作成されました。この設計変数は初期値が1.0、下限制約が0.1、上限制約が5.0です。
  9. 1から8の手順を繰り返し、railという名前の設計変数を、同じムーブリミット、初期値、下限および上限値を用いて作成します。
  10. SizeツールグループでProperty Relationshipsサテライトアイコンをクリックします。
    5.


  11. Nameにtube_thと入力します。
  12. Property IDにUnspecifiedをクリックします。
  13. Searchツールをクリックします。
  14. tubeを選択します。
  15. 設計変数リストで、Designvarsを選択します。
  16. をクリックして、Design VariablesのAdvanced Selectionを開きます。
  17. tubeを選択し、OKをクリックします。
  18. Closeをクリックします。
    設計変数とプロパティの関係、tube_thが作成され、設計変数tubeとプロパティtubeのPSHELLカードの板厚入力が関連付けられます。
  19. 手順10から18を繰り返して、設計変数railとプロパティrailのPSHELLカードの板厚入力を関連付けるrail_thの設計変数を作成します。

応答の作成

詳細については、OptiStruct応答ユーザーズガイドをご参照ください。
  1. OptimizeリボンのTargetsツールグループから、Responsesをクリックします。
    6. 応答


  2. Nameにvolumeと入力します。
  3. Response typeにvolumeを選択します。
  4. Property Typeがtotalに設定されていることを確認します。
  5. Closeをクリックします。
    モデルの全体積の応答volumeが定義されました。
  6. Responsesツールをクリックして他の応答を作成します。
  7. NameにX_Dispと入力します。
  8. Response typeにstatic displacementを選択します。
  9. 節点リスト用に0 Nodesをクリックして選択を開始し、荷重点 ( node 3143 )における剛性スパイダーの中心位置の節点を選択します。
    7. 節点を選択します。


  10. のチェックを有効にします。
  11. DOF1を選択します。
  12. Closeをクリックします。
    節点3143のx-方向変位の応答X_Dispが定義されました。
  13. 同様に、別の応答を作成し、それにZ_Dispという名称を与えます。
  14. Response typeにstatic displacementを選択します。
  15. 節点リスト用に0 Nodesをクリックして選択を開始し、荷重点 ( node 3143 )における剛性スパイダーの中心位置の節点を選択します。
  16. のチェックを有効にします。
  17. DOF3を選択し、Closeをクリックします。
    節点3143のz-方向変位の応答Z_Dispが定義されました。

拘束の作成

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

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

  1. OptimizeリボンのTargetsツールグループから、Constraintsをクリックします。
    8. 拘束


  2. NameにDisp_Xと入力します。
  3. ResponseにUnspecifiedを選択します。
  4. Searchツールをクリックし、X_Dispを選択します。
  5. Loadstepsリスト用に、0 Loadsteps > をクリックして、Advanced Selectionを開きます。
  6. FORCE_Xを選択します。
  7. OKをクリックします。
  8. Upper OptionsにドロップダウンメニューからUpper boundを選択します。
  9. Upper boundに0.9と入力します。
    9. 最適化制約Disp_Xの作成


  10. Closeをクリックします。
    制約条件が応答X_Dispに定義されました。制約条件は上限制約で値が0.9です。この制約条件はサブケースFORCE_Xに適用されます。
  11. 同様に、手順1から10を繰り返して、Disp_Zという名前の別の制約を作成します:
    • Response:Z_Disp
    • Loadstep:FORCE_Z
    • Upper Bound:1.6
    10. 最適化制約Disp_Zの作成


目的関数の定義

目的関数は応答を最小化します。

  1. OptimizeリボンのTargetsツールグループから、Objectivesをクリックします。
    11. 目的関数


  2. Objective TypeがMinimizeに設定されているのを確認します。
  3. Responseに、Unspecifiedをクリックします。
  4. Searchツールをクリックし、volumeを選択します。
  5. Closeをクリックします。
    これで、目的関数が定義されました。

HyperMeshデータベースの保存

  1. Fileメニューから Save as > HyperMesh Modelを選択します。
  2. ファイルを書き出したいディレクトリを選択し、
  3. File nameに、joint_sizeOPT.hmを入力します。
  4. Saveをクリックします。

最適化の実行

  1. Optimizeツールから、Runをクリックします。
    12. 最適化の実行


  2. OptiStructモデルファイルを保存したいディレクトリを選択します。
  3. File nameに、joint_sizeOPTと入力します。
    ファイル名の拡張子 .femは、Bulk Data Format入力デックの推奨拡張子です。
  4. Saveをクリックします。
  5. ExportにAllを選択します。
  6. Exportをクリックします。
  7. Altair Compute Consoleで、Runをクリックします。
    ジョブが成功した場合、モデルファイルが書かれたディレクトリに新しいファイルが作成されます。何らかのエラーがある場合、デバッグを手助けするエラーメッセージを探すのにjoint_sizeOPT.outファイルは適切なリソースです。
    寸法最適化のための重要なファイルは以下の通りです:
    joint_sizeOPT.hgdata
    各反復計算における目的関数、制約条件の違反率が納められている形式のファイル。
    joint_sizeOPT.prop
    寸法最適化について最終反復計算からの更新された特性データがすべて含まれるOptiStruct特性出力ファイル。
    joint_sizeOPT.hist
    目的関数の各反復計算の履歴および最も違反している制約値が納められているOptiStruct反復計算履歴ファイル。このファイルは反復計算履歴のxyプロットに使用可能です。
    joint_sizeOPT.out
    ファイルのセットアップ、最適化のセットアップの情報、 実行に必要なRAMとディスクスペースの見積もり、それぞれの最適化の反復情報、計算時間の情報を含むOptiStruct出力ファイル。このファイルには、コンプライアンス、体積計算、最適化反復のための寸法情報が含まれています。ワーニングおよびエラーに関しては、このファイルを確認してください。
    joint_sizeOPT.res
    HyperMeshバイナリ結果ファイル。
    joint_sizeOPT_des.h3d
    設計反復結果を含むHyperViewバイナリ結果ファイル。
    joint_sizeOPT_s1.h3d
    ID 1のサブケースの解析結果を含むHyperViewバイナリ結果ファイル。
    joint_sizeOPT_s2.h3d
    ID 2のサブケースの解析結果を含むHyperViewバイナリ結果ファイル。
    joint_sizeOPT.stat
    解析のプロセスの間のそれぞれのステップでのCPU情報を提供する、解析のプロセスの要約。

結果のポスト処理

デフォルトで、変位および応力の結果が、線形静解析の結果として出力されます。本演習では、これらの結果をHyperViewで可視化する方法について解説します。OptiStructからの寸法最適化結果は、.h3dファイルおよびjoint_sizeOPT.outに出力されます。
joint_sizeOPT_des.h3d
5つの反復計算すべてについての要素板厚を含みます。
joint_sizeOPT_s1.h3d
ID 1のサブケースの反復計算0と反復計算4について、線形静解析の変位および応力結果を含みます(サブケースForce_X)。
joint_sizeOPT_s2.h3d
ID 2のサブケースの反復計算0と反復計算4について、線形静解析の変位および応力結果を含みます(サブケースForce_Z)。
joint_sizeOPT.out
各反復計算についての寸法および体積情報が含まれます。
まず、HyperViewのバイナリ結果ファイルに含まれる結果を確認する必要があります。その後、joint_sizeOPT.outファイル内の寸法履歴を確認します。

寸法最適化結果の表示

寸法板厚結果の表示

  1. Run Summaryウィンドウに "OptiStruct job completed(OptiStructジョブが完了しました)"」というメッセージが表示されたら、Resultsをクリックします。
    HyperViewが起動されjoint_sizeOPT_des.h3dがロードされます。
  2. Resultsブラウザから、最初の反復計算を選択します。
    注: 結果ブラウザが表示されていない場合は、menu barのView メニューから表示できます。
    13. Viewメニュー


  3. Post リボンのPlotツールグループから、Contourをクリックします。
    14.


  4. 最初のドロップダウンメニューで、Results TypeにElement Thicknesses (s)を選択します。
  5. 2番目のドロップダウンメニューがThicknessに設定されているのを確認します。
  6. Averaging methodがNoneに設定されていることを確認します。
  7. Applyをクリックします。
  8. Resultsブラウザから、最終反復計算を選択します。
    シェル板厚を示すコンターイメージが表示されます。モデル内の各要素に、現在の反復計算についての要素板厚値を示すレジェンドカラーが割り当てられます。
    15. 最終反復計算の板厚コンター


変位結果の可視化

境界条件が満たされているか、また、モデルが予測した通り変形しているかを確認するには、モデルの変形形状の表示が役に立ちます。

  1. HyperViewで、Design HistoryをクリックしてPage Selectionダイアログを広げます。
    16. 設計履歴


  2. Subcase 1-Force_Xを選択します。
    17. サブケースを選択します。


    注: ドロップダウンメニューで他のページが有効になっていない場合:
    1. File > Session > Openをクリックします。
    2. joint_sizeOPT.mvwを選択します。
    3. Openをクリックします。
    4. Yesをクリックします。
    これで、他のオプションがドロップダウンで利用できるようになります。
  3. Post リボンのPlotツールグループから、Contourをクリックします。
    18.


  4. Result Typeで、1つ目のドロップダウンメニューからDisplacement [v]を選択します。
  5. 2番目のドロップダウンメニューでXを選択します。
  6. Averaging methodがNoneに設定されていることを確認します。
  7. Applyをクリックします。
    結果のコンターは、適用されている荷重および境界条件から得られたxコンポーネントの変位の状態が示されています。
  8. HomeツールグループでMeasureを選択します。
    19. Measureツール


  9. ガイドバーの最初のドロップダウンメニューでNodal Contourを選択しします。
    20. 節点コンターの選択


  10. Nodesをクリックしてnode 3143荷重を持つ剛体スパイダー節点を選択します。
    21. 最初の反復計算におけるX-Force荷重ケースにおけるX方向の変位


    節点3143(荷重載荷点の剛体スパイダーの中央)のx-変位値がmodeling windowに表示されます。x-変位は、先に定義した上限制約値0.9を上回っています。
  11. Resultsブラウザから、最終反復計算を選択します。
    22. 最終反復計算におけるX-force荷重ケースについてのX方向の変位


    コンターには、Subcase 1(FORCE_X)および最適化反復計算の最後に対応する反復計算4の変位結果が表示されるようになりました。今度は、x-変位は0.9未満になりました。
  12. Page Selectionダイアログを広げ、Subcase 2-Force_Zを選択します。
    注: ページの名称はSubcase 2 – Force_Zと表示され、結果がsubcase 2に対応していることを表しています。
  13. Post リボンのPlotツールグループから、Contourをクリックします。
    23.


  14. Result Typeで、1つ目のドロップダウンメニューからDisplacement [v]を選択します。
  15. 2番目のドロップダウンメニューでZを選択します。
  16. Applyをクリックします。
  17. 手順8から11までを繰り返し、節点3143のz-変位を計測、表示します。
    24. 最初の反復計算におけるZ-Force荷重ケースについてのZ方向の変位


    25. 最終反復計算におけるZ-Force荷重ケースについてのZ方向の変位

寸法板厚結果表示の別の方法

  1. またはMS-DOSシェルで、テキストエディタを用いてjoint_sizeOPT.outファイルを開きます。
  2. 体積、制約条件情報および各反復計算における寸法に注目しながら、5つの反復計算すべてを確認します。
    • 与えられた制約条件下で、体積は最小となっていますか?
    • 変位の制約条件は満たされていますか?
    • レールとチューブの結果寸法はいくつになっていますか?