OS-T:C型クリップの設計コンセプト

本チュートリアルでは、モデルについてトポロジー最適化を実行して新しいトポロジーを作成し、不要な材料を除去します。結果のモデルは、より軽く、すべての設計制約条件を満たしています。

トポロジー最適化テクニックは、新しい設計および最適な材料分布を生み出します。トポロジー最適化では、最適な材料分布の利点を既に有し、形状および寸法最適化で設計を微調整できる段階にある設計から設計者がスタートすることができます。

本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
体積率の最小化
制約条件
節点Aのy-軸方向の移動 < 0.07mm
節点Bのy-軸方向の移動 > -0.07mm
設計変数
設計空間内の各要素の密度

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

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

モデルのオープン

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

モデルのセットアップ

材料の生成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Materialを選択します。
    デフォルトの材料がエンティティエディターに表示されます。
  2. Nameにsteelと入力します。
  3. Card ImageをMAT1に設定します。
  4. 各欄の横に材料の値を入力します。
    1. E(ヤング率)に2.1E5と入力します。
    2. NU(ポワソン比)に0.3と入力します。
    3. RHO(材料密度)については、
新しい材料steelが作成されました。この材料は、OptiStructの線形等方性材料モデルMAT1を用いています。

プロパティの生成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Propertyを選択します。
    デフォルトのプロパティがエンティティエディターに表示されます。
  2. Nameにprop_shellと入力します。
  3. Card ImageをPSHELLに設定します。
  4. 各欄の横に、プロパティの値を入力します。
    空のValueランは、それがオフになっていることを表します。そのようなプロパティを編集するには、その横で空白となっているValue欄をクリックし、値を入力します。
    1. Materialに、Unspecified > Materialをクリックします。Select Materialダイアログでsteelを選択し、OKをクリックします。
    2. T(プレートの板厚)に、1.0と入力します。
新しいプロパティprop_shellが2D PSHELLとして作成されます。材料情報もこのプロパティにリンクしています。

comp_shellコンポーネントへの材料とプロパティの割り当て

  1. ModelブラウザのComponents folderフォルダーで、comp_shellをクリックします。
    コンポーネントがエンティティエディターに表示されます。
  2. Propertyに、Unspecified > Propertyをクリックします。Select Propertyダイアログで、<uicontrol>Ribs</uicontrol>を選択し、OKをクリックします。

荷重と境界条件の適用

荷重コレクターの作成

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

拘束の作成

本ステップでは、SPC拘束条件を作成し、それらをConstraints荷重コレクターに割り当てます。
  1. ModelブラウザのCollectorsフォルダーでConstraintsを右クリックし、コンテキストメニューからMake Currentを選択します。
  2. Analysisページからconstraintsをクリックします。
  3. 1つ目の拘束条件を作成します。
    1. 節点セレクターを使って、図 1に示す節点を選択します。
    2. 自由度dof3を選択し、それ以外はすべて選択解除します。
    3. createをクリックします。


    図 1.
  4. 2つ目の拘束条件を作成します。
    1. 節点セレクターを使って、図 2に示す節点を選択します。
    2. 自由度dof1 - dof3を選択し、それ以外はすべて選択解除します。
    3. createをクリックします。


    図 2.
  5. 3つ目の拘束条件を作成します。
    1. 節点セレクターを使って、図 3に示す節点を選択します。
    2. 自由度dof2を選択し、それ以外はすべて選択解除します。
    3. createをクリックします。


    図 3.
  6. returnをクリックします。

集中荷重の作成

ここでは、C型クリップの開口部の向かい合う両先端に100.0 Nの逆方向の集中荷重を適用します。
  1. ModelブラウザのCollectorsフォルダーでForcesを右クリックし、コンテキストメニューからMake Currentを選択します。
  2. Analysisページからforcesをクリックします。
  3. C型クリップ開口部上部に集中荷重を作成します。
    1. 節点セレクターを使って、クリップ開口部上部にある節点を選択します。
    2. magnitude=欄に100と入力します。
    3. ベクトルセレクターをy-axisにセットします。
    4. createをクリックします。


    図 4.
  4. C型クリップ開口部底部に集中荷重を作成します。
    1. 節点セレクターを使って、クリップ開口部底部にある節点を選択します。
    2. magnitude=欄に-100と入力します。
    3. ベクトルセレクターをy-axisにセットします。
    4. createをクリックします。


    図 5.
  5. 矢印間に間隔を空けるため、uniform size=欄に7と入力します。


    図 6.
  6. returnをクリックし、Analysisページに戻ります。

荷重ステップの作成

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

ジョブのサブミット

最適化プロセスの定義に先がけ、このC型クリップの線形静解析を実行します。解析は、最適化の前にモデルの応答を確認し、最適化に定義される制約条件が妥当であることを確実にします。

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

    OS_1000_13_17
    図 7. OptiStructパネルへのアクセス
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてcclip_completeと入力します。
    OptiStruct入力ファイルには、拡張子 .femが推奨されます。
  4. Saveをクリックします。
    入力ファイル欄には、Save Asダイアログで指定されたファイル名と場所が表示されます。
  5. export optionsのトグルをallにセットします。
  6. run optionsのトグルをanalysisにセットします。
  7. memory optionsのトグルはmemory defaultにセットします。
  8. options欄を空にします。
  9. OptiStructをクリックし、OptiStructジョブを開始します。
ジョブが成功した場合、cclip_complete.femが書き出されたディレクトリに新しい結果ファイルがあるはずです。何らかのエラーがある場合、cclip_complete.outファイルはデバッグを手助けするエラーメッセージを探すのに良い場所です。

結果の表示

  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewが起動し、モデルと結果を含んだcclip.mvwファイルが開きます。
  2. ResultsツールバーでresultsContour-16をクリックし、Contour panelを開きます。
  3. Result typeの下で、Displacement(v)およびYを選択します。
  4. Applyをクリックします。

    os_2000_y_displace
    図 8. Y変位のコンター
  5. 値が、図 8内の値と一致しているかを確認します。
  6. Page Controlツールバーでpage deleteアイコンをクリックし、HyperViewページを消去します。

    page_delete
    図 9.
    HyperViewが閉じます。
  7. return をクリックしてパネルを終了します。

最適化のセットアップ

シェル要素、要素特性、材料特性、荷重および境界条件を含む予備の有限要素モデルを定義しました。これで、使用材料を最小限にすることを目的に、トポロジー最適化を実施します。通常、同じ荷重と境界条件で既存のボリュームから材料を取り除くと、モデルの剛性が落ち、変形が大きくなります。したがって、変位(構造の剛性を表す)を追跡し、必要最小限の材料が使用され、全体の剛性も達成されるように最適化プロセスを制約する必要があります。

モデルの集中荷重は、クリップ開口部外側の節点にかけられ、これら2つの節点位置はメッシュ内で重要となります。本チュートリアルでは、これらの節点がy-軸方向に0.07以上離れないよう、変位の制約条件を適用します。

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

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

    この値0.0は、特定の要素の板厚がゼロとなり、したがってそれが穴となり得ることを意味します。

  8. createをクリックします。
  9. returnをクリックします。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 体積率の応答を作成します。
    1. responses=欄に、volfracと入力します。
    2. response typeの下で、volumefracを選択します。
    3. regional selectionをtotalno regionidに設定します。
    4. createをクリックします。
  4. 変位の応答を作成します。
    1. responses=欄に、upperdisと入力します。
    2. response typeの下で、static displacementを選択します。
    3. displacement typeをdof2に設定します。
      dof1、dof2、dof3
      X、Y、Z方向の並進自由度
      dof4、dof5、dof6
      X、Y、Z方向の回転自由度
      total disp
      x、y、z方向の並進変位の結果
      total rotation
      x、y、z方向の回転変位の結果
    4. createをクリックします。


    図 10.
  5. lowerdisという名称の別の変位応答を作成します。節点セレクターを使って、c-クリップ開口部底部にあるBとラベル付けされた節点を選択します。

    os_2000_force_b
    図 11.
  6. returnをクリックし、Optimization panelに戻ります。

変位応答の制約の作成

ここでは、この解析について、上限制約と下限制約を設定します。
  1. Dconstraintsパネルをクリックします。
  2. 上限制約を作成します。
    1. constraint=欄にc_f4と入力します。
    2. upper boundの横のボックスにチェックマークを入れ、0.07と入力します。
    3. response=をクリックしupperdisを選択します。
    4. 荷重ステップセレクターを使って、を選択します。
    5. createをクリックします。
  3. 上限制約を作成します。
    1. constraint=欄にc_lowerと入力します。
    2. lower boundの横のボックスにチェックマークを入れ、-0.07と入力します。
    3. response=をクリックしlowerdisを選択します。
    4. 荷重ステップセレクターを使って、を選択します。
    5. createをクリックします。
  4. returnをクリックし、Optimization panelに戻ります。

目的関数の定義

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

SCREENカードの作成

SCREENコントロールカードは、OptiStructが最適化反復計算を出力ウィンドウに出力することを可能にします。
  1. Analysisページからcontrol cardsをクリックします。
  2. Card Imageダイアログで、SCREENをクリックします。
  3. returnをクリックします。
  4. returnをクリックします。

最適化の実行

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

結果の表示

要素密度の結果はすべての反復計算について、OptiStructからcclip_complete_des.h3dファイルに出力されます。また、変位および応力の結果は、デフォルトで最初と最後の反復計算の各サブケースについて、cclip_complete_s#.h3dファイルに出力されます(#はサブケースID)。

要素密度のアイソバリュープロットの表示

アイソバリュープロットは、要素密度についての情報を提供します。アイソバリューは、一定の密度しきい値以上の要素すべてを保持しています。各自のニーズに合った構造を与える密度しきい値を選択する必要があります。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、2つのファイルからの結果を示す下記の2つのページを含んだセッションファイルcclip_complete.mvwが開きます:
    Page 2
    最適化履歴結果(要素密度)を含んだファイルcclip_complete_des.h3dを表示します。
    Page 3
    Subcase 1結果; 初期および最終(変位、応力)を含んだファイルcclip_complete_s1.h3dを表示します。
  2. 現在page 2にいることを確認します。
  3. Resultsブラウザで、荷重ケースセクションのDesignおよびリストされている最終反復計算を選択し、最適反復計算結果を確認します。


    図 12.
  4. Standard ViewsツールバーでXY Top Plane Viewをクリックし、正しいビューを設定します。
  5. メニューバーResults > Plot > Isoをクリックします。
  6. パネル領域で、Result typeをElement Densitiesに設定します。
  7. Applyをクリックします。
  8. Current value欄に0.3と入力します。
  9. Current valueの下でスライダバーを動かして、密度しきい値を変更します。
    このツールを使用して、OptiStructからの材料レイアウトおよび荷重のパスを見易くしてください。
    新しい値にスクロールすると、モデリングウィンドウ内のアイソバリューがインタラクティブに更新されます。

    os_2000_elem_densities
    図 13. 要素密度のアイソバリュープロット

元の静的なコンターと最適化された材料レイアウトの比較

  1. HyperViewpageNext-24をクリックし、page 3に進みます。
    最初と最後の反復ステップについての静的サブケース結果を含むcclip_complete_s1.h3dファイルが表示されます。
  2. Page Controlsツールバーで、Page Window LayoutドロップダウンからpageLayout2Vertical-24をクリックし、ページを縦に2つのウィンドウに分割します。
  3. Standard ViewsツールバーでXY Top Plane Viewをクリックし、正しいビューを設定します。
  4. メニューバーResults > Plot > Contourをクリックします。
  5. Result typeの下で、DisplacementおよびYを選択します。
  6. Applyをクリックします。
  7. resultsDeformed-24をクリックし、Deformedパネルを開きます。
  8. Deformed shapeの下で、Value欄に100と入力します。
  9. Undeformed shapeの下のShowをEdgesにセットします。
  10. Applyをクリックします。
  11. 1つ目のウィンドウのコンテンツを2つ目のウィンドウにコピーします。
    1. メニューバーEdit > Copy > Windowをクリックします。
    2. 空のウィンドウをクリックします。
    3. メニューバーEdit > Paste > Windowをクリックします。
  12. アニメーションモードをLinearanimationLinear-24に設定します。
  13. 2番目のウィンドウが選択されている状態で、Iteration 28を選択します。

    2000_post_7
    図 14.
  14. 3つ目のページを作成します。
    1. メニューバーEdit > Copy > Pageをクリックします。
    2. メニューバーEdit > Paste > Pageをクリックします。
  15. 1つ目のウィンドウをアクティブにし、resultsContour-24をクリックし、Contour panelを開きます。
  16. Result typeの下で、Element Stresses (2D & 3D) (t)を選択します。
  17. Averaging MethodをSimpleに設定します。
  18. Applyをクリックします。
  19. 最初のウィンドウで右クリックしコンテキストメニューからApply Style > Current Page > Contourを選択します。

    2000_post_8
    図 15.
これらの応力結果は、設計が制限からどの程度かけ離れているかを理解するための参考にのみ使用します。トポロジー最適化は概念形状を示すもので、応力結果は次の設計フェーズ中に検証されるべき点にご留意ください。