-
-
Notifications
You must be signed in to change notification settings - Fork 47
Closed
Description
I am using a minor modification of RC circuit example by have the resistor and capacitor in parallel instead of in series. However this fails with ERROR: MethodError: no method matching oneunit(::Type{Any})
during the ODE setup.
Any idea what is going on?
using ModelingToolkit, OrdinaryDiffEq, Plots
using ModelingToolkitStandardLibrary.Electrical
using ModelingToolkitStandardLibrary.Blocks: Constant
R = 1.0
C = 1.0
V = 1.0
L = 1.0
@variables t
@named resistor = Resistor(R=R)
@named capacitor = Capacitor(C=C)
@named source = Voltage()
@named constant = Constant(k=V)
@named ground = Ground()
rc_eqs = [
connect(constant.output, source.V)
connect(source.p, resistor.p)
connect(source.p, capacitor.p)
connect(resistor.n, ground.g)
connect(capacitor.n, ground.g)
connect(source.n, ground.g)
]
@named rc_model = ODESystem(rc_eqs, t, systems=[resistor, capacitor, constant, source, ground])
sys = structural_simplify(rc_model)
prob = ODAEProblem(sys, Pair[], (0, 10.0))
sol = solve(prob, Tsit5())
plot(sol, vars = [capacitor.v, resistor.i],
title = "RC Circuit Demonstration",
labels = ["Capacitor Voltage" "Resistor Current"])
Metadata
Metadata
Assignees
Labels
No labels