アナリシスの作成と編集

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つのイベントは排他的です。例えば、ヒンジジョイントのモーションは、ドアの先端に力をかけたときには適用されません。その逆も同様です。

MDLファイル:
  • モデル全体の情報は、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ステートメントは、そのアナリシスがアクティブかをコントロールする。

インラインアナリシスの追加

アナリシスを追加するには:
  1. アセンブリリボンに移動して、ArrangeグループのAnalysisアイコンをクリックします。
    または

    Model名を右クリックし、Add > Analysisを選択します。

    Add Analysisダイアログが表示されます。
  2. Inlined in model fileオプションにチェックを入れ、Nextを選択します。
  3. アナリシスに変数名を割り当てます。
  4. アナリシスにラベルを割り当てます。
  5. アナリシスに定義名を割り当てます。
  6. Applyをクリックしてアナリシスを追加し、追加を続けます。Backをクリックして、追加するアナリシスのタイプを変更します。 OK をクリックしてウィンドウを閉じ、アナリシスの追加を終了します。

配布ファイルアナリシスの追加

アナリシスを追加するには:
  1. アセンブリリボンに移動して、ArrangeグループのAnalysisアイコンをクリックします。
    または

    Model名を右クリックし、Add > Analysisを選択します。

    Add Analysisダイアログが表示されます。
  2. Add Analysisダイアログで、Uses data and definition filesオプションを選択してNextをクリックします。
  3. 次のいずれかのオプションを選択してNextをクリックします:
    1. Existing data file: 既存のデータファイルを使用してアナリシスを追加します。
      • 既存のデータファイルを探して選択します。

      または

    2. New data file: 新しいデータファイルを使用してアナリシスを追加します。Existing definition fileまたはNew definition fileを選択してNextをクリックします。
      • mdlファイルを選択して、アナリシス用のデータを保存します。
      • Existing definition file - アナリシス定義を含むmdlファイルを指定します。

        または

      • New definition file - 定義を保存するためのmdlファイルを選択します。
  4. アナリシスに変数名を割り当てます。
  5. アナリシスにラベルを割り当てます。
  6. アナリシスに定義名を割り当てます。
  7. Applyをクリックしてアナリシスを追加し、追加を続けます。Backをクリックして、追加するアナリシスのタイプを変更します。OKをクリックしてウィンドウを閉じ、アナリシスの追加を終了します。

アナリシスの編集

アタッチメントの修正、初期条件の設定、オプションの定義、アナリシスのインポートやエクスポートなどができます。

  1. 各アナリシスは、Attachmentsタブで他のシステムまたはアセンブリと結合するためのアタッチメントのリストを備えています。アタッチメントを追加または削除するには、以下の手順を実行します。
    1. アナリシスのエンティティエディター内のAttachmentsセクションに移動します。
    2. Add/Deleteボタンをクリックします。
      Attachmentダイアログが表示されます。
    3. アタッチメントを追加するには、Addをクリックします。
      • Add an Attachmentダイアログで、ラベルと変数名を指定します。
      • ドロップダウンメニューからアタッチメントエンティティのタイプを選択します。
      • TypeにSingle onlyまたはPair or single を選択します。
        注: ペアでモデル化できないエンティティでは、これらのオプションは無効になっています。
      • 注記を入力します。
      • OKをクリックしてダイアログを閉じます。
    4. アタッチメントを削除するには、アタッチメントを選択してDeleteをクリックします。
    5. アタッチメントエンティティのラベルとタイプを編集するには、アタッチメントを選択して、Editをクリックします。
      • 表示されるEdit an attachmentダイアログで、ラベルを変更するか、ドロップダウンメニューから異なるエンティティタイプを選択します。
      • Closeをクリックしてダイアログを閉じます。
      1. アタッチメントのタグを指定するには、Attachment Tag欄をクリックしてタグ文字列を入力します。
  2. アタッチメントに解決されたエンティティを変更するか、未解決のアタッチメントを解決するには、エンティティエディターでそのアタッチメントを選択します。
    1. これでエンティティコレクターが選択可能になりました。モデリングウィンドウを使用してエンティティを選択するか、コレクターの右端にある省略記号 をクリックしてAdvanced Selectionを使用します。
  3. データメンバーのPropertiesがPropertiesセクションにリストされています。パラメトリックな式を使用して、プロパティを作成し、アナリシス内の1つまたは複数のエンティティにリンクできます。プロパティのデータタイプは、実数、整数、ブーリアン、文字列、オプション、またはファイル名にすることができます。プロパティを追加または削除するには、Add/Deleteをクリックします。
    1. 表示されるDatamemberダイアログで、Addをクリックしてデータメンバーを追加します。表示されるダイアログで、データタイプを選択し、変数名とラベルを指定します。説明文を入力します(オプション)。
    2. OKをクリックし、データメンバーを作成してダイアログを閉じるか、Applyをクリックしてデータメンバーをさらに追加します。
    3. 各アナリシスには、デフォルトでCompliantオプションがついています。このオプションを使用すると、システム内のAllow Complianceオプションを使用して作成されたジョイントの状態を切り替えることができます。ドロップダウンメニューで、アナリシスをコンプライアントにするか、非コンプライアントにするかを指定します。Yesを選択すると、アナリシスにあるすべてのコンプライアントジョイントがコンプライアントになり、Noを選択すると、すべてのコンプライアントジョイントが非コンプライアントになります。
      注: アナリシスに適用されるコンプライアンスは、その子システムにも自動的に適用されます。子システムのコンプライアンスが別個に設定されている場合、子システムの設定が上位システムの設定よりも優先されます。子システムの設定が優先される各設定は、Compliance Overrideダイアログにリストされます。
    4. 各アナリシスは、そのアナリシスの最終実行に関するMotionSolve結果ファイル(*.mrf)情報を格納するMotion Result Fileデータメンバーもあります。MotionViewは、このファイル内の結果を、AnalysisリボンのRunグループにあるResultsレビューコンテキストのアニメーションに使用します。
  4. Initial Conditionsセクションで、次の操作を実行します:
    1. アナリシスにあるすべてのボディの初期並進速度と初期回転速度を設定するために、そのx、y、およびzの各方向の値を入力します。
      注: 初期条件は、モデル内の任意のアナリシスに適用できます。アナリシスに適用される初期条件は、その子システムにも自動的に適用されます。子システムの初期条件が個々に設定されている場合、それらの設定は上位システムの設定よりも優先されます。子システムの設定が優先される各初期設定は、IC Overrideダイアログにリストされます。

シミュレーションパラメータの指定

各アナリシスには、シミュレーション実行に設定できるアナリシスパラメータやその他のシミュレーションパラメータ設定が含まれています。アナリシスごとに、異なるアナリシスパラメータとシミュレーション設定を使用できます。デフォルトでは、これらの設定はグローバルシミュレーション設定の値を継承します。

  1. Analysis Parametersで、Analysis Typeを選択します。選択したアナリシスタイプに基づいて、他のパラメータと設定が適宜アクティブ化または非アクティブ化されます。
    1. Transient、Quasi-Static、またはStatic+Transientを選択した場合は、End TimeとPrint Intervalを入力します。
    2. Dynamic Settingsには、過渡実行用のパラメータがリストされます。
    3. Static Settingsには、静的実行と準-静的実行用のパラメータがリストされます。
    4. Linear Settingsには、線形実行用のパラメータがリストされます。
    5. Frequency Settingsには、周波数応答アナリシス用のパラメータがリストされます。
    注: 各セクションのパラメータの詳細については、Global Simulation Settingsダイアログをご参照ください。
  2. Scripted Simulation - シミュレーションを実行するためのシミュレーションスクリプトが存在する場合は、このオプションを使用します。シミュレーションスクリプトは、“Write text to solver command file”というタイプのテンプレートを使用して作成します。このオプションを選択した場合、MotionViewでは、実行時やソルバーデックのエクスポート中に、Analysis Typeで示されたシミュレーションが無視されます。
    注: シミュレーションスクリプトが存在する場合に、このオプションをオフにすると、そのスクリプト内のコマンドに加えて、Analysis Typeに対応するシミュレートコマンドがソルバーに送信されます。

インラインアナリシスのエクスポート

File > Export > MDL Definitionをクリックすることによって、個々のアナリシスを.mdlファイルにエクスポートできます。トポロジー情報を含むアナリシス全体をファイルにエクスポート、もしくは、別のモデルに読み込むためにモデル特性のみをエクスポートすることも可能です。定義ファイルにエクスポートできるのは、インラインアナリシスのみです。

  1. モデルブラウザで、保存するインラインアナリシスを選択します。
  2. File > Export > MDL Definitionを選択します。
    Export Definitionダイアログが表示されます。
  3. Select Fileでファイル名を選択して、Exportをクリックします。
    アナリシスがエクスポートされます。
ヒント:
  • Export topology as:ドロップダウンメニューを使用して、エンティティ定義ステートメントと定義ブロック(システム、データセット、テンプレートなどを定義するブロック)を指定します。
  • Property Dataオプションは、エンティティに値を割り当てる*Setステートメントを参照します。

ファイルからアナリシスへの定義のインポート

File > Import > MDL Definitionメニューを使用して、システムを.mdlファイルからアナリシスにインポートできます。

  1. モデルブラウザで、アナリシスを選択します。
  2. File > Export > MDL Definitionを選択します。
    Import Definitionダイアログが表示されます。
  3. Select a definition fileでファイル名を選択します。
  4. ドロップダウンメニューから定義のタイプを選択します。このファイル内の使用可能なすべての定義(定義名)が下にリストされます。
  5. インポートする定義を選択します。
  6. ラベル、変数名、説明文(オプション)を入力します。
  7. OKをクリックします。
    警告: インポートするファイルの定義の名前が現在のモデルですでに使用されている場合は、その定義は新しい名前でインポートされます。元の定義への参照は、モデル内の既存の定義に変更される場合があります。