Matrix Methods Example - Frame 1

This is the same frame as solved using the method of slope-deflection here. All of the data are provided in CSV form directly in the cells, below.


In [1]:
from __future__ import division, print_function
from IPython import display
import salib.nbloader    # so that we can directly import other notebooks

In [2]:
import Frame2D_v03 as f2d


In [3]:
frame = f2d.Frame2D()

In [4]:
%%frame_data frame nodes
ID,X,Y
a,0,0
b,0,3000
c,6000,3000
d,6000,1000

In [5]:
%%frame_data frame members
ID,NODEJ,NODEK
ab,a,b
bc,b,c
cd,c,d

In [6]:
%%frame_data frame supports
ID,C0,C1,C2
a,FX,FY,
d,FX,FY,MZ

In [7]:
%%frame_data frame releases
ID,R

Use very large areas so that axial deformations will be very small so as to more closely replicate the slope deflection analysis.


In [8]:
%%frame_data frame properties
ID,SIZE,Ix,A
bc,,200E6,100E10
ab,,100E6,
cd,,,

In [9]:
%%frame_data frame node_loads
ID,DIRN,F
b,FX,60000

In [10]:
%%frame_data frame member_loads
ID,TYPE,W1,W2,A,B,C
bc,UDL,-36,,,,

In [11]:
frame.doall()


ndof = 12, nfree = 7, nconstraints = 5



Nodes:
======

Node          X         Y  Constraints  DOF #s
----      -----     -----  -----------  ------
a             0         0  FX,FY        7,8,0
b             0      3000               1,2,3
c          6000      3000               4,5,6
d          6000      1000  FX,FY,MZ     9,10,11



Members:
========

Member   Node-J  Node-K    Length       dcx       dcy  Size                Ix           A  Releases
------   ------  ------    ------   -------   -------  --------      --------       -----  --------
ab       a       b         3000.0   0.00000   1.00000                   1e+08       1e+12  
bc       b       c         6000.0   1.00000   0.00000                   2e+08       1e+12  
cd       c       d         2000.0   0.00000  -1.00000                   1e+08       1e+12  



Node Loads:
===========

Node  Dirn     Load
----  ----    -----
b     FX      60000

Member Loads:
=============

Member  Load
------  ----------------
bc      UDL(L=6000.0,W1=-36)



Node Displacements:
===================

Node        DX         DY      Rotation
----      ------     ------   ---------
a          0.000      0.000   0.0011211
b          0.714     -0.000  -0.0029563
c          0.714     -0.000   0.0018899
d          0.000      0.000   0.0000000



Reactions:
==========

Node        FX         FY         MZ  
----     -------    -------    -------
a         18.121    100.891      --   
d        -78.121    115.109     59.223



Member End Forces:
==================

          /----- Axial -----/   /----- Shear -----/   /----- Moment ----/
Member       FX J       FX K       FY J       FY K       MZ J       MZ K
------     -------    -------    -------    -------    -------    -------
ab         100.891   -100.891    -18.121     18.121      0.000    -54.364
bc          78.121    -78.121    100.891    115.109     54.364    -97.020
cd         115.109   -115.109     78.121    -78.121     97.020     59.223

Compare to slope-deflection solution:

The solutions as given in the slope-deflection example:

Member end forces:

{'Mab': 0,
 'Mba': 54.36,
 'Mbc': -54.36,
 'Mcb': 97.02,
 'Mcd': -97.02,
 'Mdc': -59.22,
 'Vab': -18.12,
 'Vdc': 78.12}

Except for a sign change, these seem consistent. We might have a different sign convention here - I'll check into that.

Reactions:

 [v.subs(soln).n(4) for v in [Ra,Ha,Rd,Hd,Md]]
 [100.9,18.12,115.1,−78.12,−59.22]

and except for sign, these are OK as well.

As for deflection, in $kN m^2$, the product $EI$ used here is:


In [12]:
EI = 200000. * 100E6 / (1000*1000**2)
EI


Out[12]:
20000.0

and the lateral deflection of nodes $b$ and $c$ computed by slope-deflection, in $mm$, was:


In [13]:
(3528/(247*EI)) * 1000


Out[13]:
0.71417004048583

which agrees with the displayed result, above. (note that units in the slope-deflection example were $kN$ and $m$ and here they are $N$ and $mm$).

$P-\Delta$ Analysis

We wouldn't expect much difference as sidesway is pretty small:


In [14]:
frame.doall(pdelta=True)


iter=1, max D=0.7132569222027835, max chg=0.0009131037313158119, max % chg=0.12801890916050734
iter=2, max D=0.7132581790102385, max chg=1.2568074559959896e-06, max % chg=0.000176206525628632

ndof = 12, nfree = 7, nconstraints = 5



Nodes:
======

Node          X         Y  Constraints  DOF #s
----      -----     -----  -----------  ------
a             0         0  FX,FY        7,8,0
b             0      3000               1,2,3
c          6000      3000               4,5,6
d          6000      1000  FX,FY,MZ     9,10,11



Members:
========

Member   Node-J  Node-K    Length       dcx       dcy  Size                Ix           A  Releases
------   ------  ------    ------   -------   -------  --------      --------       -----  --------
ab       a       b         3000.0   0.00000   1.00000                   1e+08       1e+12  
bc       b       c         6000.0   1.00000   0.00000                   2e+08       1e+12  
cd       c       d         2000.0   0.00000  -1.00000                   1e+08       1e+12  



Node Loads:
===========

Node  Dirn     Load
----  ----    -----
b     FX      60000

Member Loads:
=============

Member  Load
------  ----------------
bc      UDL(L=6000.0,W1=-36)



Node Displacements:
===================

Node        DX         DY      Rotation
----      ------     ------   ---------
a          0.000      0.000   0.0011215
b          0.713     -0.000  -0.0029563
c          0.713     -0.000   0.0018903
d          0.000      0.000   0.0000000



Reactions:
==========

Node        FX         FY         MZ  
----     -------    -------    -------
a         18.123    100.893      --   
d        -78.106    115.107     59.203



Member End Forces:
==================

          /----- Axial -----/   /----- Shear -----/   /----- Moment ----/
Member       FX J       FX K       FY J       FY K       MZ J       MZ K
------     -------    -------    -------    -------    -------    -------
ab         100.893   -100.893    -18.123     18.123      0.000    -54.370
bc          78.147    -78.147    100.893    115.107     54.370    -97.009
cd         115.107   -115.107     78.106    -78.106     97.009     59.203

In [ ]: