Skip to content

observed function broken on latest #3183

@baggepinnen

Description

@baggepinnen

This exampel works on ModelingToolkit v9.46.1 but fails on latest

using ModelingToolkit
using ModelingToolkitStandardLibrary: Blocks, Mechanical.Rotational

@mtkmodel ControlledMSD begin
    @parameters begin
        J = 1.0
        c = 100
        d = 0.1
    end
    @components begin
        inertia1 = Rotational.Inertia(; J, phi=0, w=0)
        inertia2 = Rotational.Inertia(; J, phi=0, w=0)
        spring = Rotational.Spring(; c)
        damper = Rotational.Damper(; d)
        input = Rotational.Torque()
    end
    @equations begin
        connect(input.flange, inertia1.flange_a)
        connect(inertia1.flange_b, spring.flange_a, damper.flange_a)
        connect(spring.flange_b, damper.flange_b, inertia2.flange_a)
    end
end

@named model = ControlledMSD()
model = complete(model)
inputs = [model.input.tau.u]
outputs = [model.inertia1.phi]
(f_oop, f_ip), x_sym, p_sym, io_sys = ModelingToolkit.generate_control_function(model, inputs, split=false)
y_fun = ModelingToolkit.build_explicit_observed_function(io_sys, outputs)

_, p = ModelingToolkit.get_u0_p(io_sys, [model.input.tau.u => 0], [])
y_fun(zeros(4), p, t)

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions