# ModelingToolkit.jl / Multibody.jl with interpolated joint properties

**URL:** <https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754>\
**Category:** Modelling & Simulations\
**Tags:** modelingtoolkit\
**Created:** [November 8, 2025, 9:15pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754 "2025-11-08T21:15:13Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jskacines](https://avatars.discourse-cdn.com/v4/letter/j/34f0e0/32.png) [@Jskacines](https://discourse.julialang.org/u/Jskacines)\
**Post date:** [November 8, 2025, 9:15pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/1 "2025-11-08T21:15:13Z")

</div>

Hello Julia community,

I am working on a multibody dynamics simulation, and was looking to use ModelingToolkit.jl along with Multibody.jl

The specific problem I am working on involves an externally solved mapping of joint variables to spatial coordinates via interpolation. My question is, does Multibody.jl or another library (preferably compatible with ModelingToolkit.jl) support an external definition for a joint’s behavior? From what I gathered it seems that Multibody.jl does not support this, but I am not too familiar with the package.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 9, 2025, 2:49am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/2 "2025-11-09T02:49:17Z")

</div>

Upon reviewing the open issues, this package appears to be poorly maintained.

There is also [Getting Started · Modia3D](https://modiasim.github.io/Modia3D.jl/stable/tutorial/GettingStarted.html); however, it does not utilize ModelingToolkit and is also poorly maintained.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [November 9, 2025, 5:36am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/3 "2025-11-09T05:36:09Z")

</div>

Multibody.jl is [ongoing a very large refactoring](https://github.com/JuliaComputing/Multibody.jl/compare/main...no_mtkmodel) to make use of the MTK compiler rather than the previous JuliaSimCompiler. Until this refactoring is done, the package is not officially working.

It sounds like the functionality you are looking for is [“prescribed motion”](https://help.juliahub.com/multibody/dev/examples/prescribed_pose/)?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 9, 2025, 8:07am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/4 "2025-11-09T08:07:23Z")

</div>

> [@baggepinnen](#):
>
> MTK compiler

Is the MTK compiler already released? Where is it documented? What are the main differences compared to JuliaSimCompiler?

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [November 9, 2025, 8:23am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/5 "2025-11-09T08:23:32Z")

</div>

The MTK compiler is what you are, and always have been, using if you’re using MTK normally, it’s invoked with `mtkcompile`. Multibody.jl used to use a different compiler.

---

<div class="post-metadata">

**Author:** ![anguille](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@anguille](https://discourse.julialang.org/u/anguille)\
**Post date:** [November 9, 2025, 9:13am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/6 "2025-11-09T09:13:52Z")

</div>

Any way I (or others 🙂 ) could help with this refactoring?

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [November 9, 2025, 11:25am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/7 "2025-11-09T11:25:08Z")

</div>

The refactoring is mostly complete, it’s waiting to improvements to the MTK compiler that are work in progress.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 9, 2025, 12:04pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/8 "2025-11-09T12:04:50Z")

</div>

> [@baggepinnen](#):
>
> it’s invoked with `mtkcompile`

I never used mtkcompile. I think that was introduced with MTK 10.x, I am still using MTK 9.x.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [November 9, 2025, 1:24pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/9 "2025-11-09T13:24:14Z")

</div>

So you call `structural_simplify` instead. It’s the same function, it has only been renamed.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [July 3, 2026, 12:18pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/10 "2026-07-03T12:18:31Z")

</div>

The package has been rereleased with a new name, now implemented in dyad, [docs here](https://help.juliahub.com/dyad/dev/stdlib/MultibodyComponents/home.html)

---

<div class="post-metadata">

**Author:** ![Bart\_van\_de\_Lint](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bart_van_de_lint/32/212161_2.png) [@Bart\_van\_de\_Lint](https://discourse.julialang.org/u/Bart_van_de_Lint)\
**Post date:** [July 8, 2026, 12:52pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/11 "2026-07-08T12:52:53Z")

</div>

The link in the docs does not work: [github.com/JuliaComputing/MultibodyComponents.jl](http://github.com/JuliaComputing/MultibodyComponents.jl)  
Is the repo public somewhere?

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [July 8, 2026, 2:52pm UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-multibody-jl-with-interpolated-joint-properties/133754/12 "2026-07-08T14:52:43Z")

</div>

The repo is not available, but it has been released in DyadRegistry with a BSD3 license, so if you install it you get the source locally
