アナリシスの作成と編集
MotionViewでは、アナリシスは、モデルのシミュレーション対象のイベントを記述する荷重、モーション、ボディやグラフィックスを含むエンティティのコレクションを格納できるコンテナエンティティです。モデルには任意の数のアナリシスが含まれていてもかまいませんが、1つのインスタンスでアクティブにできるのは1つのみです。MotionViewでモデルを実行すると、特定のアナリシスが選択され、MotionViewからソルバーにモデルが送信されるときに、アナリシスに記述された荷重とモーションが共に送信されます。
アナリシスには次のような特徴があります。
- アナリシスは、ルートシステムのModelにのみ追加が可能。
- ポイント、ボディ、ジョイント、フォースといった他のモデリングエンティティを含むことができる。
- 子エンティティとしてシステムをもつ場合がある。
- 任意の時点でアクティブにすることができるアナリシスは1つのみである。アナリシス設定(Analyzeリボン内のRunアイコン)とソルバーデックのエクスポートでは、アクティブな解析があらかじめ選択されています。
- アナリシスは、システムやアセンブリがアタッチメントを取得する場合と同様にアタッチメントを取得する。
- シミュレーションの種類と設定は、アナリシスのエンティティエディターで編集できます。
- モデル内で使用可能な場合は、Default Analysis(ana__default)を選択します。このアナリシスに新たなエンティティを追加することはできません。ただし、シミュレーションの種類や設定は編集可能です。
システムの拡張バージョンであるアセンブリと同様、アナリシスコンテナーエンティティも、配布ファイルアプローチを持つように拡張されます。ただし、この拡張は、“Analysis”という名前の同じエンティティに含まれます。アナリシスコンテナーには次の2つのバリエーションがあります:
インラインアナリシス
このタイプのアナリシスでは、定義とプロパティはモデルMDLファイル内にインラインで保存されます。
- MDLでは、*DefineAnalysisブロックを参照する*Analysisステートメントを使用して定義をインスタンス化することによってインラインアナリシスが作成されます。
配布アナリシス
アセンブリエンティティに類似の配布ファイルベースのアナリシスです。この形式のアナリシスはアセンブリと同様のコンセプトで機能しますが、いくつかの規則や例外があります:
- 配布アナリシスはデータファイルを参照し、データファイルは定義ファイルを参照する。
- 配布アナリシスにアセンブリを追加することはできるが、インラインアナリシスには追加できない。
- アセンブリとは異なり、配布アナリシスにはプレースホルダーが用意されていない。
- 配布アナリシスには、アナリシスの適用を特定の種類のモデルに制限するために使用できるALLOWED_MODEL_TYPE属性がある。
- MDLでは、*BeginAnalysisブロックを使用して配布アナリシスがインスタンス化される。このブロックには、データファイルを参照する*DataIncludeステートメントがある。このデータファイルには*BeginAnalysisDataFileブロックがあり、このブロックには定義ファイルを参照する*DefinitionIncludeがある。この定義ファイルには、*DefineAnalysisブロックを持つ*BeginDefinitionFileがある。この構造は、アセンブリエンティティの構造と一致している。
例
以下のシンプルなモデル例は、アナリシスのコンセプトを表すものです。このモデルは、~hw_install/demos/mv_hv_hg/modeling/container_entities/system_analysis/door.mdlに用意されています。このモデルはハッチバックシステムというシステムにまとめられており、そのシステムには2つの子システムとして、ドアシステムとダンパーシステムがあります。下の図は、乗用車のハッチバックドアを簡略化したモデルで、その横に示されたMDLモデルを使用して作成されています。
そのひとつが運動学アナリシスです。このアナリシスは、ドアシステムのヒンジジョイントにモーションを追加することで実現できます。
もう1つのアナリシスは、ドアの先端に力をかけることによって実現できる動力学アナリシスです。この2つのイベントは排他的です。例えば、ヒンジジョイントのモーションは、ドアの先端に力をかけたときには適用されません。その逆も同様です。
- モデル全体の情報は、door.mdl(モデルファイル)の*BeginMDL - *EndMDLブロックに記述されている。
- このモデルには、2つのシステムインスタンスとそれらの定義ブロックとは別に、キネマティックアナリシス(ana_kin)をインスタンス化する*Analysisステートメントがある。このアナリシスインスタンスは、モデルファイルの*DefineAnalysisブロックにあるアナリシス定義(def_ana_kin)を参照する。
- ドアシステムのドアヒンジジョイントは、アナリシスへのアタッチメントとして渡される。このアタッチメントを使用するモーションが定義される。
- モーションに関連するデータは、*BeginContext(ana_kin)ブロックにある。
図 1.
- モデルファイルには、動力学アナリシスをインスタンス化する*BeginAnalysisブロックもある。
- このブロックはデータファイル(dyn_data.mdl)を参照し、そのファイルは定義ファイル(dyn_def.mdl)を参照する。
- ドアボディとドアの中央端点は、アタッチメントとしてこのアナリシスに渡される。フォースエンティティが、これらのアタッチメントを使用するように定義される。
- フォースのデータは、データファイルに含まれている。
- MDL構造は、アセンブリのそれと同様である。データは*BeginAnalysisDataFile内に含まれている。定義ファイルのアナリシス定義ブロック*DefineAnalysisは*BeginAnalysisDefinitionFileにある。
図 2.
- *SetActiveAnalysisステートメントは、そのアナリシスがアクティブかをコントロールする。
インラインアナリシスの追加
-
アセンブリリボンに移動して、ArrangeグループのAnalysisアイコンをクリックします。
または
Model名を右クリックし、 を選択します。
Add Analysisダイアログが表示されます。 - Inlined in model fileオプションにチェックを入れ、Nextを選択します。
- アナリシスに変数名を割り当てます。
- アナリシスにラベルを割り当てます。
- アナリシスに定義名を割り当てます。
- Applyをクリックしてアナリシスを追加し、追加を続けます。Backをクリックして、追加するアナリシスのタイプを変更します。 OK をクリックしてウィンドウを閉じ、アナリシスの追加を終了します。
配布ファイルアナリシスの追加
-
アセンブリリボンに移動して、ArrangeグループのAnalysisアイコンをクリックします。
または
Model名を右クリックし、 を選択します。
Add Analysisダイアログが表示されます。 - Add Analysisダイアログで、Uses data and definition filesオプションを選択してNextをクリックします。
-
次のいずれかのオプションを選択してNextをクリックします:
- アナリシスに変数名を割り当てます。
- アナリシスにラベルを割り当てます。
- アナリシスに定義名を割り当てます。
- Applyをクリックしてアナリシスを追加し、追加を続けます。Backをクリックして、追加するアナリシスのタイプを変更します。OKをクリックしてウィンドウを閉じ、アナリシスの追加を終了します。
アナリシスの編集
アタッチメントの修正、初期条件の設定、オプションの定義、アナリシスのインポートやエクスポートなどができます。
-
各アナリシスは、Attachmentsタブで他のシステムまたはアセンブリと結合するためのアタッチメントのリストを備えています。アタッチメントを追加または削除するには、以下の手順を実行します。
-
アタッチメントに解決されたエンティティを変更するか、未解決のアタッチメントを解決するには、エンティティエディターでそのアタッチメントを選択します。
-
これでエンティティコレクターが選択可能になりました。モデリングウィンドウを使用してエンティティを選択するか、コレクターの右端にある省略記号
をクリックしてAdvanced Selectionを使用します。
-
これでエンティティコレクターが選択可能になりました。モデリングウィンドウを使用してエンティティを選択するか、コレクターの右端にある省略記号
-
データメンバーのPropertiesがPropertiesセクションにリストされています。パラメトリックな式を使用して、プロパティを作成し、アナリシス内の1つまたは複数のエンティティにリンクできます。プロパティのデータタイプは、実数、整数、ブーリアン、文字列、オプション、またはファイル名にすることができます。プロパティを追加または削除するには、Add/Deleteをクリックします。
-
Initial Conditionsセクションで、次の操作を実行します:
シミュレーションパラメータの指定
各アナリシスには、シミュレーション実行に設定できるアナリシスパラメータやその他のシミュレーションパラメータ設定が含まれています。アナリシスごとに、異なるアナリシスパラメータとシミュレーション設定を使用できます。デフォルトでは、これらの設定はグローバルシミュレーション設定の値を継承します。
-
Analysis Parametersで、Analysis Typeを選択します。選択したアナリシスタイプに基づいて、他のパラメータと設定が適宜アクティブ化または非アクティブ化されます。
- Transient、Quasi-Static、またはStatic+Transientを選択した場合は、End TimeとPrint Intervalを入力します。
- Dynamic Settingsには、過渡実行用のパラメータがリストされます。
- Static Settingsには、静的実行と準-静的実行用のパラメータがリストされます。
- Linear Settingsには、線形実行用のパラメータがリストされます。
- Frequency Settingsには、周波数応答アナリシス用のパラメータがリストされます。
注: 各セクションのパラメータの詳細については、Global Simulation Settingsダイアログをご参照ください。 -
Scripted Simulation - シミュレーションを実行するためのシミュレーションスクリプトが存在する場合は、このオプションを使用します。シミュレーションスクリプトは、“Write text to solver command file”というタイプのテンプレートを使用して作成します。このオプションを選択した場合、MotionViewでは、実行時やソルバーデックのエクスポート中に、Analysis Typeで示されたシミュレーションが無視されます。
注: シミュレーションスクリプトが存在する場合に、このオプションをオフにすると、そのスクリプト内のコマンドに加えて、Analysis Typeに対応するシミュレートコマンドがソルバーに送信されます。
インラインアナリシスのエクスポート
.mdlファイルにエクスポートできます。トポロジー情報を含むアナリシス全体をファイルにエクスポート、もしくは、別のモデルに読み込むためにモデル特性のみをエクスポートすることも可能です。定義ファイルにエクスポートできるのは、インラインアナリシスのみです。
をクリックすることによって、個々のアナリシスを- モデルブラウザで、保存するインラインアナリシスを選択します。
-
を選択します。Export Definitionダイアログが表示されます。
-
Select Fileでファイル名を選択して、Exportをクリックします。
アナリシスがエクスポートされます。
- Export topology as:ドロップダウンメニューを使用して、エンティティ定義ステートメントと定義ブロック(システム、データセット、テンプレートなどを定義するブロック)を指定します。
- Property Dataオプションは、エンティティに値を割り当てる*Setステートメントを参照します。
ファイルからアナリシスへの定義のインポート
.mdlファイルからアナリシスにインポートできます。
メニューを使用して、システムを- モデルブラウザで、アナリシスを選択します。
-
File > Export > MDL Definitionを選択します。
Import Definitionダイアログが表示されます。
- Select a definition fileでファイル名を選択します。
- ドロップダウンメニューから定義のタイプを選択します。このファイル内の使用可能なすべての定義(定義名)が下にリストされます。
- インポートする定義を選択します。
- ラベル、変数名、説明文(オプション)を入力します。
-
OKをクリックします。
警告: インポートするファイルの定義の名前が現在のモデルですでに使用されている場合は、その定義は新しい名前でインポートされます。元の定義への参照は、モデル内の既存の定義に変更される場合があります。