2022/09/25

OpenSeesPyによる多質点モデルの時刻歴応答解析②

時刻歴応答解析の実施に当たり、まず解析モデルを設定します。解析モデルは図に示すような高さ方向に集中質量を有する質点が並ぶ2次元の多質点モデルとします。各質点の間は、梁要素があるものとし、各要素の断面特性をそれぞれ設定することで、層間の構造特性を定義したモデルとなっています。

対象解析モデル

まず、モデル全体の諸元として、対象は2次元平面にあるモデルで、各節点において、3つの方向の自由度(鉛直、水平、回転方向)を有するモデルであることから、以下のように定義します。

# モデルの初期化
wipe()
# モデルの定義
model('basic', '-ndm', 2, '-ndf', 3)

次に各節点の座標を定義します。2次元のモデルであることから、節点座標は、2つの座標情報にて定義されます。例題のようなモデルを想定する場合、以下のように記述します。
Openseespyでの処理上、単位系はヤードポンド法の長さの単位であるインチに変換し、各節点の座標情報を記述します。
# 節点座標の定義
m_inch=39.3700787#単位系m→inchへの変換
op.node(1,0,0*m_inch)#節点1の座標設定(節点番号,x座標,y座標)
op.node(2,0,4*m_inch)#節点2の座標設定
op.node(3,0,8*m_inch)#節点3の座標設定
op.node(4,0,12*m_inch)#節点4の座標設定
解析モデルにおいては、境界条件を設定する必要があります。今回の場合、解析モデルの基礎部分に対して境界条件を設定するため、基部の節点1において、境界条件(fix command)を設定します。コマンドの引数において、0:非拘束、1:拘束となります。今回の場合、3自由度ともに固定とするので、以下のように設定します。
# 境界条件の定義
op.fix(1,1,1,1)
#節点1の境界条件(対象節点番号,拘束条件(鉛直、水平、回転自由度固定(1,1,1)))
各節点の質量を定義します。インチ系の加速度で規準化された値で入力する必要があるので単位をインチで換算した重力加速度386in/s2で値を割る必要があることに注意が必要です。日本人の感覚だとこの単位系の扱いが慣れず、とても分かりづらく感じます。とりあえず各節点に対し回転慣性質量は考えずに、鉛直方向,水平方向それぞれに質量を以下のように入力します。
# 節点質量の定義
kN_pond=0.22480894387096#重量単位系kN→kipsへの変換
g = 386.0885827#インチ系における重力加速度(in/s2)
op.mass(2,200*kN_pond/g,200*kN_pond/g,0)
#節点2の節点質量設定(対象節点番号,鉛直方向の質量,水平方向の質量,回転方向の質量)
op.mass(3,200*kN_pond/g,200*kN_pond/g,0)#節点3の節点質量設定
op.mass(4,200*kN_pond/g,200*kN_pond/g,0)#節点4の節点質量設定
最後に各質点を結ぶ梁要素の諸元を設定します。
梁要素は、element commandの中で装備されている種々の特性を有する要素を設定できます。ここでは、各要素は弾性梁とし、曲げ、せん断変形を共に考慮できる「Elastic Timoshenko Beam Column Element」を用いることにします。梁要素の剛性としては、とりあえず鋼材を想定してヤング係数、せん断弾性係数を設定します。断面形状はとりあえず直径2m、板厚50mmの円筒(A=0.145686451m2、I=0.306305284m4)を想定してみます。各要素に対して、それぞれ断面積、断面二次モーメント、せん断断面積を定義します。
# 梁要素の定義
E_mod=205000000*kN_pond/((m_ft)**2);G_mod=78846153.8461538*kN_pond/((m_ft)**2)#鋼材を想定した材料定数の設定
op.geomTransf("Linear",1)#要素座標系から全体座標系への変換手法の定義(線形変換)
op.element('ElasticTimoshenkoBeam', 1, 1, 2, E_mod, G_mod, 0.306305284*(m_ft)**2, 0.145686451*(m_ft)**4,0.5*0.306305284*(m_ft)**2,1)#梁要素1の諸元設定
op.element('ElasticTimoshenkoBeam', 2, 2, 3, E_mod, G_mod, 0.306305284*(m_ft)**2, 0.145686451*(m_ft)**4,0.5*0.306305284*(m_ft)**2,1)#梁要素2の諸元設定
op.element('ElasticTimoshenkoBeam', 3, 3, 4, E_mod, G_mod, 0.306305284*(m_ft)**2, 0.145686451*(m_ft)**4,0.5*0.306305284*(m_ft)**2,1)#梁要素1の諸元設定
以上より、対象とする多質点モデルの入力が終わりました。次にこの解析モデルに対して、地震波を入力した時刻歴応答解析を実施してみたいと思います。