時刻歴応答解析の実施に当たり、まず解析モデルを設定します。解析モデルは図に示すような高さ方向に集中質量を有する質点が並ぶ2次元の多質点モデルとします。各質点の間は、梁要素があるものとし、各要素の断面特性をそれぞれ設定することで、層間の構造特性を定義したモデルとなっています。
![]() |
対象解析モデル |
# モデルの初期化
wipe()
# モデルの定義
model('basic', '-ndm', 2, '-ndf', 3)
# 節点座標の定義解析モデルにおいては、境界条件を設定する必要があります。今回の場合、解析モデルの基礎部分に対して境界条件を設定するため、基部の節点1において、境界条件(fix command)を設定します。コマンドの引数において、0:非拘束、1:拘束となります。今回の場合、3自由度ともに固定とするので、以下のように設定します。
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の座標設定
# 境界条件の定義各節点の質量を定義します。インチ系の加速度で規準化された値で入力する必要があるので単位をインチで換算した重力加速度386in/s2で値を割る必要があることに注意が必要です。日本人の感覚だとこの単位系の扱いが慣れず、とても分かりづらく感じます。とりあえず各節点に対し回転慣性質量は考えずに、鉛直方向,水平方向それぞれに質量を以下のように入力します。
op.fix(1,1,1,1)
#節点1の境界条件(対象節点番号,拘束条件(鉛直、水平、回転自由度固定(1,1,1)))
# 節点質量の定義最後に各質点を結ぶ梁要素の諸元を設定します。
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の節点質量設定
# 梁要素の定義以上より、対象とする多質点モデルの入力が終わりました。次にこの解析モデルに対して、地震波を入力した時刻歴応答解析を実施してみたいと思います。
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の諸元設定