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

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

荷重および拘束条件の与えられた構造モデルが使用されます。管状クロス部材の末端における変位を制約する必要があります。最小限の材料で、この条件を達成することを目的とします。

4000_structural_model
図 1. レールジョイントの構造モデル

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

本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
体積の最小化
制約条件
与えられた2つの荷重載荷点における最大節点変位
設計変数
2つのパートの板厚

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

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

モデルのオープン

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

最適化のセットアップ

寸法設計変数の作成

  1. Analysisページからパネルoptimizationをクリックします。
  2. sizeパネルをクリックします。
  3. desvarサブパネルを選択します。
  4. 設計変数tubeを作成します。
    1. desvar=欄にtubeと入力します。
    2. initial value =欄に1.0と入力します。
    3. lower bound =欄に0.1と入力します。
    4. lower bound =欄に5.0と入力します。
    5. move limitのトグルはmove limit defaultにセットします。
    6. 離散設計変数(ddval)のトグルをno ddvalにセットします。
    7. createをクリックします。
  5. 設計変数railを作成します。
    1. desvar=欄にrailと入力します。
    2. initial value =欄に1.0と入力します。
    3. lower bound =欄に0.1と入力します。
    4. lower bound =欄に5.0と入力します。
    5. move limitのトグルはmove limit defaultにセットします。
    6. 離散設計変数(ddval)のトグルをno ddvalにセットします。
    7. createをクリックします。
  6. generic relationshipサブパネルを選択します。
  7. 設計変数とプロパティの関係tube_thを作成します。
    1. name =欄にtube_thと入力します。
    2. プロパティセレクターを使って、tube2を選択します。
    3. プロパティセレクターの下で、Thickness Tを選択します。
    4. designvarsをクリックします。
    5. tubeを選択します。
      注: linear factorは自動的に1.000に設定されます。
    6. returnをクリックします。
    7. createをクリックします。
    設計変数tubeをプロパティtube2PSHELLカード上の板厚入力値に関連付けた、設計変数とプロパティの関連tube_thが作成されました。
  8. 設計変数とプロパティの関係rail_thを作成します。
    1. name =欄にrail_thと入力します。
    2. プロパティセレクターを使って、tube1を選択します。
    3. プロパティセレクターの下で、Thickness Tを選択します。
    4. designvarsをクリックします。
    5. railを選択します。
    6. returnをクリックします。
    7. createをクリックします。
    設計変数railをプロパティtube1PSHELLカード上の板厚入力値に関連付けた、設計変数とプロパティの関連rail_thが作成されました。
  9. returnをクリックし、Optimization panelに進みます。

応答の作成

  1. responsesパネルをクリックします。
  2. 応答volumeを作成します。
    1. response=欄にvolumeと入力します。
    2. response typeをvolumeに設定します。
    3. regional selectionをtotalに設定します。
    4. createをクリックします。
    モデルの全体積の応答volumeが定義されました。
  3. 応答X_Dispを作成します。
    1. response=欄にX_Dispと入力します。
    2. response typeをstatic displacementに設定します。
    3. nodes > by idをクリックし、id=欄に3143と入力します。
      これは、荷重載荷点の剛性スパイダーの中央にある節点です。
    4. dof1を選択します。
    5. createをクリックします。
    節点3143のx-方向変位の応答X_Dispが定義されました。
  4. 応答Z_Dispを作成します。
    1. response=欄にZ_Dispと入力します。
    2. response typeをstatic displacementに設定します。
    3. nodes > by idをクリックし、id=欄に3143と入力します。
      これは、荷重載荷点の剛性スパイダーの中央にある節点です。
    4. dof3を選択します。
    5. createをクリックします。
    節点3143のz-方向変位の応答Z_Dispが定義されました。
  5. returnをクリックし、Optimization panelに進みます。

制約の作成

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

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

  1. dconstraintsサブパネルをクリックします。
  2. 応答X_Dispに制約条件を定義します。
    1. constraints=欄にDisp_Xと入力します。
    2. upper boundの横のボックスにチェックマークを入れ、0.9と入力します。
    3. response =をクリックしX_Dispを選択します。
    4. 荷重ステップセレクターを使って、Force_Xを選択します。
    5. createをクリックします。
    制約条件は上限制約で値が0.9です。この制約条件はサブケースForce_Xに適用されます。
  3. 応答Z_Dispに制約条件を定義します。
    1. constraints=欄にDisp_Zと入力します。
    2. upper boundの横のボックスにチェックマークを入れ、1.6と入力します。
    3. response =をクリックしZ_Dispを選択します。
    4. 荷重ステップセレクターを使って、Force_Zを選択します。
    5. createをクリックします。
    制約条件は上限制約で値が1.6です。この制約条件はサブケースForce_Zに適用されます。
  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ダイアログでファイル名欄にjoint_sizeOPT.hmと入力し、自身の作業ディレクトリに保存します。

最適化の実行

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

結果の表示

OptiStructからデフォルトで、変位および応力の結果が、線形静解析の結果として出力されます。これらの結果を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. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、結果ファイルを読み込みます。3つの.h3dファイルすべてがそれぞれHyperViewの異なるページに読み込まれます。ファイルjoint_sizeOPT_des.h3djoint_sizeOPT_s1.h3dおよびjoint_sizeOPT_s2.h3dがそれぞれpage 2、page 3、page 4に読み込まれます。最適化反復計算結果(寸法板厚)は最初のページに読み込まれています。ページの名称はDesign Historyと表示され、結果が最適化反復計算に対応していることを表しています。
  2. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  3. Result typeをElement Thicknesses (s)およびThicknessに設定します。
  4. Averaging MethodをNoneに設定します。
  5. Resultsブラウザから、最終荷重ケースシミュレーションを選択します。
  6. Contour panelApplyをクリックします。
シェル板厚を示すコンターイメージが表示されます。モデル内の各要素に、現在の反復計算についての要素板厚値を示すレジェンドカラーが割り当てられます。

4000_thickness_contour
図 2. 最終反復計算の板厚コンター

変位結果の可視化

境界条件が満たされているか、また、モデルが予測した通り変形しているかを確認するためにはまず、モデルの変形形状を表示させると役立ちます。これらの解析結果は、pages 3とpages 4にあります。
  1. アプリケーションの上部右側でpageNext-24をクリックし、3番目のページに移動します。
    3番目のページには、ファイルjoint_sizeOPT_s1.h3dから読み込まれた結果が表示されます。ページの名称はSubcase 1 – FORCE_Xと表示され、結果がsubcase 1に対応していることを表しています。
  2. Animationツールバーで、アニメーションモードをLinear Staticに設定します。
  3. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  4. Result typeをDisplacement [v]およびXに設定します。
  5. Applyをクリックします。
    コンター図は、適用されている荷重および境界条件から得られたxコンポーネントの変位の状態が示されています。
  6. 変位を拘束した節点3143における変位を計測します。
    1. AnnotationsツールバーでannotateMeasures-24をクリックし、Measuresパネルを開きます。
    2. Addをクリックし、新しいメジャーグループを追加します。
    3. Nodal Contourを選択します。
    4. Nodes > by idをクリックし、節点ID欄に3143と入力してOKをクリックします。
    節点3143(荷重載荷点の剛体スパイダーの中央)のx-変位値が表示されます。x-変位は、先に定義した上限制約値0.9を上回っています。

    os_4000_first_iteration
    図 3. 最初の反復計算におけるX-force荷重ケースについてのX方向の変位
  7. Resultsブラウザから、最終反復計算を選択します。
    コンターには、Subcase 1(FORCE_X)および最適化反復計算の最後に対応する反復計算4の変位結果が表示されるようになりました。今度は、x-変位は0.9未満になりました。

    os_4000_last_iteration
    図 4. 最終反復計算におけるX-force荷重ケースについてのX方向の変位
  8. アプリケーションの上部右側でpageNext-24をクリックし、4番目のページに移動します。
    4番目のページには、joint_sizeOPT_s2.h3dファイルから読み込まれた結果が表示されます。ページの名称はSubcase 2 – Force_Zと表示され、結果がsubcase 2に対応していることを表しています。
  9. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  10. Result typeをDisplacement [v]およびZに設定します。
  11. Applyをクリックします。
    コンター図は、適用されている荷重および境界条件から得られたzコンポーネントの変位の状態が示されています。
  12. 節点3143のz-変位を計測、表示します。

    os_4000_z_disp
    図 5.

寸法板厚結果の可視化

本ステップでは、寸法板厚結果を確認するもう1つの方法について学びます。
  1. UnixまたはMS-DOSシェルで、テキストエディタを用いてjoint_sizeOPT.outファイルを開きます。
  2. 体積、制約条件情報および各反復計算における寸法に注目しながら、5つの反復計算すべてを確認します。

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

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

レールとチューブの結果寸法はいくつになっていますか?