@@ -50,30 +50,34 @@ using ModelingToolkitStandardLibrary.Electrical
5050using ModelingToolkitStandardLibrary. Blocks: Constant
5151using ModelingToolkit: t_nounits as t
5252
53- R = 1.0
54- C = 1.0
55- V = 1.0
56- systems = @named begin
57- resistor = Resistor (R = R)
58- capacitor = Capacitor (C = C, v = 0.0 )
59- source = Voltage ()
60- constant = Constant (k = V)
61- ground = Ground ()
53+ @mtkmodel RC begin
54+ @parameters begin
55+ R = 1.0
56+ C = 1.0
57+ V = 1.0
58+ end
59+ @components begin
60+ resistor = Resistor (R = R)
61+ capacitor = Capacitor (C = C, v = 0.0 )
62+ source = Voltage ()
63+ constant = Constant (k = V)
64+ ground = Ground ()
65+ end
66+ @equations begin
67+ connect (constant. output, source. V)
68+ connect (source. p, resistor. p)
69+ connect (resistor. n, capacitor. p)
70+ connect (capacitor. n, source. n, ground. g)
71+ end
6272end
6373
64- rc_eqs = [connect (constant. output, source. V)
65- connect (source. p, resistor. p)
66- connect (resistor. n, capacitor. p)
67- connect (capacitor. n, source. n, ground. g)]
68-
69- @named rc_model = ODESystem (rc_eqs, t; systems)
70- sys = structural_simplify (rc_model)
74+ @mtkbuild sys = RC ()
7175prob = ODEProblem (sys, Pair[], (0 , 10.0 ))
72- sol = solve (prob, Tsit5 ())
73- plot (sol, idxs = [capacitor. v, resistor. i],
76+ sol = solve (prob)
77+
78+ plot (sol, idxs = [sys. capacitor. v, sys. resistor. i],
7479 title = " RC Circuit Demonstration" ,
7580 labels = [" Capacitor Voltage" " Resistor Current" ])
76- savefig (" plot.png" )
7781```
7882
7983![ ] ( https://user-images.githubusercontent.com/1814174/164912983-c3f73628-0e19-4e42-b085-4f62ba6f23d1.png )
0 commit comments