OS-T:2070 DMIGを用いた縮退モデル

本チュートリアルでは、シンプルな片持ち梁をモデル化した既存の有限要素モデルを使用し、静的縮退を使って有限要素モデルを縮退する方法について説明します。また、その縮退モデルについてトポロジー最適化を実行します。

開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。
1. 静的縮退なしの片持ち梁のフルモデル

2070
最適化問題の設定は以下の通りです:
目標
コンプライアンスの最小化
制約条件
体積を現状の40%以下に
設計変数
設計空間内の各要素の密度
2. 片持ち梁のフルモデルのトポロジー最適化結果

2070_2

静的縮退によるモデル縮退テクニックで縮退すべきモデルのパートは、スーパーエレメントと呼ばれます。OptiStructでは、スーパーエレメントの境界自由度、すなわち、マトリックスの直接入力により置き換えられる縮退部コンポーネントと縮退されない部分との接合箇所の自由度のセットを示すには、ASETまたはASET1バルクデータエントリが必要です。ASETの数が多いほど、静的縮退の精度と解析コストは高くなります。例えば、静的縮退を用いることにより、解くべきマトリックスのサイズは小さくなりますが、縮退マトリックス(DMIG)が非常に密である場合、マトリックスが疎であるフルモデルの場合と比べて解析時間が長くかかります。したがって、DMIGを用いた効率的な解析を行うには、ASETエントリの選択が非常に重要となります。

縮退マトリックスが密となることを回避するには、設計空間と非設計空間の間の境界節点のすべてについてASETエントリを作成せず、ASETエントリを慎重に選びます(下の図参照)。本チュートリアルに使用される問題はサイズが小さいため、解析時間はASETエントリの選択に左右されないかもしれません。
3. 片持ち梁モデルのASET

2070_3

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

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

モデルのオープン

  1. File > Open > Modelをクリックします。
  2. 自身の作業ディレクトリに保存したcantilever_full.hmファイルを選択します。
  3. Openをクリックします。
    cantilever_full.hmデータベースが現在のHyperMeshセッションに読み込まれます。

スーパーエレメントの作成

ASETs荷重コレクターの作成

  1. 荷重コレクターを作成します。
    1. Model Browserで右クリックしcontext menuからCreate > Load Collectorを選択します。
      デフォルトの荷重コレクターがEntity Editorに表示されます。
    2. NameにAsetsと入力します。
    3. Card ImageをNoneに設定します。
  2. 拘束条件を作成します。
    1. Analysisページからパネルconstraintsをクリックします。
    2. createサブパネルを選択します。
    3. 節点セレクターを使って、境界節点を選択します。
      4.

      2070_3
    4. すべての自由度を選択します。
      チェックマークのついている自由度がASETに割り当てられます。Dofs 1、2および3は、x、y、z方向の並進自由度を表します。Dof 4、5、6 はそれぞれ全体座標系の x、y、z 軸周りの回転自由度です。
    5. Load Type=をクリックしASETを選択します。
    6. createをクリックします。
  3. returnをクリックし、メインメニューに進みます。

後続の最適化で縮退されたない要素の削除

縮退剛性マトリックスおよび荷重ベクトルは、縮退される要素(スーパーエレメント)についてのみ生成されます。したがって、新規モデルは、スーパーエレメントパートとそのパートに直接適用される荷重および境界条件のみを有するよう作成される必要があります。
  1. キーボードのF2キーを押し、Delete panelに進みます。
  2. エンティティセレクターをelemsにセットし、elems > by windowをクリックします。
  3. 図 5に示す要素の周りにウィンドウを描きます。
    5.

    2070_4
  4. delete entityをクリックします。
  5. returnをクリックし、メインメニューに進みます。

縮退マトリックスを外部ファイルに書き出すためのパラメータの定義

縮退マトリックス生成プロセスをアクティブにするには、PARAM,EXTOUTバルクデータエントリが必要です。
このパラメータがアクティブになっていないと、入力ファイルは通常のジョブとして扱われ、縮退マトリックスが生成されません。このパラメータには、ASCIIフォーマットのマトリックスを.pchファイルに保存するDMIGPCHと、バイナリフォーマットのマトリックスを.dmgファイルに保存するDMIGBINという2つのオプションがあります。本チュートリアルでは、DMIGPCHを使用します。
  1. Analysisページからパネルcontrol cardsパネルをクリックします。
  2. Card Imageダイアログで、PARAMをクリックします。
  3. EXTOUTを選択します。
  4. card imageの上部、EXTOUTの下で、DMIGPCHを選択します。
  5. returnをクリックし、PARAMから抜けます。
  6. returnをクリックし、メインメニューに戻ります。

データベースの保存

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

ジョブのサブミット

  1. AnalysisページからOptiStructパネルをクリックします。
    6. OptiStructパネルへのアクセス

    OS_1000_13_17
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてcantilever_dmigと入力します。
    OptiStruct入力ファイルには、拡張子 .femが推奨されます。
  4. Saveをクリックします。
    入力ファイル欄には、Save Asダイアログで指定されたファイル名と場所が表示されます。
  5. export optionsのトグルをallにセットします。
  6. run optionsのトグルをanalysisにセットします。
  7. memory optionsのトグルはmemory defaultにセットします。
  8. OptiStructをクリックし、OptiStructジョブを開始します。
ジョブが成功した場合、cantilever_dmig.femが書き出されたディレクトリに新しい結果ファイルがあるはずです。何らかのエラーがある場合、cantilever_dmig.outファイルはデバッグを手助けするエラーメッセージを探すのに良い場所です。
そのディレクトリに書かれるデフォルトのファイルは:
cantilever_dmig.out
ファイルの設定、最適化問題の設定、実行に必要なRAMおよびディスクスペースの推定量、各最適化反復計算の情報、解析時間等、特定の情報を含むOptiStructの出力ファイル。ワーニングおよびエラーに関しては、このファイルを確認すること。
cantilever_dmig.stat
解析のプロセスの間のそれぞれのステップでのCPU情報を提供する、解析のプロセスの要約。
cantilever_dmig_AX.pch
縮退マトリックス(DMIG)ファイル

マトリックスは、DMIGバルクデータエントリと同じフォーマットで.pchファイルに書き出されます。これらは、1つのヘッダーエントリと1つまたは複数のカラムエントリで定義されます。デフォルトでは、剛性マトリックスの名称はKAAX、質量はMAAX、荷重はPAXです。本チュートリアルでは質量マトリックスは使用されないため、.pchファイルには書き出されません。

I/O OptionのエントリのDMIGNAMEにより、マトリックスの名称をコントロールすることが可能です。

データベースの作成

menu barFile > Newをクリックします。
既存のHyperMeshデータベースが作成されます。

スーパーエレメントをモデルに含める

モデルのオープン

  1. File > Open > Modelをクリックします。
  2. 自身の作業ディレクトリに保存したcantilever_full.hmファイルを選択します。
  3. Openをクリックします。
    cantilever_full.hmデータベースが現在のHyperMeshセッションに読み込まれます。

DMIGを使って縮退されたスーパーエレメントパートの削除

スーパーエレメントパートのマトリックスはDMIGによって置き換えられるため、節点および要素のバルクデータエントリ、およびスーパーエレメント内のすべての荷重と境界条件は削除する必要があります。
  1. キーボードのF2キーを押し、Delete panelに進みます。
  2. エンティティセレクターをelemsにセットし、elems > by windowをクリックします。
  3. 図 7に示す要素の周りにウィンドウを描きます。
    7.

    2070_5
  4. delete entityをクリックします。
  5. returnをクリックし、メインメニューに進みます。

DMIGを伴うトポロジー最適化のセットアップ

  1. Analysisページからパネルcontrol cardsパネルをクリックします。
  2. INCLUDE_BULKコントロールカードを定義します。
    1. Card Imageダイアログで、INCLUDE_BULKをクリックします。
    2. Include欄にファイル名cantilever_dmig_AX.pchを入力します。
      縮退マトリックス(DMIG)は、OptiStruct入力デックに含まれます。ここでは、トポロジー最適化がcantilever_dmig_AX.pchファイルと同じフォルダーで実行されることを前提とします。別のフォルダーで実行する場合は、このファイルのフルパスを定義してください。
    3. returnをクリックし、INCLUDE_BULKコントロールカードを終了します。
  3. K2GGコントロールカードを定義します。
    1. K2GGをクリックします。
    2. K2GG=欄に、KAAXと入力します。
      これは、KAAXという名称の縮退剛性マトリックス(cantilever_dmig_AX.pchファイルに格納されている)が使用されるべきということを指定します。
    3. returnをクリックし、K2GGコントロールカードを終了します。
  4. P2Gコントロールカードを定義します。
    1. P2Gをクリックします。
    2. P2G=欄に、PAXと入力します。
    3. returnをクリックし、P2Gコントロールカードを終了します。
  5. returnをクリックし、メインメニューに進みます。

最適化のセットアップ

Create Topology Design Variables

  1. From the Analysis page, click optimization.
  2. Click topology.
  3. Select the create subpanel.
  4. In the desvar= field, enter topo.
  5. Set type: to PSHELL.
  6. Using the props selector, select design.
  7. Click create.
  8. Update the design variable's parameters.
    1. Select the parameters subpanel.
    2. Toggle minmemb off to mindim=, then enter 1.2.
    3. Click update.
  9. Click return.

Create Optimization Responses

  1. From the Analysis page, click optimization.
  2. Click Responses.
  3. Create the volume fraction response.
    1. In the responses= field, enter Volfrac.
    2. Below response type, select volumefrac.
    3. Set regional selection to total and no regionid.
    4. Click create.
  4. Create the compliance response.
    1. In the response= field, enter Compl.
    2. Below response type, select compliance.
    3. Set regional selection to total and no regionid.
    4. Click create.
  5. Click return to go back to the Optimization panel.

Create Design Constraints

  1. Click the dconstraints panel.
  2. In the constraint= field, enter VFrac.
  3. Click response = and select Volfrac.
  4. Check the box next to upper bound, then enter 0.4.
  5. Click create.
  6. Click return to go back to the Optimization panel.

Define the Objective Function

  1. Click the objective panel.
  2. Verify that min is selected.
  3. Click response= and select Compl.
  4. Using the loadsteps selector, select step.
  5. Click create.
  6. Click return twice to exit the Optimization panel.

データベースの保存

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

Run the Optimization

  1. From the Analysis page, click OptiStruct.
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter cantilever_opti for filename.
    For OptiStruct input decks, .fem is the recommended extension.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to optimization.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to run the optimization.
    The following message appears in the window at the completion of the job:
    OPTIMIZATION HAS CONVERGED.
    FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
    OptiStruct also reports error messages if any exist. The file cantilever_opti.out can be opened in a text editor to find details regarding any errors. This file is written to the same directory as the .fem file.
  9. Click Close.
The default files that get written to your run directory include:
cantilever_opti.hgdata
HyperGraph file containing data for the objective function, percent constraint violations, and constraint for each iteration.
cantilever_opti.HM.comp.tcl
HyperMesh command file used to organize elements into components based on their density result values. This file is only used with OptiStruct topology optimization runs.
cantilever_opti.HM.ent.tcl
HyperMesh command file used to organize elements into entity sets based on their density result values. This file is only used with OptiStruct topology optimization runs.
cantilever_opti.html
HTML report of the optimization, giving a summary of the problem formulation and the results from the final iteration.
cantilever_opti.oss
OSSmooth file with a default density threshold of 0.3. You may edit the parameters in the file to obtain the desired results.
cantilever_opti.out
OptiStruct output file containing specific information on the file setup, the setup of the optimization problem, estimates for the amount of RAM and disk space required for the run, information for all optimization iterations, and compute time information. Review this file for warnings and errors that are flagged from processing the cantilever_opti.fem file.
cantilever_opti.res
HyperMesh binary results file.
cantilever_opti.sh
Shape file for the final iteration. It contains the material density, void size parameters and void orientation angle for each element in the analysis. This file may be used to restart a run.
cantilever_opti.stat
Contains information about the CPU time used for the complete run and also the break-up of the CPU time for reading the input deck, assembly, analysis, convergence, and so on.
cantilever_opti_des.h3d
HyperView binary results file that contain optimization results.
cantilever_opti_s#.h3d
HyperView binary results file that contains from linear static analysis, and so on.

結果の表示

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

密度結果のコンタープロットの表示

  1. OptiStructパネルから、HyperViewをクリックします。
  2. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  3. Result typeをElement Densities[s]およびDensityに設定します。
  4. Averaging MethodをSimpleに設定します。
  5. Applyをクリックし、密度のコンターを表示します。
  6. AnimationツールバーでanimationFastForwardEnd-24をクリックし、Simulationリストから最終反復計算を選択します。
コンター図は、適用されている荷重および境界条件から得られた要素密度が示されています。
8.

os_2070_step18

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

アイソバリュープロットは、要素密度についての情報を提供します。アイソバリューは、一定の密度しきい値以上の要素すべてを保持しています。ソリッド設計領域を有するモデルについて、本機能は、密度結果を解析するための強力なツールとなります。
  1. ResultsツールバーでresultsIso-24をクリックし、Iso Valueパネルを開きます。
  2. Result typeをElement Densitiesに設定します。
  3. Show valuesをAboveにセットします。
  4. Applyをクリックします。
  5. Clipped geometryの下で、FeaturesTransparentを選択します。
  6. 密度しきい値を変更します。
    • Current value欄に0.3と入力します。
    • Current valueの下のスライダーを動かします。
    密度のしきい値を更新すると、modeling windowに表示されているアイソバリューもインタラクティブに更新します。このツールを使用して、OptiStructからの材料レイアウトおよび荷重のパスを見易くしてください。
9.

os_2070_step19