Skip to content

Commit 57c4895

Browse files
committed
include components.jl in print_tree.jl
1 parent 22a7963 commit 57c4895

File tree

1 file changed

+1
-83
lines changed

1 file changed

+1
-83
lines changed

test/print_tree.jl

Lines changed: 1 addition & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,7 @@
11

22
using ModelingToolkit, AbstractTrees, Test
33

4-
@parameters t
5-
6-
# Basic electric components
7-
function Pin(;name)
8-
@variables v(t) i(t)
9-
ODESystem(Equation[], t, [v, i], [], name=name, defaults=[v=>1.0, i=>1.0])
10-
end
11-
12-
function Ground(;name)
13-
@named g = Pin()
14-
eqs = [g.v ~ 0]
15-
ODESystem(eqs, t, [], [], systems=[g], name=name)
16-
end
17-
18-
function Resistor(;name, R = 1.0)
19-
val = R
20-
@named p = Pin()
21-
@named n = Pin()
22-
@variables v(t)
23-
@parameters R
24-
eqs = [
25-
v ~ p.v - n.v
26-
0 ~ p.i + n.i
27-
v ~ p.i * R
28-
]
29-
ODESystem(eqs, t, [v], [R], systems=[p, n], defaults=Dict(R => val), name=name)
30-
end
31-
32-
function Capacitor(; name, C = 1.0)
33-
val = C
34-
@named p = Pin()
35-
@named n = Pin()
36-
@variables v(t)
37-
@parameters C
38-
D = Differential(t)
39-
eqs = [
40-
v ~ p.v - n.v
41-
0 ~ p.i + n.i
42-
D(v) ~ p.i / C
43-
]
44-
ODESystem(eqs, t, [v], [C], systems=[p, n], defaults=Dict(C => val), name=name)
45-
end
46-
47-
function ConstantVoltage(;name, V = 1.0)
48-
val = V
49-
@named p = Pin()
50-
@named n = Pin()
51-
@parameters V
52-
eqs = [
53-
V ~ p.v - n.v
54-
0 ~ p.i + n.i
55-
]
56-
ODESystem(eqs, t, [], [V], systems=[p, n], defaults=Dict(V => val), name=name)
57-
end
58-
59-
R = 1.0
60-
C = 1.0
61-
V = 1.0
62-
@named resistor = Resistor(R=R)
63-
@named capacitor = Capacitor(C=C)
64-
@named source = ConstantVoltage(V=V)
65-
@named ground = Ground()
66-
67-
function connect_pins(ps...)
68-
eqs = [
69-
0 ~ sum(p->p.i, ps) # KCL
70-
]
71-
# KVL
72-
for i in 1:length(ps)-1
73-
push!(eqs, ps[i].v ~ ps[i+1].v)
74-
end
75-
76-
return eqs
77-
end
78-
79-
rc_eqs = [
80-
connect_pins(source.p, resistor.p)
81-
connect_pins(resistor.n, capacitor.p)
82-
connect_pins(capacitor.n, source.n, ground.g)
83-
]
84-
85-
@named rc_model = ODESystem(rc_eqs, t,
86-
systems=[resistor, capacitor, source, ground])
4+
include("components.jl")
875

886
open("rc_tree.txt", "w") do io
897
print_tree(io, rc_model)

0 commit comments

Comments
 (0)