OpenSees Blog 日本語 目次

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

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







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

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


2015年5月12日火曜日

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 スクリプトファイルは、OpenSees Basic Examples (基本的なトラス解析)
です。

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

element Truss 1 1 4 10.0 1
element Truss 2 2 4  5.0 1
element Truss 3 3 4  5.0 1


Trussは、 「平面トラスの剛性マトリクス」を求める、という意味ですので、
elePtr->getTangent(this)で、求める要素剛性マトリクスは、「平面トラスの剛性マトリクス」を求める
Trussクラスを使用して、求めています。

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

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

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

次のページ →

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

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

0 件のコメント:

コメントを投稿