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()
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]:
and the lateral deflection of nodes $b$ and $c$ computed by slope-deflection, in $mm$, was:
In [13]:
(3528/(247*EI)) * 1000
Out[13]:
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$).
In [14]:
frame.doall(pdelta=True)
In [ ]: