OS-T:2020 自動車のリブ付スプラッシュシールドの固有振動数増加

本チュートリアルでは、自動車のスプラッシュシールド用のリブの形をしたスティフナーの予備設計を作成します。目的は、トポロジーを用いて設計可能領域のリブの位置を特定することにより、1次モードの固有振動数を増加させることにあります。


os2020_pic1
図 1. 有限要素メッシュ. 有限要素メッシュには、設計領域(赤色)および非設計領域(青色)が含まれます。
本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
モード番号1の振動数の最大化
制約条件
体積を現状の40%以下に
設計変数
設計空間内の各要素の密度

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

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

モデルの読み込み

  1. File > Import > Solver Deckをクリックします。
    Importタブがタブメニューに追加されます。
  2. File typeにOptiStructを選択します。
  3. Filesアイコンfiles_panelを選択します。
    Select OptiStruct Fileブラウザが開きます。
  4. 自身の作業ディレクトリに保存したsshield_opti.femファイルを選択します。モデルファイルへのアクセスをご参照ください。
  5. Openをクリックします。
  6. Import、続いてCloseをクリックし、Importタブを閉じます。

荷重と境界条件の適用

荷重コレクターの作成

  1. Constraints荷重コレクターを作成します。
    1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
      デフォルトの荷重コレクターがエンティティエディターに表示されます。
    2. Nameにconstraintsと入力します。
    3. Colorをクリックし、カラーパレットから色を選択します。
    4. Card ImageをNoneに設定します。
  2. EIGRL荷重コレクターを作成します。
    1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
      デフォルトの荷重コレクターがエンティティエディターに表示されます。
    2. NameにEIGRLと入力します。
    3. Colorをクリックし、カラーパレットから色を選択します。
    4. Card ImageをEIGRLに設定します。
    5. V2に3000と入力します。
    6. NDに2と入力します。
    この荷重コレクターは実固有値解析(座屈解析)の実行に必要なデータを定義し、ソルバーが0 hzから3000 hzまでの範囲で最初の2個のモードを計算するよう指定されました。

拘束の作成

このステップでは、ボルト位置における拘束条件を定義します。
  1. ModelブラウザのCollectorsフォルダーでConstraintsを右クリックし、コンテキストメニューからMake Currentを選択します。
  2. Analysisページからconstraintsをクリックします。
  3. Createサブパネルを選択します。
  4. nodesをダブルクリックし、by idを選択してid=欄に1075, 1076と入力します。
  5. dof1からdof6まですべてを拘束します。
    チェックマークのついている自由度は拘束され、ついていないものはフリーとなります。Dofs 1、2および3は、x、y、z方向の並進自由度を表します。Dof 4、5、6 はそれぞれ全体座標系の x、y、z 軸周りの回転自由度です。
  6. createをクリックします。
  7. returnをクリックし、メインメニューに進みます。
2つの拘束条件が作成されました。選択された節点位置に、拘束条件のマーク(三角形)が現われます。拘束条件のマークの横の数値123456は、すべての自由度が拘束されていることを表します。

荷重ステップの作成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Stepを選択します。
    デフォルトの荷重ステップがエンティティエディターに表示されます。
  2. Nameにfrequenciesと入力します。
  3. 解析のタイプをnormal modesに設定します。
  4. SPCを定義します。
    1. SPCに、Unspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでconstraintsを選択し、OKをクリックします。
  5. METHOD(STRUCT)を定義します。
    1. METHOD(STRUCT)に、Unspecified > Loadcolをクリックします。
    2. Select LoadcolダイアログでEIGRLを選択し、OKをクリックします。

ジョブのサブミット

  1. AnalysisページからOptiStructパネルをクリックします。

    OS_1000_13_17
    図 2. OptiStructパネルへのアクセス
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてsshield_analysisと入力します。
    OptiStruct入力ファイルには、拡張子 .femが推奨されます。
  4. Saveをクリックします。
    入力ファイル欄には、Save Asダイアログで指定されたファイル名と場所が表示されます。
  5. export optionsのトグルをallにセットします。
  6. run optionsのトグルをanalysisにセットします。
  7. memory optionsのトグルはmemory defaultにセットします。
  8. options欄を空にします。
  9. OptiStructをクリックし、OptiStructジョブを開始します。
ジョブが成功した場合、sshield_analysis.femが書き出されたディレクトリに新しい結果ファイルがあるはずです。何らかのエラーがある場合、sshield_analysis.outファイルはデバッグを手助けするエラーメッセージを探すのに良い場所です。
そのディレクトリに書かれるデフォルトのファイルは:
sshield_analysis.html
問題の定式と解析結果のサマリーに関する解析のHTMLレポート。
sshield_analysis.out
ファイルの設定、最適化問題の設定、実行に必要なRAMおよびディスクスペースの推定量、各最適化反復計算の情報、解析時間等、特定の情報を含むOptiStructの出力ファイル。ワーニングおよびエラーに関しては、このファイルを確認すること。
sshield_analysis.h3d
HyperViewバイナリ結果ファイル。
sshield_analysis.res
HyperMeshバイナリ結果ファイル。
sshield_analysis.stat
解析のプロセスの間のそれぞれのステップでのCPU情報を提供する、解析のプロセスの要約。
sshield_analysis.mvw
HyperViewセッションファイル。
sshield_analysis_frames.html
ブラウザを使ってHyperView Player.h3dをポスト処理するために使用されるHTMLファイル。_menu.htmlファイルとリンクされている。
sshield_analysis_menu.html
ブラウザを使ってHyperView Player.h3dをポスト処理するために使用されるHTMLファイル。

結果の表示

固有値の結果は、ノーマルモード解析についてOptiStructからデフォルトで出力されるものです。本演習では、これらの結果をHyperViewで可視化する方法について解説します。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktopのpage 2内で起動し、sshield_analysis.h3dファイルとリンクされたsshield_analysis.mvwセッションファイルが表示されます。
  2. Animationツールバーで、アニメーションモードをanimationModal-24(Modal)に設定します。
  3. ResultsブラウザでMode 1をクリックします。
    ブラウザは、0 hzから3000 hzまでの最初の2つの固有振動数計算結果を示しています。

    os_2020_mode_shapes
    図 3.
  4. 変形形状の設定を定義します。
    1. ResultsツールバーでresultsDeformed-24をクリックし、Deformedパネルを開きます。
    2. Result typeをEigen mode (v)に設定します。
    3. ScaleをModel Unitsにセットします。
    4. TypeをUniformにセットします。
    5. Value欄に10と入力します。
    6. Applyをクリックします。
  5. モデルをアニメーション表示します。
    1. AnimationツールバーからanimationOptions-24をクリックします。
    2. Max Frame Rate:スライダを60と1の間で動かし、アニメーションスピードを速くしたり遅くしたりしてみます。
      ヒント: また、Angular Increment:のデフォルト値を変更し、アニメーションを改善することも可能です。
    3. animationStart-24をクリックし、アニメーションを開始します。
      最初の振動数におけるモード形状のアニメーションが表示されます。
    4. をクリックし、アニメーションを停止します。
  6. Page ControlツールバーでPage Deleteアイコンをクリックし、HyperViewページを消去します。
    page_delete図 4.

最適化のセットアップ

トポロジー設計変数の作成

  1. Analysisページからoptimizationをクリックします。
  2. topologyをクリックします。
  3. createサブパネルを選択します。
  4. desvar=欄にshieldと入力します。
  5. type:をPSHELLにセットします。
  6. プロパティセレクターを使って、designを選択します。
  7. base thicknessに0.300と入力します。
  8. createをクリックします。

    これで、トポロジー設計空間の定義shieldが作成されました。この設計プロパティコレクターを参照するすべての要素("design"コンポーネントコレクターにまとめられた要素)が、トポロジー設計空間に含まれるようになっています。これらのシェル要素の板厚は0.300(ベース板厚)からPSHELLカードのT(板厚)欄で定義された最大板厚の間で変化します。

    本演習の目的は、設計可能領域内のどこにリブを配置すべきかを決定することです。したがって、ノン-ゼロ ベース板厚が定義されており、それはシェルの元の板厚寸法です。PSHELLカードのT欄で定義された板厚は、リブの奥行きです。

    現時点では、PSHELLカードのT欄はまだ0.300(元のシェル板厚)に設定されています。トポロジー最適化によってリブの最大高0.7ユニットが得られるよう、この値を1.0に変更します。

  9. returnをクリックします。
  10. 設計のプロパティの板厚を編集します。
    1. ModelブラウザのPropertiesフォルダーで、designをクリックします。
    2. エンティティエディターで、T欄に1.000と入力します。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 体積率の応答を作成します。
    1. responses=欄に、volfracと入力します。
    2. response typeの下で、volumefracを選択します。
    3. regional selectionをtotalno regionidに設定します。
    4. createをクリックします。
  4. 周波数の応答を作成します。
    1. responses=欄に、freq1と入力します。
    2. response typeの下で、frequencyを選択します。
    3. Mode Numberに、1.0と入力します。
    4. createをクリックします。
    応答freq1が、firstモードの振動数について定義されました。
  5. returnをクリックし、Optimization panelに戻ります。

目的関数の定義

  1. objectiveパネルをクリックします。
  2. maxが選択されていることを確認します。
  3. response=をクリックし、freq1を選択します。
  4. 荷重ステップセレクターを使って、frequenciesを選択します。
  5. createをクリックします。
  6. returnを2回クリックし、Optimization panelを終了します。

制約の定義

目的関数として定義された応答は制約することは不可能です。この場合、応答freq1に制約条件を与えることはできません。上限の制約条件を応答volfracに定義する必要があります。

  1. dconstraintsをクリックします。
  2. constraint=欄にvolume_constrと入力します。
  3. upper boundの横のボックスにチェックマークを入れ、0.40と入力します。
  4. response =をクリックしvolfracを選択します。
  5. createをクリックします。
  6. returnをクリックし、Optimizationパネルに戻ります。
制約条件が応答Volfracに定義されます。制約条件は上限制約で値が0.40です。体積率の応答として全てのサブケースに適用される制約条件は、グローバル応答です。本ステップでは、トポロジー最適化にribsvconstrを伴う追加のボリュームを使用させます。

最適化の実行

  1. AnalysisページからOptiStructをクリックします。
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてsshield_optimizationと入力します。
    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はエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル sshield_optimization.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。
ディレクトリ内に作成されるデフォルトのファイルは以下の通り:
sshield_optimization.mvw
HyperViewセッションファイル。
sshield_optimization.HM.comp.cmf
密度の結果値に基づいて要素をコンポーネントに分類するために使用されるHyperMeshコマンドファイル。このファイルは、OptiStructのトポロジー最適化を実行した場合にのみ使用されます。
sshield_optimization.out
ファイルのセットアップ、最適化のセットアップの情報、 実行に必要なRAMとディスクスペースの見積もり、それぞれの最適化の反復情報、計算時間の情報を含むOptiStruct出力ファイル。sshield_optimization.femファイルの処理を行う際にフラグが立つワーニングおよびエラーに関しては、このファイルを確認すること。
sshield_optimization.sh
反復計算が終了した段階での形状データが納められているファイル。各要素の密度値、空孔の大きさと角度を含む。このファイルは、最適化計算のリスタートに使用することができます。
sshield_optimization.hgdata
各反復計算における目的関数、制約条件の違反率が納められているHyperGraph形式のファイル。
sshield_optimization.oss
デフォルトで密度のしきい値が0.3として定義されているOSSmooth用のファイル。このファイル内のパラメーターを調整することでユーザーの意図する結果を得ることができます。
sshield_optimization.stat
計算を完全に終了するために使用されたCPU、また、入力デックの読み出し、アセンブリ、解析および収束等のCPU情報が含まれています。
sshield_optimization.his_data
各反復計算における反復計算数、目的関数の値、制約条件の違反率が収められているOptiStructの履歴ファイル。
sshield_optimization.HM.ent.cmf
密度の結果値に基づいて要素をエンティティセットに分類するために使用されるHyperMeshコマンドファイル。このファイルは、OptiStructのトポロジー最適化を実行した場合にのみ使用されます。
sshield_optimization.html
問題設定と最終反復計算結果のサマリーを含むHTML形式の最適化レポート。
sshield_optimization_frame.html
ブラウザを使ってHyperView Player.h3dをポスト処理するために使用されるHTMLファイル。_menu.htmlファイルとリンクされている。
sshield_optimization_menu.html
ブラウザを使ってHyperView Player.h3dをポスト処理するために使用されるHTMLファイル。
sshield_optimization_des.H3D
トポロジー最適化からのDensity結果、トポグラフィーまたは形状最適化からのShape結果、寸法およびトポロジー最適化からのThickness結果を含むHyperViewバイナリ結果ファイル。
sshield_optimization_s1.H3D
線形静解析からのDisplacement結果、ノーマルモード解析からのElement strain energy結果、線形静解析からのStress結果などを含むHyperViewバイナリ結果ファイル。

結果の表示

すべての反復計算における要素密度と要素板厚の結果がOptiStructから出力されます。また、デフォルトで、最初と最後の反復計算について固有ベクトルの結果が出力されます。本演習では、これらの結果をHyperViewで可視化する方法について解説します。
  1. OptiStructパネルから、HyperViewをクリックします。

    HyperViewHyperMesh Desktop内で起動し、sshield_optimization_des.h3dおよびsshield_optimization_s1.h3dファイルとリンクされたセッションファイルsshield_optimization.mvwが読み込まれます。

  2. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  3. Result typeをElement Densities(s)に設定します。
  4. Applyをクリックします。
  5. Resultsブラウザから、最終反復計算を選択します。

    os_2020_iteration
    図 5.

    モデル内の各要素に、選択された反復計算についての各要素の密度値を示すレジェンドカラーが割り当てられます。

    以下を解析します:
    要素のほとんどは密度値1または0に収束していますか?
    トポロジー最適化の結果、中間密度を持った要素が多い場合は、DISCRETEパラメータの値を調整する必要があります。DISCRETEパラメータ(Optimization panelのOpti controlパネルで設定)は、中間密度が少なく解釈し易い結果を得ることができるよう、中間密度を持った要素の密度を1または0に近づけるために使用します。
    このコンターで、材料補強が必要となる領域は密度値が1.0として表示されます。材料補強が必要ではない領域は密度値が0.0として表示されます。
    画面中のmax =は1.0e+00になっていますか?
    このモデルではそうなっているはずです。
    なっていない場合、最適化が十分進められていません。反復回数を増やすか、OBJTOLパラメータ(Opti controlパネルで設定)を減らしてください。
    DISCRETEパラメータの調整、チェッカーボード制御の組み込み、メッシュの改良および / または目的関数のトレランスを減らしても、より離散的な解が得られない(要素がいずれも密度値1.0にならない)場合、最適化問題の設定を見直したほうがよいかもしれません。定義された制約条件のいずれかが与えられた目的関数について達成され得ない(或いはその逆の)可能性があります。

    os_2020_contour
    図 6. iteration 6における要素密度のコンタープロット(トップビュー)
    リブはどこに配置するとよいでしょうか?
  6. Page ControlツールバーでPage Deleteアイコンをクリックし、HyperViewページを消去します。

    page_delete
    図 7.

最終ノーマルモード解析のセットアップ

上記で得られたトポロジー結果に基づき、リブがモデルに追加されました。3つのリブを含んだ新しい設計sshield_newdesign.femは、 optistruct.zipファイルに見つかります。

現在のモデルの削除

  1. HyperMeshreturnをクリックし、OptiStructパネルを終了します。
  2. メニューバーFile > New > Modelをクリックします。
  3. Yesをクリックし、現在のセッションをクリアします。
    現在のモデルの削除とは、現在のHyperMeshデータベースの内容を消去するということです。ディスク上にある.hmファイルに保存されている情報には、何の影響も及ぼしません。

モデルの読み込み

  1. File > Import > Solver Deckをクリックします。
    Importタブがタブメニューに追加されます。
  2. File typeにOptiStructを選択します。
  3. Filesアイコンfiles_panelを選択します。
    Select OptiStruct Fileブラウザが開きます。
  4. 自身の作業ディレクトリに保存したsshield_newdesign.femファイルを選択します。モデルファイルへのアクセスをご参照ください。
  5. Openをクリックします。
  6. Import、続いてCloseをクリックし、Importタブを閉じます。

ジョブのサブミット

  1. AnalysisページからOptiStructパネルをクリックします。

    OS_1000_13_17
    図 8. OptiStructパネルへのアクセス
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてsshield_newdesignと入力します。
    OptiStruct入力ファイルには、拡張子 .femが推奨されます。
  4. Saveをクリックします。
    入力ファイル欄には、Save Asダイアログで指定されたファイル名と場所が表示されます。
  5. export optionsのトグルをallにセットします。
  6. run optionsのトグルをanalysisにセットします。
  7. memory optionsのトグルはmemory defaultにセットします。
  8. options欄を空にします。
  9. OptiStructをクリックし、OptiStructジョブを開始します。
ジョブが成功した場合、sshield_newdesign.femが書き出されたディレクトリに新しい結果ファイルがあるはずです。何らかのエラーがある場合、sshield_newdesign.outファイルはデバッグを手助けするエラーメッセージを探すのに良い場所です。
そのディレクトリに書かれるデフォルトのファイルは:
sshield_newdesign.html
問題の定式と解析結果のサマリーに関する解析のHTMLレポート。
sshield_newdesign.out
ファイルの設定、最適化問題の設定、実行に必要なRAMおよびディスクスペースの推定量、各最適化反復計算の情報、解析時間等、特定の情報を含むOptiStructの出力ファイル。ワーニングおよびエラーに関しては、このファイルを確認すること。
sshield_newdesign.h3d
HyperViewバイナリ結果ファイル。
sshield_newdesign.res
HyperMeshバイナリ結果ファイル。
sshield_newdesign.stat
解析のプロセスの間のそれぞれのステップでのCPU情報を提供する、解析のプロセスの要約。
sshield_newdesign.mvw
HyperViewセッションファイル。
sshield_newdesign_frames.html
ブラウザを使ってHyperView Player.h3dをポスト処理するために使用されるHTMLファイル。_menu.htmlファイルとリンクされている。
sshield_newdesign_menu.html
ブラウザを使ってHyperView Player.h3dをポスト処理するために使用されるHTMLファイル。

結果の表示

  1. OptiStructパネルから、HyperViewをクリックします。
    これでHyperViewHyperMesh Desktopで起動し、ファイルsshield_newdesign.h3dにリンクされたファイルsshield_newdesign.mvwが読み込まれます。
  2. Animation modeをanimationModal-24 (Modal)に設定します。
  3. Resultsブラウザで、Mode 1を選択します。
  4. resultsDeformed-24をクリックし、Deformedパネルを開きます。
  5. Deformedパネルで以下の設定を行うか、以下のとおりになっていることを確認します。
    結果タイプ
    Eigen mode (v)
    Scale
    モデルユニット
    Type
    Uniform
    Value
    10
  6. Applyをクリックします。
  7. animationStart-24をクリックし、アニメーションを開始します。
    最初の振動数におけるモード形状のアニメーションが表示されます。
  8. animationStart-24を再度クリックし、アニメーションを停止します。

結果の比較

1次モードでは、固有振動数の増加率はどの位ですか(sshield_analysis.fem vs. sshield_newdesign)?

最初のモードについてモデルの周波数は43.63 Hzから84.88 Hzに増加していることが確認できました。

どれだけの重量がパーツに加えられましたか?(リブの重量をToolページのmass calcパネルでチェックしてみてください)

重量の増加率はどの位ですか?