Main Content

Flexible Body Model Builder

可とう体用の低次元化されたモデルのデータを生成する

R2023a 以降

説明

Flexible Body Model Builder アプリは、クレイグ-バンプトンの手法 [1] を使用して、可とう体用の低次元化されたモデル (ROM) のデータを生成します。このアプリを使用して、可とう体のジオメトリ、材料特性、およびインターフェイス座標系を指定できます。低次元化されたモデルの精度を制御するために、メッシュ パラメーターおよびモデル低次元化の設定を指定できます。

このアプリは、ROM データを FlexibleBody という名前の構造体として MAT ファイルに保存します。ROM データには、剛性行列と質量行列、インターフェイス座標系の原点と向き、および可とう体の変形した形状を表示するためのグラフィカル情報が含まれます。この構造体のフィールドを使用して Reduced Order Flexible Solid ブロックの対応するパラメーターを指定し、可とう体をモデル化できます。

Flexible Body Model Builder アプリには、ROM データを生成するための Partial Differential Equation Toolbox および Integro-Differential Modeling Frameworks (IDMF) オプションが用意されています。Partial Differential Equation Toolbox オプションを使用するには、Partial Differential Equation Toolbox™ が必要です。IDMF オプションを使用するには、Linux® および Windows® をサポートしている Integro-Differential Modeling Framework for MATLAB® アドオンが必要です。

Linux では、このアドオンは追加の要件なしで実行されます。Windows でこのアドオンを実行するには、Windows Subsystem for Linux (WSL) をインストールする必要があります。WSL をインストールするには、WSL を使用して Windows に Linux をインストールするを参照してください。

Windows では、初めて IDMF を使用して ROM データ セットを生成したときに、このアプリは Linux ディストリビューションを WSL にインポートします。ディストリビューションの名前は idmf_hub_<MATLABrelease> です (idmf_hub_2023b など)。ここで、<MATLABrelease> は現在実行されている MATLAB のリリース番号です。idmf_hub_<MATLABrelease> ディストリビューションが存在しているかをクエリするには、Windows コマンド プロンプトで「wsl -l -v」と入力します。idmf_hub_<MATLABrelease> ディストリビューションを削除するには、MATLAB コマンド ラインで「idmf_container_teardown()」と入力します。

Windows では、Windows Defender ファイアウォールが PostgreSQL サーバーをブロックした場合、Flexible Body Model Builder アプリは IDMF オプションを使用して ROM データ セットを生成できません。既定では、ファイアウォールはすべてのパブリック ネットワークおよびプライベート ネットワークでサーバーをブロックします。

この問題を解決するために、アプリの使用時にファイアウォールがプロンプトを出した場合に、サーバーが目的のネットワークで通信することを許可できます。あるいは、PostgreSQL サーバーの実行可能ファイルを許可されるアプリのリストに手動で追加することもできます。詳細については、Windows Defender ファイアウォールを介したアプリの許可を参照してください。実行可能ファイルは、現在実行されている MATLAB のインストール フォルダーにあります (<matlabroot>\sys\postgresql\win64\PostgreSQL\bin\postgres.exe)。これらの手順は、IT チームまたはシステム管理者と一緒に実行することをお勧めします。

Flexible body model builder generates reduced order model data for dipper arm

Flexible Body Model Builder アプリを開く

  • MATLAB ツールストリップ: [アプリ] タブの [Simscape] で、[Flexible Body Model Builder] をクリックします。

  • MATLAB コマンド プロンプト: 「flexibleBodyModelBuilder」と入力します。

すべて展開する

この例では、Flexible Body Model Builder アプリを使用して低次元化されたモデル (ROM) のデータを生成する方法を示します。この例では、可とう体としての掘削機ディッパー アームのモデル化の例のディッパー アーム部のジオメトリ、材料特性、および座標系を使用します。

ジオメトリを使用するには、可とう体としての掘削機ディッパー アームのモデル化の例を開き、現在の MATLAB® セッションの検索パスにジオメトリ ファイルを含むフォルダーを追加します。

openExample("sm/ReducedOrderFlexibleSolidExample");
addpath(fullfile("ReducedOrderFlexibleSolidSupport","Geometries"));

アプリの起動

"Flexible Body Model Builder" アプリを起動するには、MATLAB コマンド ラインで次のコマンドを入力します。

flexibleBodyModelBuilder

ジオメトリ特性と材料特性の指定

ジオメトリを指定するには、[Geometry][File Name] パラメーターに「Dipper.step」と入力します。ディッパー アームを表示するには、[Home] タブで更新ボタン をクリックします。

ディッパー アームは鋼鉄製です。材料特性を表すには、イメージに示されているように、[Stiffness and Inertia] セクションで [Density][Young's Modulus]、および [Poisson's Ratio] を指定します。

インターフェイス座標系の追加

可とう体はインターフェイス座標系を使用して、Simscape™ Multibody™ の他の要素 (ジョイント、拘束、力、センサーなど) を接続します。この例では、ディッパー アームに 3 つのインターフェイス座標系を追加します。[Frames] パラメーターを使用して、インターフェイス座標系の位置と向きを指定します。イメージに示されているように、F1、F2、および F3 座標系の位置を、それぞれ円柱面 4、平面 11、および円柱面 1 の重心として設定します。インターフェイス座標系の向きについては既定の設定を使用します。

メッシュの指定および ROM データの生成

低次元化されたモデルの精度を制御するために、メッシュ パラメーターおよびモデル低次元化の設定を指定できます。ボディに対して粗いメッシュを生成するために、[Max Element Size] に 0.2 m、[Min Element Size] に 0.02 m を指定します。これらのパラメーターを調整することで、メッシュを調整して結果の精度を向上させることができます。モデル低次元化の設定を指定するには、[Model Order Reduction][Number of Fixed-Interface Normal Modes] を指定します。この例では、10 個の動的なクレイグ-バンプトン モードを維持します。

ROM データを生成するには、[Home] タブで [Reduced Order Model Generator] を指定し、生成ボタン をクリックします。この例では、Integro-Differential Modeling Framework オプションを使用します。このアプリでは、すべての ROM データが MAT ファイルに保存されます。この例では、MAT ファイルに DipperROM.mat という名前を付けます。

なお、出力 ROM データでは、ROM データを生成するためにアプリに提供した入力は一切保存されません。つまり、ROM データを生成した後にアプリを閉じると、アプリから仕様にアクセスできなくなります。アプリを閉じる前にすべての入力を記録することをお勧めします。

この例では、"Flexible Body Model Builder" アプリによって生成された ROM データを使用してReduced Order Flexible Solidブロックを指定する方法を示します。

ROM データの読み込み

この例では、「ROM データの生成」の例で生成された ROM データを使用します。ROM データを格納している DipperROM.mat ファイルを見つけて読み込みます。MATLAB® ワークスペースで FlexibleBody 構造体配列をダブルクリックして、各種フィールドに分類されている ROM データを表示します。

Reduced Order Flexible Solid ブロックの指定

このセクションでは、Reduced Order Flexible Solid ブロックの使用 - 柔軟なディッパー アームモデルを使用して、読み込んだ ROM データを使用して Reduced Order Flexible Solid ブロックを指定する方法を示します。この例では、ROM データを使用して、可とう体のインターフェイス座標系、剛性行列と質量行列、およびグラフィックス特性を指定します。

柔軟なディッパー アーム モデルで、Flexible Dipper Arm ブロックを開きます。FlexibleBody.fieldName という形式のドット表記を使用して、次のパラメーターを対応する ROM データに設定します。

Interface Frames

  • 座標系の数

  • 原点

  • 向き

Reduced Order Matrices

  • 剛性行列

  • 質量行列

Graphic

  • 頂点の座標

  • 小平面の頂点のインデックス

  • 再構成行列

減衰特性では、比例減衰の既定の設定を使用します。"Flexible Body Model Builder" アプリによって生成される ROM データは SI 単位であるため、[Unit System]SI (m, kg, s) に設定する必要があります。

関連する例

パラメーター

ジオメトリ

CAD ジオメトリ ファイルのパス。文字ベクトルとして指定します。ファイルの場所は、ファイル システムのルート ディレクトリからの絶対パス、または MATLAB パス上のフォルダーからの相対パスにすることができます。

STL を除き、このアプリではSupported Software and File Formatsにリストされているすべてのファイル形式がサポートされています。

例: 'C:/Users/JDoe/Documents/myShape.STEP' または 'Documents/myShape.STEP'

個体ジオメトリ単位のソース。[From File] または [Custom] として指定します。インポート ファイルで指定されている単位を使用する場合は、[From File] を選択します。独自の単位を指定する場合は、[Custom] を選択します。

ジオメトリを解釈する際の長さの単位。単位を変更すると、インポートされるジオメトリのスケールが変更されます。

依存関係

このパラメーターを有効にするには、[Unit Type][Custom] に設定します。

剛性と慣性

材料の単位体積あたりの質量。既定値はアルミニウムに対応しています。

プレートのパラメーター化に使用する弾性特性。Young's Modulus and Poisson's Ratio または Young's and Shear Modulus のいずれかを指定できます。これらの特性は材料データベースで一般的に使用可能です。

垂直歪みに対する垂直応力の比率。正のスカラーとして指定します。既定値はアルミニウムに対応しています。

アプリはヤング率とせん断弾性率でのクロスパラメーター チェックを実行し、結果のポアソン比が範囲 [0, 0.5) に収まるようにします。

プレートのポアソン比。指定する値はゼロ以上、0.5 未満でなければなりません。既定値はアルミニウムに対応しています。

依存関係

このパラメーターを有効にするには、[Specify][Young's Modulus and Poisson's Ratio] に設定します。

工学せん断歪みに対するせん断応力の比率。正のスカラーとして指定します。既定値はアルミニウムに対応しています。

アプリはヤング率とせん断弾性率でのクロスパラメーター チェックを実行し、結果のポアソン比が範囲 [0, 0.5) に収まるようにします。

依存関係

このパラメーターを有効にするには、[Specify][Young's and Shear Modulus] に設定します。

離散化

このアプリでは、指定した最大および最小要素サイズに基づいてメッシュが作成されます。このアプリでは、エッジの長さが指定した要素サイズに大体収まる 2 次四面体メッシュが提供されます。[Max Element Size] パラメーターと [Min Element Size] パラメーターの値は、作成されるメッシュに対して厳格な制約を課すものではありませんが、下限と上限の柔軟なターゲットを示します。場合によっては、一部の要素のエッジの長さが指定した制限を超えることがあります。

ターゲットの最大メッシュ エッジ長。正のスカラーとして指定します。

[Max Element Size] パラメーターは、メッシュ エッジ長の概算の上限です。この値は [Min Element Size] パラメーターの値より大きい必要があります。このパラメーターにより、メッシュの全体的な調整を制御します。値を小さくすると、メッシュが細かくなりますが、メッシュの生成と ROM の計算にかかる時間が長くなります。

ターゲットの最小メッシュ エッジ長。正のスカラーとして指定します。

[Min Element Size] パラメーターは、メッシュ エッジ長の概算の下限であり、丸みのあるエッジや小さい特徴などで、局所的にメッシュの調整を制御します。この値は [Max Element Size] パラメーターの値より小さい必要があります。値を小さくすると、詳細がうまく捕捉され、ROM の精度が向上しますが、メッシュの生成と ROM の計算にかかる時間が長くなります。

モデル次数の削減

維持する動的なクレイグ-バンプトン モード。範囲 [0, n] の整数として指定します。

n=3×(nnnnf),

ここで、

  • nn はメッシュ内のすべてのノードの数です。

  • nnf はインターフェイス座標系が付加される表面上のノードの数です。

ほとんどの解析では、次の理由のため、高周波モードを維持する必要はありません。

  • 高周波モードは、シミュレーション結果にあまり貢献しません。

  • 高周波モードでのシミュレーションは、計算量が多くなります。

座標系

座標系の作成ボタン Create Frame をクリックすると、ボディに新しいインターフェイス座標系を作成するためのペインが開きます。このペインで、座標系の原点および向きを指定できます。

座標系の原点を定義するには、[Frame Origin][Based on Geometric Feature] を使用して、新しい座標系の原点を選択した未変形の特徴の正準点に一致させます。表面は唯一の有効な特徴です。可視化ペインから表面を選択し、[Select Feature] をクリックして原点の位置を確定します。このオプションの下のフィールドに、原点の位置の名前が表示されます。

表面を選択して座標系の原点を定義すると、アプリによって可とう体のその表面が厳密に制約され、座標系がその厳密な領域に厳格に付加されます。インターフェイス座標系に選択した表面は、相互に接続されていたり、重なり合ったりしてはなりません。

座標系の向きを定義するには、[Frame Axes] セクションで座標系の [Primary Axis] および [Secondary Axis] を選択し、それらの向きを指定します。

次の方法を使用して、主軸と副軸の向きを指定するベクトルを選択します。主軸は、選択したベクトルと平行になり、残る 2 つの座標軸を主軸の法平面に制約します。副軸は、選択したベクトルを法平面上に投影したものと平行になります。

  • Along Reference Frame Axis: 未変形のジオメトリの基準座標系の座標軸が選択されます。

  • Based on Geometric Feature: 選択した未変形のジオメトリの特徴に関連付けられたベクトルが選択されます。有効な特徴には、表面とラインがあります。対応するベクトルは、可視化ペインで矢印で示されます。可視化ペインから特徴を選択し、[Select Feature] をクリックして選択を確定できます。このオプションの下のフィールドに、選択した特徴の名前が表示されます。

作成した座標系を編集または削除します。N は、それぞれのカスタム座標系を一意に識別する番号です。

  • 原点や座標軸など、インターフェイス座標系を編集するには、編集ボタン Edit をクリックします。

  • インターフェイス座標系を削除するには、削除ボタン Delete をクリックします。

依存関係

このパラメーターを有効にするには、座標系の作成ボタン Create をクリックして座標系を作成します。

参照

[1] Craig Jr, Roy R., and Andrew J. Kurdila. Fundamentals of Structural Dynamics. 2nd ed. Hoboken, N.J: John Wiley, 2006.

バージョン履歴

R2023a で導入

すべて展開する