def setUp(self): self.cab0 = cx.Conductor(name="CU 2/0 AWG", category=cx.CC_CU, diameter=10.5, r25=0.2767) self.cab1 = cx.Conductor(name="COPPERWELD 3/8", category=cx.CC_CUWELD, diameter=9.78, r25=1.030581) self.cc0 = cx.CurrentCalc(self.cab0) self.cc1 = cx.CurrentCalc(self.cab1) self.item0 = cx.OperatingItem(self.cc0, 50.0, 1) self.item1 = cx.OperatingItem(self.cc1, 125.0, 1)
def test_errorParameters(self): cc = cx.CurrentCalc(self.condmk.get()) # Verifica ta fuera de rango self.assertRaises(ValueError, cx.TcTimeCalc, cc, cx.TA_MIN - 1) self.assertRaises(ValueError, cx.TcTimeCalc, cc, cx.TA_MAX + 1) # Verifica hcap fuera de rango self.condmk.hcap = 0.0 cc = cx.CurrentCalc(self.condmk.get()) self.assertRaises(ValueError, cx.TcTimeCalc, cc, 25.0)
def test_error_diameter(self): self.condmk.diameter = 0.001 self.assertTrue(cx.CurrentCalc(self.condmk.get())) self.condmk.diameter = 0 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get()) self.condmk.diameter = -0.001 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get())
def test_error_r25(self): self.condmk.r25 = 0.001 self.assertTrue(cx.CurrentCalc(self.condmk.get())) self.condmk.r25 = 0 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get()) self.condmk.r25 = -0.001 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get())
def setUp(self): cab = cx.Conductor(category=cx.CC_AAAC, name="AAAC 740,8 MCM FLINT", diameter=25.17, r25=0.089360, hcap=0.052744) cc = cx.CurrentCalc(cab) self.scc = cx.TcTimeCalc(cc, 25.0)
def test_error_alpha(self): self.condmk.catmk.alpha = 0.001 self.assertTrue(cx.CurrentCalc(self.condmk.get())) self.condmk.catmk.alpha = 0.999 self.assertTrue(cx.CurrentCalc(self.condmk.get())) self.condmk.catmk.alpha = 0 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get()) self.condmk.catmk.alpha = -0.001 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get()) self.condmk.catmk.alpha = 1 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get()) self.condmk.catmk.alpha = 1.001 self.assertRaises(ValueError, cx.CurrentCalc, self.condmk.get())
def test_defaults(self): # Verifica que se asignen valores por defecto al crear CurrentCalc cond = self.condmk.get() cc = cx.CurrentCalc(cond) self.assertEqual(cc.conductor, cond) self.assertEqual(cc.altitude, 300) self.assertEqual(cc.airVelocity, 2) self.assertEqual(cc.sunEffect, 1) self.assertEqual(cc.emissivity, 0.5) self.assertEqual(cc.formula, cx.CF_IEEE) self.assertEqual(cc.deltaTemp, 0.01)
def test_defaultValues(self): # Verifica que se asignen valores por defecto cond = self.condmk.get() cc = cx.CurrentCalc(cond) Imax = cc.getCurrent(25.0, cx.TC_MAX) scc = cx.TcTimeCalc(cc, 25.0) self.assertEqual(scc.currentcalc, cc) self.assertEqual(scc.currentcalc.conductor, cond) self.assertEqual(scc.ta, 25.0) self.assertEqual(scc.timeStep, 1.0) self.assertEqual(scc.deltaIc, 0.01) self.assertEqual(scc.icmax, Imax)
def setUp(self): self.cond = cx.Conductor("AAAC 740,8 MCM FLINT", cx.CC_AAAC, diameter=25.17, r25=0.089360) self.cc = cx.CurrentCalc(self.cond)
weight=1.035, # en Kg/m strength=11625.0, # en Kg r25=0.08936, # Resistencia a 25°C en Ohm/km hcap=0.05274, # capacidad calórica ) VOLTAJE = 220.0 # kV de la línea NSC = 1 # N° de subconductores por fase FACTOR = 1.968 # Factor de sobrecarga SOL = 1.0 # Efecto sol 1:Si, 0:No TEMP_MAX_OP = 55.0 # T° maxima de operación línea TIEMPO = 15.0 # Tiempo buscado en minutos #----------------------------------------------------------------------------------------- ac = cx.CurrentCalc(c1) #print (ac.getCurrent(50, 86)) #print(ac.getTa(86, 653)) print(ac.getTa(cx.TC_MIN, 0)) #print(ac.getTc(cx.TA_MIN, 0)) ac.sunEffect = SOL print(c1.name) print("Temp. Diseño\t%s °C" % nform(TEMP_MAX_OP)) print("Sobrecarga\t%s %%" % nform((FACTOR - 1) * 100)) print("N° subconductores por fase\t%d" % NSC) txtsol = "SI" if SOL else "NO" print("Efecto Sol\t%s" % txtsol) print
strength=11625.0, # en Kg r25=0.08936, # Resistencia a 25°C en Ohm/km hcap=0.05274, # capacidad calórica ) c2 = zx.Conductor( name='AAAC 740,8 MCM FLINT', category=zx.CC_AAAC, diameter=25.17, # en mm area=375.4, # en mm2 weight=1.035, # en Kg/m strength=11625.0, # en Kg r25=0.08936, # Resistencia a 25°C en Ohm/km hcap=0.05274, # capacidad calórica ) #----------------------------------------------------------------------------------------- ac1 = cx.CurrentCalc(c1) ac2 = zx.CurrentCalc(c2) opi1 = cx.OperatingItem(ac1, 50, 1) opi2 = zx.OperatingItem(ac2, 50, 1) #bench("getTc(50, 1000)", ac1.getTc, ac2.getTc, (50, 100)) #print(" ") #bench("getTa(60, 1000)", ac1.getTa, ac2.getTa, (60, 100)) #print(" ") #bench("getCurrent(30)", opi2.getCurrent, opi2.getCurrent2, (30,)) #print(" ") bench("getCurrent(30)", opi1.getCurrent, opi2.getCurrent, (30, ))
# CRISTIAN ECHEVERRÍA RABÍ from cer.conductor import cx for i,o in cx.Conductor.__dict__.items(): print(i, type(o)) a = cx.Conductor("CU 300 MCM", cx.CC_CU) print(type(a) is cx.Conductor) print(cx.Conductor) print(cx.version) cu300 = cx.Conductor("CU 300 MCM", cx.CC_CU, 15.95, 152.00, 1.378, 6123.0, 0.12270, 0, "") cc = cx.CurrentCalc(cu300) #cc.deltaTemp = 0 for i, va in enumerate([10, 15, 20, 25, 30]): for j, vc in enumerate([30, 35, 40, 45, 50]): current = cc.getCurrent(va, vc) txt = "i=%d, i=%d, Ta=%.2f, Tc=%.2f, I=%.2f" % (i, j, va, vc, current) print(txt) #print (cc.deltaTemp) catmk_test = cx.CategoryMaker('COPPER', 12000.0, 0.0000169, 0.0, 0.00374, 'CU') #catmk_test = cx.CategoryMaker.fromCategory(cx.CC_CU) print(catmk_test) cat_test = catmk_test.get() print(cat_test)
# CRISTIAN ECHEVERRÍA RABÍ from cer.conductor import cx import time #----------------------------------------------------------------------------------------- t0 = time.clock() cab = cx.Conductor(category=cx.CC_AAAC, name="AAAC 740,8 MCM FLINT", diameter=25.17, r25=0.089360, hcap=0.052744) ac = cx.CurrentCalc(cab) ac.sunEffect = 1.0 # Supongamos 2 líneas en paralelo con 70% de su transferencia nominal con sol # Cada línea tendra una corriente Ic0 y temperatura de conductor Tc0 scc = cx.TcTimeCalc(ac, 25.0) scc.timeStep = 1 # Usamos scc que ya tiene asociada la T° ambiente Icnom = scc.getCurrent(50.0) Ic0 = 0.7*Icnom Tc0 = scc.getTc(Ic0) # Se produce una falla en una de las líneas y la otra se sobrecarga al doble # La línea en servicio queda con corriente Ic1 = 2*Ic0 Ic1 = 2*Ic0 print(Ic0, Ic1) # Si esta condición se mantiene por 5 minutos el conductor alcanzará temperatura Tc1