トラスの計算

作成2012.10.26

  1. 単純トラスの計算式
     図15-1に3点トラス構造説明図を示します。3個の節点P1,P2,P3はそれぞれxy座標(x1,y1)、(x2,y2)、(x3,y3)で与えられます。
     部材は2本で構成され、P1からB1、P2からB2が接続されています。
     部材B1,B2がx軸となす角度をそれぞれθ1、θ2とします。ただし、θ2は符号が反転することに注意が必要です。
     節点P3には荷重Wがかかっており、x成分をWxy成分をWyとします。
     ここで角度と座標は

     の関係が成立します。部材B1に作用する軸方向力をF1、部材B2に作用する軸方向力をF2とした場合、力のバランス式は

     となります。(15.5)式と(15.6)式を解いてF1とF2を求めることはさほど難しくはありませんが、 部材B1とB2のばね定数K1,K2は

     となります。(15.7)式と(15.8)式において、Eはヤング率、A断面積、Lは部材の長さです。部材の軸方 向変形をΔL、x軸方向変形をΔx、y軸方向変形をΔyとした場合

    となります。(15.5)式と(15.6)式に(15.9)式と(15.10)式を代入して整理すると

    となります。従って

    (15.17)式tp(15.18)式で変位量が計算できます。また軸荷重F1とF2は

    で計算できます。


  2. 単純トラス計算例
     以下の条件で計算してみます。
    節点座標
    節点番号X座標(mm)Y座標(mm)支持条件
    100固定
    201000固定
    32000600自由

    部材条件
    部材番号節点PI節点PJヤング率E(N/mm2)断面積A(mm2)
    113205800100
    223205800100

    荷重条件
    節点番号X軸(N)Y軸(N)
    301000

    計算結果

     となります。単純トラスでも手計算はけっこう手間のかかる計算となります。単純トラスの計算方法は2方法があることがわかります。
     第1の方法は各節点における力のバランス条件から各部材の軸力Fを直接計算する方法です。この場合、固定節点を除く自由節点×2元の連立1次方程式を解くことになります。
     第2の方法は各節点における力のバランス条件に剛性と変位の関係式を代入して、各節点の変位を変数とした連立1次方程式を解く方法です。この場合も固定節点を除く自由節点×2元の連立1次方程式を解くことになります。
     どちらでも解を得ることは可能なはずですが、各部材の軸力Fの値から各節点の変位を求めるには複雑な計算が必要です。これに対して、節点の変位から各部材の軸力Fは単純計算できます。
     このため、多くの計算においては、節点の変位を変数とした連立1次方程式を解く方法が用いられます。


  3. トラス計算の一般化
     多くのトラスは多くの節点と部材で構成されるため、複雑となります。
     図15-2はK番めの部材が節点iと節点jに作用する力の関係を示しています。
     部材の数がNkとした場合、各節点の力のバランスは部材kが1からNkまでの総和として扱うことができます。
     部材kのばね定数Kkはヤング率をEk、断面積をAk、長さをLkとして

    となります。力のつりあいから

    となります。軸の伸びΔLは

    の関係が成立します。さらにフックの法則から

    が成立します。(15.30)式から(15.33)式に(15.29)式を代入して整理すると

    (15.34)式から(15.37)式は変位ΔxとΔyは未知数であり4元の連立1次方程式です。本来ならば解が求まるはずですが実質的には2元であり解はもとまりません。未知数4個のうち2個を確定しないと解はえられません。 
     部材kの影響の総和を求めるための手段であり、全ての部材kについて加算して各節点ごとの変位ΔxとΔyについての連立1次方程式を作成します。
     作成した次数は節点の数をJnとしたとき2×Jn元の連立1次方程式となります。この場合も最低2個の節点を固定しΔx1=Δx2=Δy1=Δy2=0とする必要があります。
     従って、解が得られる連立1次方程式は節点の数をnとしたとき

     (1.38)式の形に整理することができます。(1.38)式において、aは計算可能な定数です。変位ΔxとΔyは未知数であり、WxとWyは各節点に加わる外力です。
     (1.38)式の形に整理するための計算は煩雑であり、プログラムによる計算が不可欠です。また、連立数の大きい連立1次方程式を解く作業もプログラムによる計算が不可欠となります。
     各節点の変位が求まれば、各部材の応力と軸力は容易に計算できます。

     計算実行上の注意点
    (1)固定の節点数を2以上に設定する必要があります。
    (2)固定の節点は節点番号の小さい順に設定する必要があります。



  4. トラスの計算.xls(フリーソフト)のダウンロード
    1. ダウンロード
       下記のトラスの計算.xls(フリーソフト)]をダウンロードしてください。

       ダウンロード後はダブルクリックで解凍してから使用してください。
       
      トラスの計算.xls(フリーソフト)]をダウンロードする。


    2. トラスの計算.xls(フリーソフト)
    3. ファイル構成
      (1) トラスの計算.xls :フリーソフトです。
      (2)シート「Sheet1」:計算条件の設定と計算結果の出力を行います。

    4. 注意事項
      (1)ファイルの保存場所の制限はありません。

    5. 標準的な実行方法
      (1)「トラスの計算.xls」をダブルクリックで起動します。
         (マクロを有効にして開いてください!!)
      (2)節点数、要素数、外力の加わる節点数、固定端の節点数を設定します。
      (3)節点座標の節点番号、X座標(mm)、Y座標(mm)を設定します。節点番号の小さい順が固定端となります。
      (4)節点座標の節点番号、X座標(mm)、Y座標(mm)を設定します。
      (5)荷重条件の節点番号、荷重Wx(N)、荷重Wy(N)を設定します。
      (6)部材条件の部材番号、節点Pi、節点Pj、ヤング率E(N/mm2)、断面積A(mm2)を設定します。
      (7)「計算実行」ボタンを押します。
      (8)計算結果がシート「Sheet1」に表示されます。


  5. プログラムリスト
     VBAのプログラムリストは以下のようになります。
    'Jn=節点数'En=要素数'Fn=外力の加わる節点数'Fixn=固定端の節点数
    'X(I)=節点のX座標'Y(I)=節点のY座標'PI(K)、PJ(K)=部材番号Kの節点番号
    'E(K)=部材番号Kのヤング率'A(K)=部材番号Kの断面積'L(K)=部材番号Kの長さ
    'PART(I,J)=部材の剛性行列'MAT(I,J)=全体の剛性行列
    'F(2*I-1)=節点IのX軸荷重'F(2*I)=節点IのY軸荷重'U(I)=変位
    Dim X(101), Y(101), U(201), F(201), MAT(201, 201)
    Dim PI(101), PJ(101), E(101), A(101), L(101), WORK(5), PART(5, 5)
    Sub Main()
    '結果欄クリア
    For i = 1 To 100
    Sheets("Sheet1").Cells(10 + i, 5).Formula = ""
    Sheets("Sheet1").Cells(10 + i, 6).Formula = ""
    Sheets("Sheet1").Cells(10 + i, 15).Formula = ""
    Sheets("Sheet1").Cells(10 + i, 16).Formula = ""
    Next i
    '基本条件入力
    Jn = Sheets("Sheet1").Cells(4, 3).Value
    EN = Sheets("Sheet1").Cells(5, 3).Value
    Fn = Sheets("Sheet1").Cells(6, 3).Value
    Fixn = Sheets("Sheet1").Cells(7, 3).Value
    NMAX = Jn * 2
    '配列初期化
    For i = 1 To NMAX
    U(i) = 0
    For j = 1 To NMAX
    MAT(i, j) = 0
    Next j
    Next i
    '節点座標入力
    For i = 1 To Jn
    X(i) = Sheets("Sheet1").Cells(10 + i, 2).Value
    Y(i) = Sheets("Sheet1").Cells(10 + i, 3).Value
    Next i
    For k = 1 To EN
    '部材条件入力
    PI(k) = Sheets("Sheet1").Cells(10 + k, 11).Value
    PJ(k) = Sheets("Sheet1").Cells(10 + k, 12).Value
    E(k) = Sheets("Sheet1").Cells(10 + k, 13).Value
    A(k) = Sheets("Sheet1").Cells(10 + k, 14).Value
    'cos、sin等定数計算
    i = PI(k)
    j = PJ(k)
    XX = X(j) - X(i)
    YY = Y(j) - Y(i)
    L(k) = Sqr(XX * XX + YY * YY)
    CT = E(k) * A(k) / L(k)
    CC = XX / L(k)
    SS = YY / L(k)
    '部材kのマトリックス計算
    WORK(1) = CC
    WORK(2) = SS
    WORK(3) = -CC
    WORK(4) = -SS
    For II = 1 To 4
    For JJ = 1 To 4
    PART(II, JJ) = CT * WORK(II) * WORK(JJ)
    Next JJ
    Next II
    '全体マトリックス計算
    WORK(1) = 2 * i - 1
    WORK(2) = 2 * i
    WORK(3) = 2 * j - 1
    WORK(4) = 2 * j
    For II = 1 To 4
    For JJ = 1 To 4
    I2 = WORK(II)
    J2 = WORK(JJ)
    MAT(I2, J2) = MAT(I2, J2) + PART(II, JJ)
    Next JJ
    Next II
    Next k
    '荷重条件入力
    For k = 1 To Fn
    i = Sheets("Sheet1").Cells(10 + k, 7).Value
    F(2 * i - 1) = Sheets("Sheet1").Cells(10 + k, 8).Value
    F(2 * i) = Sheets("Sheet1").Cells(10 + k, 9).Value
    Next k
    '変位計算(連立1次方程式の解計算)
    INIT = 2 * Fixn + 1
    For k = INIT To NMAX - 1
    P = MAT(k, k)
    For j = k + 1 To NMAX
    MAT(k, j) = MAT(k, j) / P
    Next j
    F(k) = F(k) / P
    For i = k + 1 To NMAX
    Q = MAT(i, k)
    For j = k + 1 To NMAX
    MAT(i, j) = MAT(i, j) - Q * MAT(k, j)
    Next j
    F(i) = F(i) - Q * F(k)
    Next i
    Next k
    U(NMAX) = F(NMAX) / MAT(NMAX, NMAX)
    For k = NMAX - 1 To INIT Step -1
    S = F(k)
    For j = k + 1 To NMAX
    S = S - MAT(k, j) * U(j)
    Next j
    U(k) = S
    Next k
    '結果出力
    For i = 1 To Jn
    Sheets("Sheet1").Cells(10 + i, 5).Value = U(2 * i - 1)
    Sheets("Sheet1").Cells(10 + i, 6).Value = U(2 * i)
    Next i
    '応力と軸力の計算
    For k = 1 To EN
    i = PI(k)
    j = PJ(k)
    XX = X(j) - X(i)
    YY = Y(j) - Y(i)
    LU = U(2 * j - 1) - U(2 * i - 1)
    lV = U(2 * j) - U(2 * i)
    LL = (XX * LU + YY * lV) / L(k)
    EPS = LL / L(k)
    SIG = EPS * E(k)
    FOC = SIG * A(k)
    '結果出力
    Sheets("Sheet1").Cells(10 + k, 15).Value = SIG
    Sheets("Sheet1").Cells(10 + k, 16).Value = FOC
    Next k
    End Sub



  6. サンプル条件の実行結果
    基本計算条件
    項目記号単位備考
    節点数Jn3最大100点
    要素数En2最大100本
    外力の加わる節点数Ns1最大100点
    固定端の節点数Fixn2最大100点

    節点座標
    節点番号X座標(mm)Y座標(mm)j条件
    100固定
    201000固定
    32000600 

    荷重条件
    節点番号荷重Wx(N)荷重Wy(N)
    301000

    部材条件
    部材番号節点Pi節点Pjヤング率E(N/mm2)断面積A(mm2)
    113205800100
    223205800100

    変位計算結果
    節点番号変位Δx(mm)変位Δy(mm)
    100
    200
    3-0.0352110.854651

    応力・軸力計算結果
    部材番号応力σ(N/mm2)軸力F(N)
    120.88062088.06130
    2-20.3961-2039.6078
     サンプル条件は手計算での単純トラスと同条件にしました。本プログラムでは、より複雑なトラス構造も計算可能です。入力は表形式になっていますが、入力条件に矛盾があると正しく計算できません。
     入力前にCADを使用して製図し、位置関係を正確に把握する必要があります。また、基本条件と詳細条件に矛盾があってもだめです。それと固定端の点数と節点番号も注意が必要です。
     さらには、部材番号と節点PiとPjの関係も注意が必要です。また、荷重条件の節点番号と方向にも注意しましょう。
     
     本プログラムを使いこなせるのは、CADを使用した構造設計が可能な方に限られるでしょう。本プログラムを使用すると、厄介なトラスの変位と応力の計算を比較的簡単に行えます。



16章:梁の計算に行く。



トップページに戻る。