plt.show()

# determine global forces and moments from floor accelerations (assuming equilibrium and equal distributions)
if Plot[9] or Plot[11] == 1:
#     Mb = {'Earthquake' : 'Moments'}
#     Vbs = {'Earthquake' : 'Base shear'}
    for i in test_name:
        accb = CompareRecords(Earthquake[i]['Accel_Bottom_floor_pair']*9.81, Earthquake[i]['Accel_Bottom_beam_pair']*9.81, DT, DT)
        accb.Remove_average()
        accb.Butter_pass(BP)
        
        acct = CompareRecords(Earthquake[i]['Accel_Top_floor_pair']*9.81, Earthquake[i]['Accel_Top_beam_pair']*9.81, DT, DT)
        acct.Remove_average()
        acct.Butter_pass(BP)
        
        [N_col, V_bs] = forces(accb.motions[0]/9.81, accb.motions[1]/9.81, acct.motions[0]/9.81, acct.motions[1]/9.81, frame_type)
        Earthquake[i]['N_col'] = N_col
        if 'fac' in frame_type or 'ult' in frame_type:
         
            accg = CompareRecords(Earthquake[i]['Accel_Ground']*9.81, Earthquake[i]['Accel_ground_int']*9.81, DT, DT)
            accg.Remove_average()
            accg.Butter_pass(BP)            
            facade = 0.08*(3.990-2.0)*(1.590-0.9)*2.35 #t
            Earthquake[i]['Vbs'] = V_bs + (Earthquake[i]['Force_Bottom_Fass_South'])*2#+Earthquake[i]['Force_Bottom_Fass_North'])
            Earthquake[i]['Vfs'] = accg.motions[0]*9.81*facade - (Earthquake[i]['Force_Bottom_Fass_South'])*2
            Earthquake[i]['Vbs_tot'] = V_bs + accg.motions[0]*9.81*facade
        else:
            Earthquake[i]['Vbs'] = V_bs
            
# connections        
if Plot[9] == 1:
Example #2
0
    P3.plot(time_ta, table_acceleration, label='ta')
    P3.legend()    
    if ruau_show == 1:
        P1.plot(time_ruau, Ruaumoko['floor_acceleration_2']/-9.81, 'r', label='Ruaumoko')
#         P1.plot(time_ruau, Ruaumoko['floor_displacement_6']/9.81, label='Ruaumoko_floor', 'b--')
        P2.plot(time_ruau, Ruaumoko['floor_acceleration_1']/-9.81, 'r')
#         P2.plot(time_ruau, Ruaumoko['floor_displacement_5']/9.81, 'r--')
        P3.plot(time_ruau, Ruaumoko['floor_acceleration_0']/9.81, 'r')
    else:
        P1.plot(time, channel['Accel_Top_floor_single'], label='Floor-single')
        P1.plot(time, channel['Accel_Top_floor_pair'], label='Floor-pair')        
        P2.plot(time, channel['Accel_Bottom_floor_single'], label='Floor-single')
        P2.plot(time, channel['Accel_Bottom_floor_pair'], label='Floor-pair')  
    P1.legend()
    plt.show()
    [Mb, Vbs] = forces(channel['Accel_Bottom_floor_pair'], channel['Accel_Bottom_beam_pair'], channel['Accel_Top_floor_pair'], channel['Accel_Top_beam_pair'])
    
# connection rotations
if Plot[3] == 1:
    V = ['Top_', 'Bottom_', 'Col_S',]
    H = ['W', 'E']
    rotation = {'location' : 'data'}
    for i in range(len(V)):
        for j in range(len(H)):
            if V[i]+H[j] == 'Col_SW':
                D = (265.0-30.0) 
            elif V[i]+H[j] == 'Col_SE':
                D = (265.0-25)    
            else:
                D = (220.0-30)            
            rotation[V[i]+H[j]] = (channel['Pot_'+V[i]+H[j]+'1']-channel['Pot_'+V[i]+H[j]+'3'])/D*100