Beispiel #1
0
 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)
Beispiel #2
0
    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)
Beispiel #3
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())
Beispiel #4
0
 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())
Beispiel #5
0
 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)
Beispiel #6
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())
Beispiel #7
0
 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)
Beispiel #8
0
    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)
Beispiel #9
0
 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)
Beispiel #10
0
    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
Beispiel #11
0
    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, ))
Beispiel #12
0
# 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