-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcalculation.py
50 lines (40 loc) · 1.43 KB
/
calculation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import numpy as np
import topology as tp
import conductors_calc as cc
class ChainNetwork:
def __init__(self,
name="",
=1,
N=25,
=14,
topology=tp.Topology(name="AT_System"),
):
self.name = name
self.topology = topology
self.h = h
self.N = N
self.m = m
self.z = np.empty((M, M, N), np.complex128)
def set_parameter(self):
c_xy = []
c_resistance = []
c_mu_r = []
c_radius = []
c_equivalent_radius = []
for line in self.topology.lines:
c_xy.append([line.coordinater_x, line.coordinater_y])
c_resistance.append(line.resistance)
c_mu_r.append(line.mu_r)
c_radius.append(line.radius)
c_equivalent_radius.append(line.equivalent_radius)
return c_xy, c_resistance, c_mu_r, c_radius, c_equivalent_radius
def calc_unit_z(self):
c_xy, c_resistance, c_mu_r, c_radius, c_equivalent_radius = self.set_parameter()
L = cc.calc_L(c_xy, c_equivalent_radius)
def calc_unit_yc(self):
unit_yc = np.empty((self.m, self.m), np.complex128)
c_xy, c_resistance, c_mu_r, c_radius, c_equivalent_radius = self.set_parameter()
k = 3
chen = ChainNetwork(n=k, h=6)
chen.setY()
print(chen.h, chen.n, chen.topo.name, chen.Y)