Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

モデル コンポーネントの剛体アセンブリ

この例では、構造モデルのコンポーネント間に剛体の物理結合を指定する方法を説明します。下の図に示すように、各頂点で支柱に連結された 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 nodes.

Use "spy" and "showStateInfo" to inspect model structure. 
Type "properties('mechss')" for a list of model properties. 
Type "help mechssOptions" for available solver options for this model.

結果のモデル sys は 5820 個のノードをもち、ノードごとに [q,q˙]q and q dot である 2 つの自由度 (DoF) をもちます。

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

名前のあるコンポーネントがそれぞれのノード サイズとともにコマンド ウィンドウにリストされます。

次に、相互作用するノード インデックス データを nodeData.mat から読み込み、interfaceを使用して 2 枚のプレートと 4 本の支柱間の物理接続を作成します。nodes は、最初の 2 つの行に 1 枚目と 2 枚目のプレートのノード インデックス データを含み、他の 4 つの行に 4 本の支柱のインデックス データを含む 6x7 cell 配列です。

load('nodeData.mat','nodes')

今度は、プレートと支柱間の剛結合を指定します。

for i=3:6
   sys = interface(sys,"Plate1",nodes{1,i},"Pillar"+i,nodes{i,1});
   sys = interface(sys,"Plate2",nodes{2,i},"Pillar"+i,nodes{i,2});
end

下部プレートと地面との間の剛結合を指定します。

sysCon = interface(sys,"Plate2",nodes{2,7})
Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 5922 nodes.

Use "spy" and "showStateInfo" to inspect model structure. 
Type "properties('mechss')" for a list of model properties. 
Type "help mechssOptions" for available solver options for this model.

これで、モデルに 5922 個のノードが含まれるようになったことに注意してください。追加のノードは特定の剛体のインターフェイスによる結果です。

interfaceは 'デュアル アセンブリ' の定式化を使用してコンポーネントに接続します。デュアル アセンブリの概念では、自由度 (DoF) のグローバル セット q が維持され、物理結合は、インターフェイスにおける整合性と平衡拘束として表されます。剛結合の場合、これらの制約は次の形式になります。

Bq=0,g=-BTλrigid connection constraints

ここで g はインターフェイスにおける内力のベクトルであり、行列 B[I-I] に並べ替えることができます。インデックス iii2 をもつ一致するノードのペアの場合、ii は最初のコンポーネントでノードを選択する一方、i2 は 2 番目のコンポーネントで一致するノードを選択し、Bq=0rigid connection constraint は変位の一貫性を強制します。

q(i1)=q(i2)consistency of displacements

g=-BTλrigid constraint はインターフェイスで内力 g の平衡を強制します。

g(i1)+g(i2)=0equilibrium of internal forces

これらの制約を分離された方程式 Mq¨+Cq˙+Kq=f+guncoupled equations と組み合わせると、連結システムに対して次のデュアル アセンブリ モデルが導かれます。

[M000][q¨λ]+[C000][q˙λ]+[KBTB0][qλ]=[f0]dual assembly matrix form

詳細については、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)

Figure contains an axes. The axes with title nnz: M=95256, K=249052, B=1, F=1. contains 37 objects of type line. These objects represent K, B, F, D.

謝辞

この例のデータセットは、ASML の Victor Dolk によって提供されています。

参考

| | | |

関連するトピック