Compare commits

..

No commits in common. "793acc9ca735d42963877da25e3749f55eea3cf2" and "3597d841c44ca678f3a71789bd68376fb38cec15" have entirely different histories.

4 changed files with 25 additions and 56 deletions

View file

@ -8,10 +8,11 @@ import sys
from .jepl_general import * from .jepl_general import *
from .jeplpv import * from .jeplpv import *
from .jepl_circuits import * from .jepl_circuits import *
# safety still needs to be re-wrote, but I will do it later. from .jepl_templates import *
#from .jepl_safety import * from .jepl_safety import *
# Templates rely on safety so I will have to fix it too
#from .jepl_templates import *
#print(cec21table1)
def Test(): def Test():
print( "JMK Python Module works! !") print( "JMK Python Module works! !")

View file

@ -375,6 +375,7 @@ def conduit_size(num_cc,cc_con,bond,insulation="RW90", voltage = 1000, jacketed
# #
# Determine the maximum conduit fill # Determine the maximum conduit fill
# #
import numpy as np
if num_cc == 1: if num_cc == 1:
percent_fill = 0.53 percent_fill = 0.53
@ -403,28 +404,28 @@ def conduit_size(num_cc,cc_con,bond,insulation="RW90", voltage = 1000, jacketed
#print(conductor_diameter) #print(conductor_diameter)
cc_dia = conductor_diameter.loc[(conductor_diameter['size'] == cc_con) ]['diameter'].iloc[0] cc_dia = conductor_diameter.loc[(conductor_diameter['size'] == cc_con) ]['diameter'].iloc[0]
#print(cc_dia) print(cc_dia)
bond_dia = conductor_diameter.loc[(conductor_diameter['size'] == bond) ]['diameter'].iloc[0] bond_dia = conductor_diameter.loc[(conductor_diameter['size'] == bond) ]['diameter'].iloc[0]
#print(bond_dia) print(bond_dia)
cc_area = math.pi * (cc_dia/2) ** 2 cc_area = math.pi * (cc_dia/2) ** 2
#print(cc_area) print(cc_area)
bond_area = math.pi * (bond_dia/2) ** 2 bond_area = math.pi * (bond_dia/2) ** 2
#print(bond_area) print(bond_area)
# Total conductor area # Total conductor area
area_conductors = num_cc * cc_area + bond_area area_conductors = num_cc * cc_area + bond_area
#print(area_conductors) print(area_conductors)
min_trade_area = area_conductors / percent_fill # The minimum area of the conduit min_trade_area = area_conductors / percent_fill # The minimum area of the conduit
#print(min_trade_area) print(min_trade_area)
trade_inner_dia = math.sqrt(min_trade_area/math.pi) * 2 trade_inner_dia = math.sqrt(min_trade_area/math.pi) * 2
#print(trade_inner_dia) print(trade_inner_dia)
@ -442,13 +443,13 @@ def conduit_size(num_cc,cc_con,bond,insulation="RW90", voltage = 1000, jacketed
# Retrieve the nearest value using the found index # Retrieve the nearest value using the found index
result_raw = conduit_table['size'].iloc[closest_index] result_raw = conduit_table['size'].iloc[closest_index]
result_name = result_raw + 'mm ' + material result_name = result_raw + 'mm ' + material
# Get the new inner diameter
result_inner_dia = conduit_table[material].iloc[closest_index] result_inner_dia = conduit_table[material].iloc[closest_index]
result_inner_area = math.pi * (result_inner_dia/2) ** 2
resulting_percent_fill = area_conductors / result_inner_area
return result_raw,result_name,result_inner_dia,resulting_percent_fill return result_raw,result_name,result_inner_dia
def cable_schedule_naming(conductor_size,conductors,runs = 1,bond='BOND'): def cable_schedule_naming(conductor_size,conductors,runs = 1,bond='BOND'):

View file

@ -30,7 +30,7 @@ def va(voltage, current,phases=3):
def xfmr_sc(kva, voltage, impedance, phases = 3): def xfmr_sc(kva, voltage, impedance, phases = 3):
''' '''i
Calculate the maximum let-through current of a transformer. Calculate the maximum let-through current of a transformer.
Isc = resulant short circuit Isc = resulant short circuit
@ -46,4 +46,5 @@ def xfmr_sc(kva, voltage, impedance, phases = 3):
else: else:
Isc = (kva * 1000) / (math.sqrt(3) * voltage * (impedance / 100)) Isc = (kva * 1000) / (math.sqrt(3) * voltage * (impedance / 100))
return Isc return Isc

View file

@ -181,34 +181,6 @@ def voltagedrop(args):
result = jmk.voltage_drop(voltage, current, size, length, num_phase = num_phase, material = material, num_runs = num_runs, code = code, power_factor = power_factor, raceway = raceway, insul_temp = insul_temp) result = jmk.voltage_drop(voltage, current, size, length, num_phase = num_phase, material = material, num_runs = num_runs, code = code, power_factor = power_factor, raceway = raceway, insul_temp = insul_temp)
print(result) print(result)
def conduit_size(args):
if args.insulation == None:
insulation = "RW90"
else:
insulation = args.insulation
if args.voltage == None:
voltage = 1000
else:
voltage = args.voltage
if args.jacketed == None:
jacketed = False
else:
jacketed = args.jacketed
if args.material == None:
material = 'SCH80'
else:
material = args.material
if args.code == None:
code = 'CEC'
else:
code = args.code
result = jmk.conduit_size(args.num_conductors,args.size,args.bond,insulation=insulation, voltage = voltage, jacketed = jacketed,material=material, code = code)
percent_fill = str(round(result[3],2) * 100) + "%" + " fill."
print(percent_fill,result[1])
# Solar # Solar
def temp_adj_Voc(args): def temp_adj_Voc(args):
@ -306,17 +278,6 @@ try:
voltagedrop_parser.set_defaults(func=voltagedrop) voltagedrop_parser.set_defaults(func=voltagedrop)
consize_parser = subparsers.add_parser("conduitsize", help="Calculate the proper conduit size.")
consize_parser.add_argument("num_conductors", type=int, help="Number of current carrying conductors, typically 1 to 4.")
consize_parser.add_argument("size", type=str, help="Size of the current carrying conductors in AWG or kcmil." )
consize_parser.add_argument("bond", type=str, help="Size of the bond conductor, or equipment grounding conductor in AWG or kcmil")
consize_parser.add_argument("-i", "--insulation", type=str, help="Insulation type. default RW90")
consize_parser.add_argument("-v", "--voltage", type=int, help="Voltage rating of the insulation, 600 or 1000")
consize_parser.add_argument("-j", "--jacketed", type=bool, help="Are the conductors jacketed? Default: False")
consize_parser.add_argument("-m", "--material", type=str, help="Material or conduit type, ie EMT, ENT, SCH40, etc. Default SCH80")
consize_parser.add_argument("-c", "--code", type=str, help="Currently this will either be CEC or NEC. default CEC")
consize_parser.set_defaults(func=conduit_size)
@ -343,4 +304,9 @@ try:
except argparse.ArgumentError as e: except argparse.ArgumentError as e:
#log.error("Error parsing arguments") #log.error("Error parsing arguments")
raise e raise e
#else:
# print(f"Something clever")