In [1]:
from salib import showImage
import salib.nbloader
import Frame2D_v03 as f2d
In [2]:
frame = f2d.Frame2D()
frame.read_data('KG82') # read the CSV files in directory 'KG82.d'
%matplotlib inline
frame.plot()
In [3]:
frame.doall()
frame.saveStructuralData(frame.dsname)
In [4]:
import pandas as pd
BM = [('AB',44.2,-57.5), # values given on figure, above
('BC',-232.,-236.),
('DE',181.,227.),
('EF',287.,330.),
('BE',290.,-515.),
('CF',236.,-330.)]
BOOK = pd.DataFrame({m:{'MZJ':a,'MZK':b} for m,a,b in BM}).T
BOOK
Out[4]:
In [5]:
R = frame.get_mefs() # get our member end forces for the same members
#R[['MZJ']] - BOOK[['MZJ']]
R = R.ix[BOOK.index]
R
Out[5]:
In [6]:
m = R[['MZJ','MZK']]*1E-6
(100*(m - BOOK[['MZJ','MZK']])/m).round(2)
Out[6]:
Max. difference is 5.5%, which I think is a little large.
In [7]:
frame.get_reactions()[['FY']]*1E-3
Out[7]:
The reactions agree very closely.
In [8]:
frame.doall(pdelta=True,showinput=False)
The above are the results of a second-order ($P-\Delta$) analysis and should be compared with the following figure from Kulak & Grondin:
In [9]:
import pandas as pd
BM = [('AB',64.0,-39.2), # values given on gigure, above
('BC',-236.,-237.),
('DE',207.,244.),
('EF',301.,347.),
('BE',276.,-544.),
('CF',237.,-347.)]
BOOK = pd.DataFrame({m:{'MZJ':a,'MZK':b} for m,a,b in BM}).T
BOOK
Out[9]:
In [10]:
R = frame.get_mefs() # get our member end forces for the same members
#R[['MZJ']] - BOOK[['MZJ']]
R = R.ix[BOOK.index]
R
Out[10]:
In [11]:
m = R[['MZJ','MZK']]*1E-6
(100*(m - BOOK[['MZJ','MZK']])/m).round(2)
Out[11]:
Max. difference is 1.4%, which is quite decent.
In [ ]: