Skip to content

Commit 5892ed4

Browse files
committed
Update dependencies
1 parent cf6e3ae commit 5892ed4

7 files changed

Lines changed: 323 additions & 347 deletions

File tree

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11

22
*.pyc
33
*.glade~
4-
old/*
4+
.flatpak-builder/*
55
reference/*
66
.flatpak-builder/*
77
build-dir/*
88
repo/*
9+
pvenv/*
910
gelectrical.flatpak
1011
build/*
1112
dist/*
1213

14+

com.kavilgroup.gelectrical.json

100755100644
Lines changed: 116 additions & 121 deletions
Large diffs are not rendered by default.

gelectrical/elementmodel/line.py

100755100644
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,8 +1161,9 @@ def capacitance_ll(r, d_e):
11611161
x_1 = reactance_ll(r, d_e)
11621162
c_1 = capacitance_ll(r, d_e)
11631163
# Zero sequence
1164-
r_0 = r_0n = r_ph + 3*omega*mu_0/8*1000 # As per IEC 60909-2 eq.(3)
1165-
x_0 = x_0n = reactance_lg(r, d_e)
1164+
r_0n = x_0n = open_imp_value
1165+
r_0 = r_ph + 3*omega*mu_0/8*1000 # As per IEC 60909-2 eq.(3)
1166+
x_0 = reactance_lg(r, d_e)
11661167
# 3ph Lines with neutral
11671168
elif code_laying_type in (3,4):
11681169
if code_laying_type == 3:
@@ -1215,12 +1216,13 @@ def capacitance_ll(r, d_e):
12151216
x_1 = reactance_ll(r, d_e)
12161217
c_1 = capacitance_ll(r, d_e)
12171218
# Zero sequence
1219+
r_0n = x_0n = open_imp_value
12181220
if cpe == self.armour_list[0]: # Armour return
1219-
r_0 = r_0n = r_ph + 3*r_ar
1220-
x_0 = x_0n = reactance0_ln_ar_3ph(r, d_e, d_en)
1221+
r_0 = r_ph + 3*r_ar
1222+
x_0 = reactance0_ln_ar_3ph(r, d_e, d_en)
12211223
elif cpe == self.armour_list[1]: # Ground return
1222-
r_0 = r_0n = r_ph + 3*omega*mu_0/8*1000 # As per IEC 60909-2 eq.(3)
1223-
x_0 = x_0n = reactance_lg(r, d_e)
1224+
r_0 = r_ph + 3*omega*mu_0/8*1000 # As per IEC 60909-2 eq.(3)
1225+
x_0 = reactance_lg(r, d_e)
12241226

12251227
# Short circuit ratings
12261228
phase_ultimate_temp = self.fields['endtemp_degree']['value']

gelectrical/model/networkmodel.py

100755100644
Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -288,24 +288,24 @@ def build_graph_model(self):
288288
tranformers_gnodes = set(list(itertools.chain(*tranformers)))
289289
# Evaluate r_grid
290290
for gnode in self.global_nodes:
291-
# Finad all paths from current node to each source
291+
# Find all paths from current node to each source
292292
r_grids = {}
293293
for source in self.graph_source_nodes:
294294
try:
295295
simple_paths = nx.all_simple_paths(self.graph, gnode, source)
296+
for simple_path in simple_paths:
297+
# Iterate over each gnode of path
298+
for path_gnode in simple_path:
299+
# If bus is found update and break
300+
if path_gnode in bus_gnodes:
301+
r_grids[path_gnode] = bus_gnodes[path_gnode]
302+
break
303+
# If transformer is found break
304+
# Current gnode excluded from tranformer list for cases when gnode is upstream node of transformer
305+
if path_gnode in (tranformers_gnodes - set([gnode])):
306+
break
296307
except nx.NodeNotFound:
297308
continue
298-
for simple_path in simple_paths:
299-
# Iterate over each gnode of path
300-
for path_gnode in simple_path:
301-
# If bus is found update and break
302-
if path_gnode in bus_gnodes:
303-
r_grids[path_gnode] = bus_gnodes[path_gnode]
304-
break
305-
# If transformer is found break
306-
# Current gnode excluded from tranformer list for cases when gnode is upstream node of transformer
307-
if path_gnode in (tranformers_gnodes - set([gnode])):
308-
break
309309
# If r_grids populated, find parallel resistance of all grids
310310
if r_grids:
311311
r_grids_array = np.array(list(r_grids.values()))
@@ -341,11 +341,11 @@ def get_nodes_between_gnodes(self, gnode1, gnode2, ignore_disabled=True):
341341
# Search in a path from gnode1 to gnode2
342342
try:
343343
simple_paths = nx.all_simple_paths(graph, gnode1, gnode2)
344+
result = set(itertools.chain(*simple_paths))
345+
return result
344346
except nx.NodeNotFound:
345347
return set()
346-
result = set(itertools.chain(*simple_paths))
347-
return result
348-
348+
349349
def get_upstream_nodes(self, ekey, source_node=None, ignore_disabled=True):
350350
# Select graph
351351
if ignore_disabled:
@@ -392,25 +392,25 @@ def get_upstream_element(self, ekey, codes=None, ignore_disabled=True):
392392
for source in graph_source_nodes:
393393
try:
394394
simple_paths = nx.all_simple_paths(graph, gnodes[0], source)
395+
for path in map(nx.utils.pairwise, simple_paths): # For all elements in path
396+
for e_pair in path:
397+
ekey_check = graph.edges[e_pair[0], e_pair[1]]['key']
398+
element_check = self.base_elements[ekey_check]
399+
# Case 1 - 1 node load elements; break as cannot be upstream
400+
if set(e_pair) & self.graph_sink_nodes:
401+
break
402+
# Case 2 - 1 node supply elements; no need to check if current element
403+
elif set(e_pair) & graph_source_nodes:
404+
if (codes is None) or (element_check.code in codes):
405+
results[ekey_check] = element_check
406+
break
407+
# Case 3 - 2+ node elements; check if same as current element
408+
elif not set(e_pair).issubset(set(gnodes)):
409+
if (codes is None) or (element_check.code in codes):
410+
results[ekey_check] = element_check
411+
break
395412
except nx.NodeNotFound:
396413
continue
397-
for path in map(nx.utils.pairwise, simple_paths): # For all elements in path
398-
for e_pair in path:
399-
ekey_check = graph.edges[e_pair[0], e_pair[1]]['key']
400-
element_check = self.base_elements[ekey_check]
401-
# Case 1 - 1 node load elements; break as cannot be upstream
402-
if set(e_pair) & self.graph_sink_nodes:
403-
break
404-
# Case 2 - 1 node supply elements; no need to check if current element
405-
elif set(e_pair) & graph_source_nodes:
406-
if (codes is None) or (element_check.code in codes):
407-
results[ekey_check] = element_check
408-
break
409-
# Case 3 - 2+ node elements; check if same as current element
410-
elif not set(e_pair).issubset(set(gnodes)):
411-
if (codes is None) or (element_check.code in codes):
412-
results[ekey_check] = element_check
413-
break
414414
return results
415415

416416
def get_downstream_element(self, ekey, codes=None, ignore_disabled=True):
@@ -449,30 +449,30 @@ def get_downstream_element(self, ekey, codes=None, ignore_disabled=True):
449449
for start_gnode in start_gnodes:
450450
try:
451451
simple_paths = nx.all_simple_paths(graph, start_gnode, self.graph_sink_nodes)
452+
for path in map(nx.utils.pairwise, simple_paths):
453+
path_it1, path_it2 = itertools.tee(path, 2)
454+
path_nodes = set(itertools.chain(*path_it1))
455+
# If path shares nodes with upstream skip path
456+
if not(path_nodes & upstream_nodes):
457+
for e_pair in path_it2:
458+
ekey_check = graph.edges[e_pair[0], e_pair[1]]['key']
459+
element_check = self.base_elements[ekey_check]
460+
# Case 1 - 1 node source elements; break as cannot be downstream
461+
if set(e_pair) & graph_source_nodes:
462+
break
463+
# Case 2 - 1 node load elements; no need to check if current element
464+
elif set(e_pair) & self.graph_sink_nodes:
465+
if (codes is None) or (element_check.code in codes):
466+
results[ekey_check] = element_check
467+
break
468+
# Case 3 - 2+ node elements; check if same as current element
469+
elif not set(e_pair).issubset(set(gnodes)):
470+
# Add element and break path if <codes not specified> or <code matches>
471+
if (codes is None) or (element_check.code in codes):
472+
results[ekey_check] = element_check
473+
break
452474
except nx.NodeNotFound:
453475
continue
454-
for path in map(nx.utils.pairwise, simple_paths):
455-
path_it1, path_it2 = itertools.tee(path, 2)
456-
path_nodes = set(itertools.chain(*path_it1))
457-
# If path shares nodes with upstream skip path
458-
if not(path_nodes & upstream_nodes):
459-
for e_pair in path_it2:
460-
ekey_check = graph.edges[e_pair[0], e_pair[1]]['key']
461-
element_check = self.base_elements[ekey_check]
462-
# Case 1 - 1 node source elements; break as cannot be downstream
463-
if set(e_pair) & graph_source_nodes:
464-
break
465-
# Case 2 - 1 node load elements; no need to check if current element
466-
elif set(e_pair) & self.graph_sink_nodes:
467-
if (codes is None) or (element_check.code in codes):
468-
results[ekey_check] = element_check
469-
break
470-
# Case 3 - 2+ node elements; check if same as current element
471-
elif not set(e_pair).issubset(set(gnodes)):
472-
# Add element and break path if <codes not specified> or <code matches>
473-
if (codes is None) or (element_check.code in codes):
474-
results[ekey_check] = element_check
475-
break
476476
return results
477477

478478
def get_downstream_element_of_node(self, gnode, codes=None, ignore_disabled=True):

0 commit comments

Comments
 (0)