OS-T:4080 回転バー最大応力の最小化
本チュートリアルでは、回転バーのマルチボディダイナミクス(MBD)寸法最適化のセットアップと実行を行います。
開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。
バーの左端に定義された回転ジョイントの角速度は、10*SIN(2*TIME) rad/secです。最適化の目的は、一定の質量仕様のもと、構造の最大応力を最小にすることです。バーは、円形のソリッド断面を有する5つのバー要素で構成されています(各要素はそれぞれROD断面とPBARLを有す)。設計変数は各バーのプロパティの半径です。図 1. 回転バーの構造モデル


最適化問題の設定は次の通りです:
- 目標
- 垂直応力の最小化
- 制約条件
- 質量 < 10kg
- 設計変数
- 各バーのプロパティの半径(PBARL)
HyperMeshの起動とOptiStructユーザープロファイルの設定
-
HyperMeshを起動します。
User Profilesダイアログが現れます。
-
OptiStructを選択し、OKをクリックします。
これで、ユーザープロファイルが読み込まれます。ユーザープロファイルには、適切なテンプレート、マクロメニュー、インポートリーダーが含まれており、OptiStructモデルの生成に関連したもののみにHyperMeshの機能を絞っています。
モデルのオープン
- をクリックします。
- 自身の作業ディレクトリに保存したrotating_bar_design.hmファイルを選択します。
-
Openをクリックします。
rotating_bar_design.hmデータベースが現在のHyperMeshセッションに読み込まれます。
モデルのセットアップ
構造解析用境界条件の定義
-
荷重コレクターを作成します。
-
coincident pickingを有効にします。
- menu barで をクリックします。
- graphicsサブパネルを選択します。
- coincident pickingを選択します。
- returnをクリックします。
図 2.
-
Model Browserで
をクリックし、プロパティビューを表示させます。
-
拘束条件を作成します。
各弾性体の6剛体モーションを削除するために、各弾性体について6 DOFのみが固定されています。
HyperMeshではサポートされない駆動モーションの定義
- Analysisページからパネルcontrol cardsをクリックします。
- BULK_UNSUPPORTED_CARDSをクリックします。
-
下記の2つのカードが存在していることを確認します。リストされていない場合は、カードを入力します。
図 4.
- OKをクリックします。
- returnをクリックします。
荷重ステップの編集
-
Model BrowserでSUBCASE1をクリックします。
荷重ステップのデータがEntity Editorに表示されます。
- Name欄にDynamicと入力します。
- Analysis typeをmulti-body dynamicsに設定します。
-
SPCを定義します。
- SPCに をクリックします。
- Select LoadcolダイアログでBCforOptを選択し、OKをクリックします。
-
MBSIMを定義します。
- MBSIMに をクリックします。
- Select LoadcolダイアログでMBSIM1を選択し、OKをクリックします。
-
MOTIONを定義します。
- MOTIONに をクリックします。
- Select LoadcolダイアログでMBSIM1を選択し、OKをクリックします。
最適化のセットアップ
寸法最適化設計変数の定義
- Analysisページからパネルoptimizationをクリックします。
- sizeパネルをクリックします。
- desvarサブパネルを選択します。
-
設計変数rad1を作成します。
- desvar=欄にrad1と入力します。
- initial value =欄に10と入力します。
- lower bound欄に0.05と入力します。
- upper bound欄に100と入力します。
- move limitのトグルはmove limit defaultにセットします。
- 離散設計変数(ddval)のトグルをno ddvalにセットします。
- createをクリックします。
新しい設計変数rad1が作成されました。この設計変数は初期値が10、下限制約が0.05、上限制約が100です。 - rad1同じ初期値、下限および上限制約値を用いて設計変数rad2、rad3、rad4、rad5を作成します。
- generic relationshipサブパネルを選択します。
-
設計変数とプロパティの関係bar1_rad1を作成します。
設計変数rad1をプロパティPBARL_1のPBARLカード上の半径入力値に関連付けた、設計変数とプロパティの関連bar1_rad1が作成されました。
- 設計変数をプロパティPBARL_2、PBARL_3、PBARL_4、PBARL_5のPBARLカード上の半径入力値に関連付けた、設計変数とプロパティの関連bar2_rad2、bar3_rad3、bar4_rad4、bar5_rad5を作成します。
- returnをクリックし、optimizationパネルに移動します。
質量と応力の応答の作成
-
応答Massを作成します。
- responsesパネルをクリックします。
- response=欄にMassと入力します。
- response typeをmassに設定します。
- regionalの選択ボタンをtotal(デフォルト)にセットします。
- createをクリックします。
モデルの全質量の応答Massが定義されました。 -
応答Stressを作成します。
- responsesパネルをクリックします。
- response=欄にStressと入力します。
- response typeをstatic stressに設定します。
- propsをクリックします。
- リスト内のすべてのプロパティを選択し、selectをクリックします。
- stressをnormalに設定します。
- stress recovery pointをallに設定します。
- createをクリックします。
図 5.
- returnをクリックし、optimizationパネルに移動します。
Create Design Constraints
- Click the dconstraints panel.
- In the constraint= field, enter Mass.
- Click response = and select Mass.
- Check the box next to upper bound, then enter 10.0.
- Click create.
- Click return to go back to the Optimization panel.
目的関数の定義
-
目的関数の参照値を作成します。
- obj referenceパネルをクリックします。
- dobjref=欄にMaxStressと入力します。
- response=をクリックしStressを選択します。
- neg reference=とpos reference=を選択します。
- トグルをallからloadstepsに切り替え、荷重ステップセレクターを使ってDynamicを選択します。
- createをクリックします。
- returnをクリックし、Optimization panelに戻ります。
-
目的関数を定義します。
- objectiveパネルをクリックします。
- minmaxを選択します。
- dobjrefs=セレクターを使って、MaxStressを選択します。
- createをクリックします。
- returnをクリックし、Optimization panelに戻ります。
データベースの保存
- menu barで をクリックします。
- Save Asダイアログでファイル名欄にrotating_bar_design.hmと入力し、自身の作業ディレクトリに保存します。
Run the Optimization
- From the Analysis page, click OptiStruct.
- Click save as.
-
In the Save As dialog, specify location to write the
OptiStruct model file and enter
rotating_bar_design for filename.
For OptiStruct input decks, .fem is the recommended extension.
-
Click Save.
The input file field displays the filename and location specified in the Save As dialog.
- Set the export options toggle to all.
- Set the run options toggle to optimization.
- Set the memory options toggle to memory default.
- Click OptiStruct to run the optimization.
- Click Close.
If the optimization was successful, no error messages are reported to the shell. The optimization is complete when the message Processing completed successfully appears in the shell.
If the job was successful, the new results file can be seen in the directory where the input file was saved. In addition to ordinary output files, you can see a text file with the name rotating_bar_design.eslout. This file is a good source to see the process of the ESL optimization.
After ~ 7 interations, the model should converge to the descending
values shown in 図 6.図 6.

