Beispiel #1
0
 def test_create_asset(self):
     
     def stub_rvs(alpha,scale = None):
         return 1
        
     data = portfolio_builder.create_asset(self.line, rvs=stub_rvs)
     print data
     
     # data 0 - structure type
     # data 1 - code level
     # data 2 - steel strain
     # data 3 - steel strengh
     # data 4 - Upper floor height
     # data 5 - Ground/upper floor height ratio	
     # data 6 - Column depth
     # data 7 - Beam length
     # data 8 - Beam depth  
     # data 9 - number of storeys
     
     steel_modulos=float(data[2])
     steel_strength=float(data[3])
     height_up=float(data[4])
     height_gf=float(data[5])
     column_depth=float(data[6])
     beam_length=float(data[7])
     beam_depth=float(data[8])
     number_storeys=float(data[9])
     
     self.assertEqual(data[0],'Bare_Frame')
     self.assertEqual(data[1],'Low_Code')
     self.assertEqual(int(data[2]),1)
     self.assertEqual(int(data[3]),1)
     self.assertEqual(int(data[4]),1)
     self.assertEqual(int(data[5]),1)
     self.assertEqual(int(data[6]),1)
     self.assertEqual(int(data[7]),1)
     self.assertEqual(int(data[9]),3)
Beispiel #2
0
lines = portfolio_builder.parse_input(EXPOSURE)
assets_count = portfolio_builder.buildings_counter(lines)
number_categories = int(assets_count[0])
number_assets = assets_count[1]

# CREATE THE VECTOR FOR THE DAMAGE STATES AND BETA FOR INFILLED FRAMES
damageStates= numarray.zeros(4)
IMTs=['PGA','PGV','Sa03','Saelastic']
elasticPeriods = []
betas = [0.52, 0.46, 0.28] 

# COMPUTE THE DISPLACAMENT FOR EACH BUILDING
for asset_category in range(number_categories):
    for asset in range(number_assets[asset_category]):

        data = portfolio_builder.create_asset(lines[asset_category])
        code=data[1]

        if code == "Low_Code":
            ec_ls2 = 0.0035
        #    ec_ls3 = 0.0075
            es_ls2 = 0.0150
        #    es_ls3 = 0.0350
        #    ec_ls2 =  portfolio_builder.compute_continuous_prob_value([0.0035,1,0,'inf'], 'lognormal', rvs=None)
            ec_ls3 =  portfolio_builder.compute_continuous_prob_value([0.0075,30,0,'inf'], 'normal', rvs=None)
        #    es_ls2 =  portfolio_builder.compute_continuous_prob_value([0.015,2,0,'inf'], 'normal', rvs=None)
            es_ls3 =  portfolio_builder.compute_continuous_prob_value([0.035,30,0,'inf'], 'normal', rvs=None)          
        
        if code == "High_Code":
            ec_ls2 = 0.0035
            ec_ls3 = 0.020