OpenSees Blog 日本語 目次

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

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







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

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


2016年11月30日水曜日

OpenSees Basic Examples (F6:2D 梁への固体動力学問題) シュミレーション結果の画像表示

11) シュミレーション結果の画像表示


行うシュミレーションの結果をグラッフィック表示させます。

最初に、表示するWindowsについて設定します。
recorder display "[表示するWindowのタイトル]" [表示するWindowの左上の位置(x)]  [表示するWindowの左上の位置(y)] [表示するWindowの大きさ(幅)] [表示するWindowの大きさ(高さ)] -wipe 

ここでの「表示するWindowの左上」は、コンピュータ画面の左上からの位置になります。
また、単位はピクセル(画素数)です。

# -------------------------------------
# create display for transient analysis
#--------------------------------------
#                    $windowTitle       $xLoc $yLoc $xPixels $yPixels
recorder display "Simply Supported Beam" 10     10      800     200    -wipe

Projector reference point (prp) 投影基準点
View-up vector (vup)
View-plane normal (vpn)
View Reference Point (vrp)
は、コンピュータグラッフィックスについての用語で、下図の様な定義となります。
詳細については、Viewpoint Projections and Specifications に記載されています。


prp 20 5.0 1.0;
 # projection reference point (prp); defines the center of projection (viewer eye)

vup  0  1 0;                                    
  # view-up vector (vup)

vpn  0  0 1;                                    
  # view-plane normal (vpn)

グラッフィックとして表示する座標範囲は、viewWindowコマンドで指定します。

viewWindow [ViewPlain上でのu方向左端]  [ViewPlain上でのu方向右端]  [ViewPlain上でのv方向下端]   [ViewPlain上でのv方向上端] 

viewWindow -30 30 -10 10;                    
  # coordiantes of the window relative to prp

最後に表示させる為のdisplayコマンドを設定する。

display [表示の見せ方] [拡大係数] [変形形状の強さ]

2階建てフレームでの固有値解析 では、[表示の見せ方] は、マイナスの値をとり、絶対値の値がn次固有モードを表したが、今回は 10を設定しているので、固有モードではないので、注意してください。

display 10 0 5;                                
  # the 1st arg. is the tag for display mode
  # the 2nd arg. is magnification factor for nodes, 
 # the 3rd arg. is magnif. factor of deformed shape

まとめると、以下の通り。

# -------------------------------------
# create display for transient analysis
#--------------------------------------
#                    $windowTitle       $xLoc $yLoc $xPixels $yPixels
recorder display "Simply Supported Beam" 10     10      800     200    -wipe
prp 20 5.0 1.0;                                
  # projection reference point (prp); defines the center of projection (viewer eye)
vup  0  1 0;                                      
  # view-up vector (vup)
vpn  0  0 1;                                      
  # view-plane normal (vpn)  
viewWindow -30 30 -10 10;                      
  # coordiantes of the window relative to prp
display 10 0 5;                                  
  # the 1st arg. is the tag for display mode
  # the 2nd arg. is magnification factor for nodes, the 3rd arg. is magnif. factor of deformed shape



 次のページ → 
OpenSees Basic Examples (F7::2D 梁への固体動力学問題) レイリー減衰を追加しての解析設定

2016年11月15日火曜日

ありがとうございます

OpenSees ユーザーズガイド: インストールと初めての使い方(Kindle版)
を出してから半月ほどになりました。

ご購入していただいた方、こちらではお名前等なにもわからないのが残念ですが、大変ありがとうございます。



本日kindle shopを見てみましたら、インテリアデザインのカテゴリーで一位になっていました。おそらく瞬間的なのでしょうが、記念にとったスクリーンショットが、こちらです。

 

この本が、プログラムを使うにあたっての助けになれば幸いです。
よろしくお願い致します。

2016年11月9日水曜日

OpenSees Basic Examples (F5:2D 梁への固体動力学問題)解析の設定


10)解析の設定

9)外力の設定で指定した荷重をかけている間の解析について設定しています。

解析する時の、連立方程式の解き方の手法などを設定します。
各コマンドの説明は、「OpenSeesコマンド集」を参照してください

解析は、Static で行い(analysis コマンド)、解析の間隔は1secから10secまで、1secづつ行う。(Integratorコマンド) 

analysis [解析タイプ] Static / Transient / VariableTransient

# Type of analysis analysis
analysis Static

integrator LoadControl  [解析する時間間隔] [解析を行う時間間隔の頻度間隔] [初期時間] [ 最終時間] 

(注) [解析を行う時間間隔の頻度間隔] は、
1がセットされた場合は、(初期値が1secの場合) 1, 2, 3, 4, 5sec となる
2がセットされた場合は、(初期値が1secの場合) 1, 3, 7, 15sec となる

# Load control with variable load steps
#                      init Jd min max
integrator LoadControl 1.0   1 1.0 10.0

連立方程式を解く時の収束判定は、エネルギーの変化をもとにして行う(testコマンド)

test EnergyIncr [耐性基準] [もし収束判定がエラーだった場合、再試行する回数] [判定結果の表示方法の指定]

注)  [判定結果の表示方法の指定] は 「何も表示しない」(=0) と指定している

# Convergence test
#              tolerance maxIter displayCode
test EnergyIncr 1.0e-12    10         0

方程式の解法は、Newton法を使用します。(algorithmコマンド)

# Solution algorithm
algorithm Newton

有限要素法解析で生成される係数行列での疎行列を解く場合の、行列の再配列方法は逆カットヒル・マキー法 (Reverse Cuthill–McKee algorithm ,RCM)を使用する (numbererコマンド)

# DOF numberer
numberer RCM

制約のついた非線形問題を制約なし問題に変換して解く変換法は、Plainを使用する(constraintsコマンド)

# Cosntraint handler
constraints Plain

線形連立方程式)の解法のために使用するプログラムは、LAPACKライブラリ(DPOSV)の実対称正定値連立一次方程式を使用する (systemコマンド)

# System of equations solver
system ProfileSPD

解析設定が終わった時点で、9)外力の設定で指定した荷重をかけて10secシュミレーションします。

analyze [実行する回数] 

まとめると、以下の通り。

# --------------------------------------------------------------------
# Start of static analysis (creation of the analysis & analysis itself)
# --------------------------------------------------------------------

# Load control with variable load steps
#                      init Jd min max
integrator LoadControl 1.0   1 1.0 10.0

# Convergence test
#              tolerance maxIter displayCode
test EnergyIncr 1.0e-12    10         0

# Solution algorithm
algorithm Newton

# DOF numberer
numberer RCM

# Cosntraint handler
constraints Plain

# System of equations solver
system ProfileSPD

# Type of analysis analysis
analysis Static

# Perform the analysis
analyze 10

# --------------------------
# End of static analysis
# --------------------------


 次のページ → 
OpenSees Basic Examples (F6::2D 梁への固体動力学問題) シュミレーション結果の画像表示

2016年11月4日金曜日

OpenSees Basic Examples (F4:2D 梁への固体動力学問題) レコーダー、外力の設定


8)解析結果を記録するレコーダーの設定
Node(節点)の解析結果を記録するためのファイル名、Node番号を設定します

recorder Node -file [ 出力ファイル名 ] -time(時間を基準として記録) -node[記録したいNode番号] -dof[記録したい自由度] disp(相対的な変位を出力) 

Node 9 での X,Y成分における変位を時間ごとに記録します。

# define the recorder
#---------------------
recorder Node -file Data/Node.out -time -node $l1 -dof 2 disp

$I1 は、ここで定義された 値が入ります。
I1 は、底辺の真ん中  → 9

Data/Node.out
の表記は、OpenSeesを動作させているフォルダーの下に、Dataというフォルダーを作成した上で、ファイル名 Node.out  に 出力結果を書きだします。

(参照ページはここ)

9)外力の設定
この構造物に加える外力(緑の部分)を設定します。

$I1、$I2 は、ここで定義された 値が入ります。
I1 は、底辺の真ん中  → 9
I2 は、上辺の真ん中  → 77

pattern Plain [Loadの通し番号] Linear  {
     load [Node番号] [自由度の1番目に対してかける力(X方向)] [ 自由度の1番目に対してかける力(Y方向)] 

      [ 自由度の3番目に対してかける力(θ方向)]
}

時間ごとに一定に、Node9 と Node77 に対して、Y方向 -1.0 の荷重をかけます。

# define load pattern
#---------------------
pattern Plain 1 Linear {
load $l1 0.0 -1.0
load $l2 0.0 -1.0


 次のページ → 
OpenSees Basic Examples (F5::2D 梁への固体動力学問題)解析の設定

Opensees コマンド 日本語解説 : 目次