モデル コンポーネントの剛体アセンブリ
この例では、構造モデルのコンポーネント間に剛体の物理結合を指定する方法を説明します。下の図に示すように、各頂点で支柱に連結された 2 枚の正方形のプレートで構成される構造について考えます。下部のプレートは地面に剛結合されていますが、支柱は正方形のプレートの各頂点に剛結合されています。
スパース モデルの詳細については、スパース モデルの基礎を参照してください。

platePillarModel.mat には支柱とプレートのモデルのスパース行列が含まれています。platePillarModel.mat に含まれている有限要素モデル行列を読み込み、上記システムを表すスパース 2 次状態空間モデルを作成します。
load('platePillarModel.mat') sys = ... mechss(M1,[],K1,B1,F1,'Name','Plate1') + ... mechss(M2,[],K2,B2,F2,'Name','Plate2') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar3') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar4') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar5') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar6')
Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 5820 degrees of freedom. Model Properties Use "spy" and "showStateInfo" to inspect model structure. Type "help mechssOptions" for available solver options for this model.
結果のモデル sys は 5820 自由度、1 つの入力と 1 つの出力をもちます。
mechss モデル オブジェクトのコンポーネントを確認するには showStateInfo を使用します。
showStateInfo(sys)
The state groups are:
Type Name Size
----------------------------
Component Plate1 2646
Component Plate2 2646
Component Pillar3 132
Component Pillar4 132
Component Pillar5 132
Component Pillar6 132
名前のあるコンポーネントがそれぞれのサイズとともにコマンド ウィンドウにリストされます。
次に、相互作用する DOF インデックス データを dofData.mat から読み込み、interfaceを使用して 2 枚のプレートと 4 本の支柱間の物理接続を作成します。dofs は、最初の 2 つの行に 1 枚目と 2 枚目のプレートの DOF インデックス データを含み、他の 4 つの行に 4 本の支柱のインデックス データを含む 6x7 cell 配列です。
load('dofData.mat','dofs')
今度は、プレートと支柱間の剛結合を指定します。
for i=3:6 sys = interface(sys,"Plate1",dofs{1,i},"Pillar"+i,dofs{i,1}); sys = interface(sys,"Plate2",dofs{2,i},"Pillar"+i,dofs{i,2}); end
下部プレートと地面との間の剛結合を指定します。
sysCon = interface(sys,"Plate2",dofs{2,7})Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 5922 degrees of freedom. Model Properties Use "spy" and "showStateInfo" to inspect model structure. Type "help mechssOptions" for available solver options for this model.
これで、モデルに 5922 自由度が含まれるようになったことに注意してください。追加の DOF は特定の剛体のインターフェイスによる結果です。
interfaceは 'デュアル アセンブリ' の定式化を使用してコンポーネントに接続します。デュアル アセンブリの概念では、自由度 (DoF) のグローバル セット が維持され、物理結合は、インターフェイスにおける整合性と平衡拘束として表されます。剛結合の場合、これらの制約は次の形式になります。
ここで はインターフェイスにおける内力のベクトルであり、行列 は に並べ替えることができます。インデックス 、 をもつ一致する DOF のペアの場合、 は最初のコンポーネントで DOF を選択する一方、 は 2 番目のコンポーネントで一致する DOF を選択し、 は変位の一貫性を強制します。
はインターフェイスで内力 g の平衡を強制します。
.
これらの制約を分離された方程式 と組み合わせると、連結システムに対して次のデュアル アセンブリ モデルが導かれます。
詳細については、interfaceを参照してください。
showStateInfo を使用して物理接続を確認します。
showStateInfo(sysCon)
The state groups are:
Type Name Size
-----------------------------------
Component Plate1 2646
Component Plate2 2646
Component Pillar3 132
Component Pillar4 132
Component Pillar5 132
Component Pillar6 132
Interface Plate1-Pillar3 12
Interface Plate2-Pillar3 12
Interface Plate1-Pillar4 12
Interface Plate2-Pillar4 12
Interface Plate1-Pillar5 12
Interface Plate2-Pillar5 12
Interface Plate1-Pillar6 12
Interface Plate2-Pillar6 12
Interface Plate2-Ground 6
spyを使用して、最終モデルのスパース行列を可視化できます。プロットを右クリックしてアクセスできる [表示] メニューを使用して、表示する行列を選択します。
spy(sysCon)

謝辞
この例のデータセットは、ASML の Victor Dolk によって提供されています。
参考
interface | xsort | showStateInfo | spy | mechss