def test_compute_periods(self): print 'test 14' periods = demand_calculations.compute_spectra_periods(1.0,2.0,0.5) self.assertTrue(numpy.allclose(periods[0],1.0)) self.assertTrue(numpy.allclose(periods[1],1.5)) self.assertTrue(numpy.allclose(periods[2],2.0))
from scipy import log from scipy.optimize import leastsq from numpy import numarray import math import portfolio_builder import capacity_calculations import demand_calculations import damage_allocator import fit_curve # COMPUTE THE SPECTRA BASED ON A SET OF ACCELEROGRAMS minPeriod = 0.05 maxPeriod = 10.0 step = 0.04 damping = 0.05 spectraPeriods = demand_calculations.compute_spectra_periods(minPeriod,maxPeriod,step) spectraDisp = demand_calculations.compute_spectra(minPeriod,maxPeriod,step,damping,ACCELEROGRAMS,SPECTRA) numberAccs = len(spectraDisp) print 'Spectra produced' # READ THE PORFOLIO OF BUILDINGS 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]