7. 剛性マトリクスの性質

 剛性マトリクスの各要素があらわすもの

前々回に取り上げた骨組(片持ち梁)の剛性マトリクスを下に再掲します。


上の式を連立方程式に書き直すと、(これも前々回の繰返しですが)一つ目の方程式は下のようになります。

Pu = ( EA / L )・δu + 0・δv + 0・δθ

これは何をあらわしているのかというと、「片持ち梁先端の節点の水平方向の自由度に関する力と変位の関係、つまり剛性」です。
このうちの第一項の係数 EA / L は、(δu を 1 とおいてみれば分かるとおり)「水平方向に単位の変位を与えた時に水平方向に存在する抵抗力」をあらわしています。逆の言い方をすれば、「水平方向に単位の変位を与えるために必要な水平方向の力」です。
それならば第二項の係数はなんなのかというと、これは「垂直方向に単位の変位を与えるために必要な水平方向の力」です。そして、この値が 0 になっているのですから、これは「水平方向にどんな力を加えても垂直方向の変位は生じない」、つまり「水平方向の力と垂直方向の変位にはなんの因果関係もありません」といっているわけです。第三項の「回転変位」についても同様です。

次は二つ目の方程式で、下のようになります。

Pv = 0・δu + ( 12EI / L3 )・δv - ( 6EI / L2 )・δθ

この第一項の係数 0 についてはもうお分かりだと思います。先にいったことの裏返し、つまり「垂直方向の力と水平方向の変位にはなんの因果関係もない」です。
第二項の係数 12EI / L3 は「垂直方向に単位の変位を与えるために必要な垂直方向の力」であり、第三項の係数 6EI / L2 は「回転方向に単位の変位を与えるために必要な垂直方向の力」です。
三番目の方程式についても同様なので、もうこれ以上はやめますが、ようするにここで何を知っておきたいのかというと、

剛性マトリクスの m 行目の値は m 番目の自由度の剛性をあらわしている。
そして、その n 列目の値は、 m 番目の自由度の剛性に n 番目の自由度がどのように関与しているかをあらわすものである。

ということです。そして、ここから剛性マトリクスの重要な性質が導かれることになります。

 剛性マトリクスの「対角要素」

マトリクスの m 行目 m 列目の要素というのは、ちょうど、左上から右下にかけての対角線上に位置することになるので、これを対角要素と呼んでいます(下図の赤丸)。


では、剛性マトリクスにおける対角要素とは何かというと、さきほどの言い方を使えば「 m 番目の自由度の剛性に関する m 番目の自由度の関与」で、言い換えれば、「 m 番目の自由度の方向にモノを動かそうとする時に、その方向に加えるべき力」のことです。

片持ち梁の例を再び取り上げれば、その先端の節点に「垂直方向」の変位を与えようとした時に、その方向に力を加える替わりに「回転方向」の力(曲げモーメント)を加える、という手はたしかにあるのです。なぜなら、剛性マトリクスあるいは連立方程式を見れば分かるとおり、回転方向の力と垂直方向の変位は互いに関わりあっているからです。
しかし、「垂直方向に変位を与えよ」といわれたら、普通は誰だって「垂直方向に押して」みます。つまりその方向に力を加えます。それがもっとも「直接的」だからです。
そして、その時の剛性をあらわすものが剛性マトリクスの「対角要素」なのですが、これは結局何かといえば、「その自由度の剛性にかんする自分自身の関与の大きさ」であり、「その自由度の剛性を代表するような値」です。注)

注)
ですから、もし「この骨組の m 番目の自由度の剛性がどの程度のものかを知りたい」と思うのなら、その剛性マトリクスの対角要素である m 行 m 列の値を見れば大体分かることになります。実際、m 行目の値を左から順に見ていけば、その m 列目の値が他より大きくなっていることが確認できるはずです。

ということになれば、「その値が 0 だったらおかしい」ことはたやすく想像できます。
剛性マトリクスの対角要素が 0 である、というのは、「その方向にモノを動かすためにその方向に加えるべき力が存在しない」ということですから、「変位量がさだまらない」であり、結論として、「これは不安定構造である」になります。これが「剛性マトリクスの逆マトリクスが存在しない」と同義であることは、前回すでにいいました。

さらにもう一つあります。「負であってはならない」です。なぜなら、この値が負であるということは、「ある方向に力を加えると、その力とは逆の方向にモノが動く」状態を意味するからです。
結論は以下のようになります。

剛性マトリクスの対角要素は必ず正の値でなければならない

 剛性マトリクスの「対称性」

冒頭の剛性マトリクスを下に再掲します。


1 行目の 2 列と 3 列の値が 0 になっているのは、「水平方向の自由度と垂直・回転方向の自由度にはなんの因果関係もない」からでした。そしてその結果として、当然、 2 行目 1 列の値も 3 行目 1 列の値も全部 0 になります。
これをもう少し一般的な言い方にすれば、「自由度 m と自由度 n の間になんの因果関係もないならば、剛性マトリクスの m 行 n 列の値も n 行 m 列の値もともに 0 になる」です。

しかし、ここでいいたいのはそれではなく、 2 行目 3 列の値と 3 行目 2 列の値( -6EI / L2 )も同じになっていることの方です。これは決して偶然ではなく、「骨組とはそういうものだから」なんです。
これを一般的な言い方にすると、「自由度 n に単位の変形を与えるために自由度 m に加えるべき力と、自由度 m に単位の変形を与えるために自由度 n に加えるべき力は等しい」となります。しかし、この言い方はいささか回りくどいので、今度は「力」ではなく「変位」の方を主役にして次のように言い換えてみます。

自由度 n に単位力を加えた時に自由度 m に生じる変位と、自由度 m に単位力を加えた時に自由度 n に生じる変位は等しい

まあ、これもなんだか分かりにくいですね。これは「自由度」という言葉が今ひとつピンとこないせいかもしれませんので、これを「節点」に置き換え、さらに「単位力」をたんなる「力」と言い換えてみます。

節点 n に力を加えた時に節点 m に生じる変位と、節点 m に同じ力を加えた時に節点 n に生じる変位は等しい

これをマックスウェルの相反定理といいますが、下の図で具体的に説明します。


上図左にあるのは、片持ち梁の中間の節点 A に P という荷重が作用して先端の節点 B に変位量 δB が生じている、という状態で、右にあるのは、同じ荷重 P が今度は先端の節点 B に作用して、その結果、節点 A に 変位量 δA が生じている、という状態です。
この時、「 δA と δB はかならず等しくなる」というのがマックスウェルの相反定理です。

だいぶ回り道をしましたが、そのようなわけで、

剛性マトリクスの m 行 n 列の値と n 行 m 列の値はつねに等しい

となります。このようなマトリクスのことを対称マトリクスと呼びます。

「じゃあ、対称だと何がそんなにいいのか?」ですが、これは主として、コンピュータの記憶効率の問題に関わってきます。
下図にあるように、「剛性マトリクスは対称である」ことが最初から分かっていますから、コンピュータプログラムでは、剛性マトリクスの全体をメモリに格納することをしなくても、対角要素とその上半分(あるいは下半分)だけを憶えておけばいいことになります。これはたんにメモリの節約だけでなく、演算処理の効率にも関わってきますので、規模の大きな骨組では結構バカにならない問題です。


話のついでに、転置マトリクスというものについても説明しておきます。
下図にあるように、マトリクス [ A ] の行と列をそっくり入れ替えたものを転置マトリクスといい、[ A ] T のように書きます( T は Transpose の略)。


これを使うと、

対称マトリクスとは、その転置マトリクスが元のマトリクスとまったく同じになるようなマトリクスのことである

という言い方もできるわけです。
転置マトリクスというのは、これからの話にも時々出てきますので、一応、頭の隅に入れておいてください。

8. 骨組の支持条件