建築学生が学ぶ構造力学

  1. HOME > 計算プログラムから構造力学を学ぶ > 応答スペクトル

応答スペクトル

【管理人おすすめ!】セットで3割もお得!大好評の用語集と図解集のセット⇒ 建築構造がわかる基礎用語集&図解集セット(※既に26人にお申込みいただきました!)


これまでのアルゴリズムや理論を使って応答スペクトルを求めるプログラムをつくってみましょう。あくまで、一例なので もっとスマートにプログラムを組む方法もあります。特に、このプログラムではサブルーチンを使っていませんが、サブルーチンを使うと グッとプログラムらしく、きれいな文が書けると思うのでトライしてみてください。


アルゴリズムの確認

まず、応答スペクトルとは縦軸を最大値、横軸を固有周期として描いたグラフです。よって、固有周期を変化させて時刻歴応答解析を行い、その時の最大値を拾っていきます。その時に利用するのが「2重ループ」 です。※フローチャートの図形は無視した概念図なので、流れだけを確認してくださいね。



早速、Fortranで書いてみる。

さて、ダウンロードしたエディタ(僕はTerapad)を開いてプログラムを書いてみます。 まだコンパイラしていません。とりあえず、「Terapad」を利用している方は

「名前をつけて保存」→保存形式を「全てのファイル」として→「○○.f90」と保存してください。

そうすると、F90ファイルが生成されます。


!応答スペクトルを求めるプログラム()

program supectoru

implicit none

real gg(5000) ! 入力加速度

real acc(5000) ! 応答加速度

real vel(5000) ! 応答速度

real dis(5000) ! 応答変位

real omg(5000) ! 固有円振動数

real kk(5000) ! 剛性

real cc(5000) ! 粘性係数

real ssacc(5000,600) ! 時刻歴波形用

real ssvel(5000,600) ! 時刻歴波形用

real ssdis(5000,600) ! 時刻歴波形用

real sacc(5000,600) ! 準備計算

real svel(5000,600) ! 準備計算

real sdis(5000,600) ! 準備計算

real mxa(1000,1000) ! 加速度応答スペクトル

real mxv(1000,1000) ! 速度応答スペクトル

real mxd(1000,1000) ! 変位度応答スペクトル

real mm,dt,Pi,hh,mol1,mol2,B,dtt,mx

integer i,i2

open(1, file='step-load.txt',status='old')

!'入力加速度の読み込み'

! zisin-data. から gg() に読み込む

do i = 1,2687

read(1,*) gg(i)

end do

!'Nemark's β'二重ループで計算

do i2 = 1,500

do i = 1,2687,1

if(i==1) then

acc(i) = gg(i)/mm

vel(i) = 0

dis(i) = 0

Else

mol1 = -((gg(i) + cc(i2) * (vel(i-1)) + 0.5 * acc(i-1) * dt)+ kk(i2) * (dis(i-1) + vel(i-1) * dt + (0.5-B) * acc(i-1) * dt * dt))

mol2 = (mm + 0.5 * cc(i2) * dt + B * kk(i2) * dt * dt)

acc(i) = mol1 / mol2

vel(i) = vel(i - 1) + 0.5 * (acc(i - 1) + acc(i)) * dt

dis(i) = dis(i - 1) + vel(i - 1) * dt + (0.5 - B) * acc(i - 1) * dt * dt + B * acc(i) * dt * dt

end if

!応答スペクトル用の配列へ入れる

sacc(i,i2)=abs(acc(i)+gg(i))

svel(i,i2)=abs(vel(i))

sdis(i,i2)=abs(dis(i))

!最大値を求めるプログラム

!加速度の最大値を探索

do i2 =1,500

mx=0

do i =1,2687

if(mx < sacc(i+1,i2))then

mx=sacc(i+1,i2)

else

mx=mx

endif

mxa(i2,1)=mx

end do

end do


outousupectoru.f90の説明

プログラム自体がもう少し長いので、省略しました。よって、コピペしてもプログラムは回らないですよ。ポイントは「!'Nemark's β'二重ループで計算」と「!加速度の最大値を探索」の部分です。2重ループを使って 固有周期を変化させた場合の時刻歴応答解析を行い、その最大値を探索して求めています。難しいことは何もしていなくて、これまでの知識だけでつくっています。


結果の確認

結果の確認としては、適当な地震波を読み込んで応答スペクトルのグラフを描いてみて下さい。教科書に載っている応答スペクトルのグラフを結果を比較して整合してみてください。



▼スポンサーリンク▼

建築構造がわかる基礎図解集

noteで学ぶ建築士試験の構造

ゼロから建築士試験の構造を勉強しよう~!

ゼロから学ぶ建築士試験の構造

【好評】LINEで質問!

管理人に質問してみる?

友だち追加

わかる1級建築士の計算問題解説書

計算の流れ、解き方がわかる!1級建築士【構造】計算問題解説集

【初回資料が今だけ無料!】1日約13円で情報をアップデート!

有料メルマガを無料で見てみませんか?⇒ 忙しい社会人、学生のためのビルディング・アップデート

わかる2級建築士の計算問題解説書!

【30%OFF】一級建築士対策も◎!構造がわかるお得な用語集

建築学生が学ぶ「構造力学」の用語集
pdf版の学習記事

更新情報

プロフィール

建築の本、紹介します。▼

すぐにわかる構造力学の本

▼【好評!】管理人おすすめ▼

同じカテゴリの記事一覧

Topへ >>

  1. HOME > 計算プログラムから構造力学を学ぶ > 応答スペクトル
  2. 1級の過去問(計算)解説
  3. 限定メルマガ
  4. わかる建築構造の用語集・図解集
  5. 1頁10円!PDF版の学習記事