OpenSees Blog 日本語 目次

最初に「このブログをみるためのガイド」をご覧ください。

Update中OpenSees コマンド 日本語解説 の 目次 OpenSeesコマンド はじめての方は「ここから
このblogで使用しているOpenSeesコマンド集は「ここ」 Update中
OpenSees のソースコード 解析に挑戦してみる 目次最初のページは「ソースコードのダウンロードとビルド」
Appendix:C言語での 「有限要素法における平面トラスの解析」目次最初のページは「Microsoft Visual Studioの導入方法」







目次の中で、更新したページにはNewがついています

このブログ内の単語を検索したい場合は、左上OpenSeesロゴの上に検索窓から検索できます。


2015年5月26日火曜日

OpenSees Developer : 構造計算(静的・非線形解析) 3


、「軸力、せん断力、曲げを受ける部際が任意の方向を向いている場合の剛性マトリクス」を作成する部分についてのプログラムです。


theIncIntegrator->formTangent(incrTangent)は、
C:\OpenSees-work\OpenSees5621\OpenSees\SRC\analysis\integrator\IncrementalIntegrator.cpp
または
\analysis\integrator\プロジェクトのIncrementalIntegrator.cpp
にあります。



この枠で囲まれた
theSOE->addA(elePtr->getTangent(this),elePtr->getID())
で、
「軸力、せん断力、曲げを受ける部際が任意の方向を向いている場合の剛性マトリクス」の場合の
全体座標系における、全体の剛性マトリクス
が作成されます。

while((elePtr = theEles2()) != 0)
で、elementがある限り(つまり、すべてのelementに対して)
theSOE->addA(elePtr->getTangent(this),elePtr->getID())
マトリクスを加算(赤字部分)しています。
(つまり、すべての要素剛性マトリクスを足し合わせているということで、これから全体の剛性マトリクスが計算されている、ということです)

また
theSOE->addA(elePtr->getTangent(this),elePtr->getID())
各要素剛性マトリクス(赤字)は、elePrtのクラスに代入されます。

ここで使用しているtcl スクリプトファイルは、Gravity Load  です。

このtclスクリプトファイルの中で、elementは、以下の様にセットしています。


# element connectivity:
element elasticBeamColumn 1 1 3 3600 4227 1080000 1
element elasticBeamColumn 2 2 4 3600 4227 1080000 1
element elasticBeamColumn 3 3 4 5760 4227 4423680 1



elasticBeamColumnは、 、「軸力、せん断力、曲げを受ける部際が任意の方向を向いている場合の剛性マトリクス」を求める、という意味ですので、
elePtr->getTangent(this)で、求める要素剛性マトリクスは、、「軸力、せん断力、曲げを受ける部際が任意の方向を向いている場合の剛性マトリクス」を求める
elasticBeamColumnクラスを使用して、求めています。

elasticBeamColumnクラスでの、剛性マトリクスの説明については
 elasticBeamColumnでの剛性マトリクス
を参照してください。

以上の様に、
elePtr->getTangent(this)
で、各要素での「平面トラスの剛性マトリクス」を算出し、
theSOE->addA(.....)
で、すべての要素剛性マトリクスを足し合わせる事によって
全体座標系における、全体の剛性マトリクスを算出しています。

なお、算出された全体座標系における、全体の剛性マトリクスは、
OpenSees Developer :構造計算(静的・非線形解析)4
で解説している 実帯連立一次方程式を解くための
連立方程式用のマトリクスのクラスのメモリ(theSOE)にダイレクトに代入されています。

次のページ →
OpenSees Developer :構造計算(静的・非線形解析)4


OpenSees のソースコード解析に挑戦してみる : 目次

0 件のコメント:

コメントを投稿