OpenSees Blog 日本語 目次

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

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







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

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


2015年1月13日火曜日

OpenSees Developer : 静的・線形解析の構造計算用のファンクション


Basic exampleの中の 基本的なトラス解析 で使用したOpenSeesのtcl スクリプトファイルを使用して どのように静的・線形解析の場合の構造計算がされているか、をたどっていきます。

使用するtcl スクリプトファイルは ここ にあります。

tcl スクリプトに書かれている通り、

セットしたデータをつかっての構造計算は、

# create the analysis object
analysis Static
analyze 1


で、行います。

まず、
analysis Static
は、
C:\OpenSees-work\OpenSees5621\OpenSees\SRC\tcl\commands.cpp
または
tclプロジェクトのcommands.cpp
の中の

int  specifyAnalysis(ClientData clientData, Tcl_Interp *interp, int argc,  TCL_Char **argv)

で実行されます。

この中で、
構造計算に必要となるデータについての、クラス単位のメモリの準備が行われます。
その時、
ここ で 説明しましたOpenSeesのコマンド"analysis"で、

さらに呼ばれるファンクションが変わっていきます。

"analysis"では、以下の3つが引数として指定できます。


  • Static
  • Transient
  • VariableTransient 


が、この「基本的なトラス解析」では、Staticな解析を指定していますので、

theStaticAnalysis = new StaticAnalysis(theDomain,
      *theHandler,
      *theNumberer,
      *theAnalysisModel,
      *theAlgorithm,
      *theSOE,
      *theStaticIntegrator,
      theTest);


により、Staticな解析の指定が行われます。

なお、このfunctionの中で

theAnalysisModel
theTest
theAlgorithm
theHandler
theNumberer
theStaticIntegrator
theSOE
は、解析を行う中で出力される、データの構造体(=出力データ)。

theDomain
は、
tcl スクリプトファイルの中で、定義されていたNodeやElementなどのデータが入っている構造体(
=入力データ)です。



余談ですが、
OpenSees UserのWebSiteには、まだ記載がありませんが、プログラムの中を見る限り、ここでの"analysis"の方法は、他にも増えてきているようです。



次に、
analyze 1
は、

C:\OpenSees-work\OpenSees5621\OpenSees\SRC\tcl\commands.cpp
または
tclプロジェクトのcommands.cpp
の中の

int analyzeModel(ClientData clientData, Tcl_Interp *interp, int argc, TCL_Char **argv)

で実行されます。

ここでも、

ここ で 説明しましたOpenSeesのコマンド"analysis"で、

さらに呼ばれるファンクションが変わっていきます。


この基本的なトラス解析では、Staticな解析を指定していますので、

 result = theStaticAnalysis->analyze(numIncr);

により、Staticな構造計算が行われます。
なお、このfunctionの中で
numIncr
は、解析する回数(ここでは、analyze 1 なので、1回)が入ります。

構造計算の結果は、
theStaticAnalysis
構造体の中に格納されます。



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

0 件のコメント:

コメントを投稿