OS-T:2095 矩形プレートの周波数応答解析

本チュートリアルでは、OptiStructを用いた周波数応答最適化について解説します。

まず最初に、既存の平板の有限要素(FE)モデルを読み込み、モーダル法による周波数応答解析によってピーク振幅を求めます。続いて、同じプレートに対し過渡応答最適化を実行して新規設計案を得ます。

新規設計案は、ピーク応答が最小化された最適材料配置になります。複素変位結果のアイソプロット、絶対値および位相を可視化するため、HyperViewでポスト処理ツール群を使用します。

2095_plate_model
図 1. プレートモデル
最適化問題の設定は次のとおりです:
目的関数
体積の最小化
制約条件
Max FRF Disp.< 600 mm
設計変数
設計空間内の各要素の密度

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. 自身の作業ディレクトリに保存したfrf_response_input.femファイルを選択します。モデルファイルへのアクセスをご参照ください。
  5. Openをクリックします。
  6. Import、続いてCloseをクリックし、Importタブを閉じます。

荷重と境界条件の適用

SPCと単位荷重コレクターの作成

モデルは1端で拘束されています。縦方向の単位荷重を、プレートの自由エッジのコーナーポイントに正のz-方向(上向き)に適用します。このステップでは、spcsとunit-loadの2つの荷重コレクターを作成します。
  1. spcs荷重コレクターを作成します。
    1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
      デフォルトの荷重コレクターがエンティティエディターに表示されます。
    2. Nameにspcsと入力します。
    3. Colorをクリックし、カラーパレットから色を選択します。
    4. Card ImageをNoneに設定します。

    os_2095_01
    図 2.
  2. unit-load荷重コレクターを作成します。
    1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
      デフォルトの荷重コレクターがエンティティエディターに表示されます。
    2. Nameにunit-loadと入力します。
    3. Colorをクリックし、カラーパレットから色を選択します。
    4. Card ImageをNoneに設定します。

制約の作成

  1. ModelブラウザのCollectorsフォルダーでspcを右クリックし、コンテキストメニューからMake Currentを選択します。

    2095_spcs
    図 3.
  2. モデリングウィンドウで、節点1、2、3および4について、数値を表示します。
    1. Displayツールバーでをクリックし、Numbersパネルを開きます。
    2. nodes > by idをクリックし、id=欄に1,2,3,4と入力します。
    3. onをクリックします。
    4. returnをクリックします。
  3. Analysisページからパネルconstraintsをクリックします。
  4. createサブパネルを選択します。
  5. Nodesをクリックし、IDで節点1と2を選択します。
    1. 節点セレクターを使って、IDが12の節点を選択します。
    2. dof1 - dof6を選択します。
      チェックマークのついている自由度は拘束され、ついていないものはフリーとなります。Dofs 1、2および3は、x、y、z方向の並進自由度を表します。Dof 4、5、6 はそれぞれ全体座標系の x、y、z 軸周りの回転自由度です。
    3. createをクリックします。
  6. IDが4の節点に制約条件を付与します。
    1. 節点セレクターを使って、IDが4の節点を選択します。
    2. dof3を除いた全ての自由度からチェックマークを外します。
    3. createをクリックします。
  7. 平板の1点への単位荷重の生成
    1. ModelブラウザのCollectorsフォルダーでunit-loadを右クリックし、コンテキストメニューからMake Currentを選択します。
    2. Constraintsパネルで節点コレクターを使って、IDが3の節点を選択します。
    3. dof3を除いた全ての自由度からチェックマークを外します。
    4. dof3=欄に20と入力します。
    5. load types=をクリックしDAREAを選択します。
    6. createをクリックします。
  8. returnをクリックし、メインメニューに進みます。

2095_fe_plate
図 4. 自由度のついたFEプレートモデル

周波数範囲の表の生成

  1. Modelブラウザで右クリックしてCreate > Curveを選択します。
  2. Nameにtabled1と入力します。
  3. Colorをクリックし、カラーパレットから色を選択します。
  4. Card ImageをTABLED1に設定します。
  5. ModelブラウザTABLED1を右クリックしてEditを選択します。
  6. Curve Editorで以下を入力します:
    1. x(1)欄に0.0と入力します。
    2. y(1)欄に1.0と入力します。
    3. x(2)欄に1000.0と入力します。
    4. y(2)欄に1.0と入力します。
    5. ダイアログを閉じるには、Closeをクリックします。
これで、周波数域0.0から1000.0まで、この範囲での一定の荷重が作成されました。

2095_input_load
図 5.

周波数依存動的荷重の作成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
    デフォルトの荷重コレクターがエンティティエディターに表示されます。
  2. Nameに、rload2と入力します。
  3. Colorをクリックし、カラーパレットから色を選択します。
  4. Card ImageをRLOAD2に設定します。
  5. EXCITEDに、Loadcolをクリックします。Select Loadcolダイアログでを選択し、OKをクリックします。
  6. TBで、<Unspecified> > Loadcolをクリックします。Select Loadcolダイアログでtabled1を選択し、OKをクリックします。
  7. TYPEをLOADに設定します。
    これは、入力をフォースに定義します。

応答の解に用いる周波数セットの生成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
    デフォルトの荷重コレクターがエンティティエディターに表示されます。
  2. Nameに、freq5と入力します。
  3. Colorをクリックし、カラーパレットから色を選択します。
  4. Card ImageをFREQiに設定します。
  5. FREQ5を選択します。
  6. NUMBER_OF_FREQ5=欄に1と入力します。
  7. FREQ5_MAX_NUMBER_OF_FR=欄に3と入力します。
  8. Data: IDの横のicon_openをクリックします。
  9. NUMBER OF FREQ =ダイアログで、周波数の値を定義します。
    1. F1欄に1.0と入力します。
    2. F2欄に1000と入力します。
    3. FR(0)欄に1.0と入力します。
    4. FR(1)欄に0.8と入力します。
    5. FR(2)欄に0.2と入力します。
    6. ダイアログを閉じるには、Closeをクリックします。

    2095_num_of_freq_13
    図 6.
周波数範囲と固有周波数の範囲内での割合により、モーダル法による周波数応答解析を実施するための周波数のセットが定義されます。

2095_eq
図 7.

EIGRL荷重コレクターの作成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
    デフォルトの荷重コレクターがエンティティエディターに表示されます。
  2. Nameにeigrlと入力します。
  3. Colorをクリックし、カラーパレットから色を選択します。
  4. Card ImageをEIGRLに設定します。
  5. NDに17と入力します。
    これで、Lanczos法を用いた最初の17の周波数の固有値抽出が指定されます。

荷重ステップの作成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Stepを選択します。
    デフォルトの荷重ステップがエンティティエディターに表示されます。
  2. Nameにsubcase1と入力します。
  3. Analysis typeをFreq. resp (modal)に設定します。
  4. SPCを定義します。
    1. SPCにUnspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでを選択し、OKをクリックします。
  5. METHOD(STRUCT)を定義します。
    1. METHOD(STRUCT)にUnspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでを選択し、OKをクリックします。
  6. DLOADを定義します。
    1. DLOADにUnspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでを選択し、OKをクリックします。
  7. FREQを定義します。
    1. FREQにUnspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでを選択し、OKをクリックします。
  8. RESVECを定義します。
    1. RESVECを選択します。
    2. TYPEをAPPLOADに設定します。
    3. OPTIONをYESに設定します。

spc荷重コレクター内の拘束条件とrload2荷重コレクター内の単位荷重をfreq5荷重コレクターで定義された周波数セットおよびeigrl荷重コレクターで定義されたモーダル法と共に参照するOptiStructサブケースが作成されました。

FRFシミュレーションの前にモーダル解析を行うことが推奨されます。ここでは、Frequency Response Analysisのセットアップに焦点を当てるため、この手順は省略します。

出力結果のための節点セットの生成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Setを選択します。
    デフォルトのセットがエンティティエディターに表示されます。
  2. NameにSETAと入力します。
  3. Card ImageをSET_GRIDに設定します。
  4. Set Typeをnon-orderedにセットします。
  5. Entity IDsに、0 Nodes > Nodes.をクリックします。
  6. 節点セレクターを使って、IDが3の節点を選択します。
    これで、集中荷重がかかる節点が選択されます。
  7. パネル領域で、proceedをクリックします。
FRFシミュレーションにおいては、生成されるデータの量によって大きな結果ファイルが得られる可能性があります。着目したい部分だけを指定できるセットについて作業することが推奨されます。これにより、CPU時間とデータの量が節減されます。

周波数応答解析用の出力と減衰のセットの作成

  1. Analysisページからパネルcontrol cardsをクリックします。
    Card Imageダイアログが開きます。
  2. GLOBAL_OUTPUT_REQUESTを定義します。
    1. GLOBAL_OUTPUT_REQUESTをクリックします。
    2. DISPLACEMENTSを選択します。
      新しいオプションのセットが作業領域のスクリーンに現われます。
    3. FORM(1)をクリックしPHASEを選択します。
    4. OPTION(1)をクリックしSIDを選択します。
      新しい欄SID(1)が現われます。
    5. SID(1)をダブルクリックし、SETAを選択します。
      値1がSID入力ボックスの下に現れます。これは、set 1内の節点に限った出力を設定しています。

      2095_displacement_13
      図 8.
    6. returnをクリックし、GLOBAL_OUTPUT_REQUESTから抜けます。
  3. FORMATを定義します。
    1. FORMATをクリックします。
    2. number_of_formats=欄に2と入力します。
    3. FORMAT_V1の下で、2回目のFORMATをクリックし、OPTIを選択します。
    4. returnをクリックします。
  4. PARAMを定義します。
    1. PARAMをクリックします。
    2. Gを選択します。
    3. G_V1をクリックし、0.05と入力します。
      これは、システムに臨界減衰比2.5%を割り当てるのと同じ意味になります。
    4. returnをクリックします。
  5. OUTPUTを定義します。
    1. OUTPUTをクリックします。
    2. KEYWORDをHGFREQに設定します。
    3. FREQをLASTに設定します。
    4. number_of_outputs=を1に設定します。
    5. returnをクリックします。
  6. returnをクリックし、メインメニューに戻ります。

データベースの保存

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

ジョブのサブミット

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

    OS_1000_13_17
    図 9. OptiStructパネルへのアクセス
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてfrf_response_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ジョブを開始します。
ジョブが成功した場合、frf_response_analysis.femが書き出されたディレクトリに新しい結果ファイルがあるはずです。何らかのエラーがある場合、frf_response_analysis.outファイルはデバッグを手助けするエラーメッセージを探すのに良い場所です。

結果の表示

このステップでは変位結果(.mvw ファイル)をHyperGraphで確認し、この実行での変位出力(.dispファイル)についても確認します。結果ファイル(.h3d)には、節点セット出力で指定された3つの節点についての変位結果のみが含まれています。
  1. OptiStructパネル内でHyperViewをクリックし、解析からの結果を次のページに読み込みます。
  2. メニューバーFile > Open > Sessionをクリックします。
  3. Open Session Fileダイアログで、ジョブが実行されたディレクトリに進み、frf_response_analysis_freq.mvwファイルを開きます。
    1. オプション: OptiStructパネルから起動した場合、Yesをクリックして、現在のセッションを破棄します。
    2つのグラフが表示されます。グラフのタイトルは、Subcase 1(subcase1)-Displacements of grid 3です。上のグラフはPhase Angle verses Frequency(位相角vs周波数)、下のグラフは、変位振幅vs周波数を示しています。

    os_2095_graph
    図 10.
  4. CurvesツールバーでcurvesCreate-24をクリックし、Define Curvesパネルを開きます。
  5. X TransおよびY Transカーブを消去します。
    励振はZ方向にかかり、主効果はこの方向で検知されます。
  6. Resultsツールバーでpalette-24をクリックし、Curve Attributes パネルを開きます。
  7. ラインの属性を連続continuous_lineに変更します。
  8. Symbol Attributesタブで、正方形のシンボルを選択します。

    symbol_attributes
    図 11.
  9. AnnotationsツールバーでannotateAxes-24をクリックし、Axesパネルを開きます。
  10. AxisをVerticalに変更します。

    vertical_axis
    図 12.
  11. Scale and Tics (Magnitude)タブをクリックしてLogarithmicを選択します。
  12. Min欄に5と入力します。
  13. Max欄に200000と入力します。
  14. Scale and Tics (Phase)タブをクリックし、Tics per axisを7に変更します。
  15. AxisをHorizontalに設定します。

    horizontal_axis
    図 13.
  16. Min欄に5と入力します。
  17. Max欄に1000と入力します。

    2095_frf
    図 14. 周波数応答関数 FRF (Node 3, Z-Displacement)
  18. CurvesツールバーでcurvesInfo-24をクリックし、Coordinate Infoパネルを開きます。
  19. Find pointの下でMagnitudeを選択します。

    os_2095_mag
    図 15.
  20. maximumボタンをクリックし、表内でY-magnitudeの最大値が15055であることを確認します。ベースラインモデルのピーク変位。

    2095_maximum_button
    図 16.
  21. クライアントセレクターをに変更することで、HyperMeshに戻ります。

モデルのオープン

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

データベースの保存

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

最適化のセットアップ

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

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

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

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

    現時点では、PSHELLカードのT欄はまだ0.15(元のシェル板厚)に設定されています。材料が取り除かれる設計空間を作成するには、これをより大きい値に変更する必要があります。

  9. 設計変数のパラメータを更新します。
    1. parametersサブパネルを選択します。
    2. minmemb offからmindim=に切り替え、2.0と入力します。
    3. maxmemb offからmaxdim=に切り替え、6.0と入力します。
    4. updateをクリックします。
  10. returnをクリックします。
  11. 設計のプロパティの板厚を編集します。
    1. ModelブラウザのPropertiesフォルダーで、designをクリックします。
    2. エンティティエディターで、T欄に1.000と入力します。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 設計空間の体積率を定義する体積の応答を作成します。
    1. responses=欄に、volumeと入力します。
    2. response typeの下で、volumeを選択します。
    3. regional selectionをtotalno regionidに設定します。
    4. createをクリックします。
  4. 自由度3で最大絶対値を定義する周波数応答変位(制約条件)を作成します。
    1. responses=欄にfrfdispと入力します。
    2. response typeをfrf displacementに設定します。
    3. コンポーネントをrealからmagnitudeに切り替えます。
    4. functionをall freqに設定します。
    5. 節点セレクターを使って、IDが3の節点を選択します。
    6. dof3を選択します。
    7. createをクリックします。
  5. returnをクリックし、Optimization panelに戻ります。

設計制約条件の作成

  1. dconstraintsパネルをクリックします。
  2. constraints=欄にconstrと入力します。
  3. response =をクリックしfrfdispを選択します。
  4. upper boundの横のボックスにチェックマークを入れ、600と入力します。
  5. 荷重ステップセレクターを使って、subcase1を選択します。
  6. createをクリックします。
  7. 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モデルファイルを書き出す場所を指定し、ファイル名としてfrf_response_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はエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル frf_response_optimization.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。
ディレクトリ内に作成されるデフォルトのファイルは以下の通り:
frf_response_optimization.hgdata
各反復計算における目的関数、制約条件の違反率が納められているHyperGraph形式のファイル。
frf_response_optimization.HM.comp.tcl
密度の結果値に基づいて要素をコンポーネントに分類するために使用されるHyperMeshコマンドファイル。このファイルは、OptiStructのトポロジー最適化を実行した場合にのみ使用されます。
frf_response_optimization.HM.ent.tcl
密度の結果値に基づいて要素をエンティティセットに分類するために使用されるHyperMeshコマンドファイル。このファイルは、OptiStructのトポロジー最適化を実行した場合にのみ使用されます。
frf_response_optimization.html
問題設定と最終反復計算結果のサマリーを含むHTML形式の最適化レポート。
frf_response_optimization.oss
デフォルトで密度のしきい値が0.3として定義されているOSSmooth用のファイル。このファイル内のパラメーターを調整することでユーザーの意図する結果を得ることができます。
frf_response_optimization.out
ファイルのセットアップ、最適化のセットアップの情報、 実行に必要なRAMとディスクスペースの見積もり、それぞれの最適化の反復情報、計算時間の情報を含むOptiStruct出力ファイル。frf_response_optimization.femファイルの処理を行う際にフラグが立つワーニングおよびエラーに関しては、このファイルを確認すること。
frf_response_optimization.sh
反復計算が終了した段階での形状データが納められているファイル。各要素の密度値、空孔の大きさと角度を含む。このファイルは、最適化計算のリスタートに使用することができます。
frf_response_optimization.stat
計算を完全に終了するために使用されたCPU、また、入力デックの読み出し、アセンブリ、解析および収束等のCPU情報が含まれています。
frf_response_optimization_des.h3d
最適化結果を含むHyperViewバイナリ結果ファイル。
frf_response_optimization_s#.h3d
線形静解析からの結果を含むHyperViewバイナリ結果ファイル。
frf_response_optimization.his_data
各反復計算における反復計算数、目的関数の値、制約条件の違反率が収められているOptiStructの履歴ファイル。

結果の表示

すべての反復計算における要素密度と要素板厚の結果がOptiStructから出力されます。

密度結果の静的プロットの表示

  1. OptiStructパネルから、HyperViewをクリックします。
  2. frf_response_optimization.mvwセッションファイルを開きます。
    1. メニューバーFile > Open > Sessionをクリックします。
    2. Open Session Fileダイアログで作業ディレクトリに移動し、frf_response_optimization.mvwセッションファイルを開きます。
  3. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  4. Resultsブラウザから、最終荷重ケースシミュレーションを選択します。


    図 17.
  5. Contour panelで、averaging methodをsimpleに設定します。
  6. applyをクリックします。
モデル内の各要素に、選択された反復計算についての各要素の密度値を示すレジェンドカラーが割り当てられます。最終設計反復計算は、ベースラインモデルの最適材料レイアウトを与えます。


図 18. ベースラインモデルのコンター. 最終設計反復計算が表示されます。

最適化実行結果のピーク変位の比較

  1. FRF_response_analysis_freq.mvwセッションファイルを開きます。
    1. メニューバーFile > Open > Sessionをクリックします。
    2. Open Session Fileダイアログで作業ディレクトリに移動し、FRF_response_analysis_freq.mvwセッションファイルを開きます。
  2. CurvesツールバーでplotsCreate-24をクリックしてBuild Plotsパネルを開きます。これは、既存の解析情報に重ねて曲線を追加するために使用します。
  3. Data file欄に、最終反復解析を含んだfrf_response_optimization_s2.h3d最適化ファイルを読み込みます。

    os_2095_displ_freq
    図 19.
  4. Subcaseを最終反復計算に設定します。
  5. X TypeをFrequencyにセットします。
  6. Y Typeには、Displacement (Grids)を選択します。
  7. Y RequestにN3を選択します。
  8. Y ComponentにXYZを選択します。
  9. Applyをクリックし、新規情報を元のプロットに重ね書きします。

2095_frf_new_design
図 20. プレートの元の設計と最終設計結果