Open Source Alternatives to Simulink: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
<ul class="q-box"> | <ul class="q-box"> | ||
<li class="q-relative">Modelica language is the most viable alternative and in my opinion, it is also a superior option to MathWorks Simulink. There are open-source implementations <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.openmodelica.org" href="https://www.openmodelica.org/" target="_blank" rel="noopener nofollow">OpenModelica</a> and <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.jmodelica.org" href="http://www.jmodelica.org/" target="_blank" rel="noopener nofollow">JModelica</a>. One of the main advantages of Modelica is that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with JModelica you can use Python to model everything. For more information about JModelica see <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.reddit.com" href="https://www.reddit.com/r/Python/comments/dcj6fy/jmodelica_combining_the_power_of_python_and/?utm_source=share&utm_medium=web2x" target="_blank" rel="noopener nofollow">this Reddit post</a>. There is a <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="discordapp.com" href="https://discordapp.com/invite/bp2yeYU" target="_blank" rel="noopener nofollow">Discord server for Modelica Language</a> and its many implementations, where you can ask questions and discuss Modelica-related issues.</li> | <li class="q-relative">Modelica language is the most viable alternative and in my opinion, it is also a superior option to MathWorks Simulink. There are open-source implementations <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.openmodelica.org" href="https://www.openmodelica.org/" target="_blank" rel="noopener nofollow">OpenModelica</a> and <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.jmodelica.org" href="http://www.jmodelica.org/" target="_blank" rel="noopener nofollow">JModelica</a>. One of the main advantages of Modelica is that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with JModelica you can use Python to model everything. For more information about JModelica see <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.reddit.com" href="https://www.reddit.com/r/Python/comments/dcj6fy/jmodelica_combining_the_power_of_python_and/?utm_source=share&utm_medium=web2x" target="_blank" rel="noopener nofollow">this Reddit post</a>. There is a <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="discordapp.com" href="https://discordapp.com/invite/bp2yeYU" target="_blank" rel="noopener nofollow">Discord server for Modelica Language</a> and its many implementations, where you can ask questions and discuss Modelica-related issues.</li> | ||
</ul></html> | </ul> | ||
<ul class="q-box"> | |||
<li class="q-relative">If you prefer a similar environment as SIMULINK, xcos which comes with Scilab, or its older sister scicos which comes packed with Scicoslab might be very helpful. There are also the simport, Simelica-AdvancedBlocks, and Coselica tools which can translate SIMULINK into scicos / Modelica models. Nelson is also a fork of Scilab which is working on a block-diagram environment (<a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="twitter.com" href="https://twitter.com/Nelson_software/status/1178337671023878144?s=20" target="_blank" rel="noopener nofollow">here</a>). More info about Scilab history and its very forks <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.reddit.com" href="https://www.reddit.com/r/math/comments/b6gn9r/nsp_is_a_gpl_scientific_software_package/" target="_blank" rel="noopener nofollow">here</a>. There are Discord channels for <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="discord.gg" href="https://discord.gg/XCAxqUQ" target="_blank" rel="noopener nofollow">#scilab</a> and <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="discord.gg" href="https://discord.gg/KeG3rdQ" target="_blank" rel="noopener nofollow">#xcod</a>. <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="youtu.be" href="https://youtu.be/Xtfg7EA9m5s" target="_blank" rel="noopener nofollow">Here</a> is a nice introduction video by scicos creator <a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline b2c1r2a puppeteer_test_link" title="www.linkedin.com" href="https://www.linkedin.com/in/ramine-nikoukhah-67b65521/" target="_blank" rel="noopener nofollow">Ramine Nikoukhah</a>.</li> | |||
</ul> | |||
</html> | |||
Revision as of 03:59, 6 June 2025
From [1] - archiving here.
Simulink is a visual programming environment, especially for time transient simulations and ordinary differential equations. Depending on what you need there are plenty of Free, Libre and Open Source Software (FLOSS) available:
- Modelica language is the most viable alternative and in my opinion, it is also a superior option to MathWorks Simulink. There are open-source implementations OpenModelica and JModelica. One of the main advantages of Modelica is that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with JModelica you can use Python to model everything. For more information about JModelica see this Reddit post. There is a Discord server for Modelica Language and its many implementations, where you can ask questions and discuss Modelica-related issues.
- If you prefer a similar environment as SIMULINK, xcos which comes with Scilab, or its older sister scicos which comes packed with Scicoslab might be very helpful. There are also the simport, Simelica-AdvancedBlocks, and Coselica tools which can translate SIMULINK into scicos / Modelica models. Nelson is also a fork of Scilab which is working on a block-diagram environment (here). More info about Scilab history and its very forks here. There are Discord channels for #scilab and #xcod. Here is a nice introduction video by scicos creator Ramine Nikoukhah.
Images
Former PhD Candidate at University of Twente (2016–2020)Updated 3y
Simulink is a visual programming environment, especially for time transient simulations and ordinary differential equations. Depending on what you need there are plenty of Free, Libre and Open Source Software (FLOSS) available:
- Modelica language is the most viable alternative and in my opinion, it is also a superior option to MathWorks Simulink. There are open-source implementations OpenModelica and JModelica. One of the main advantages of Modelica is that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with JModelica you can use Python to model everything. For more information about JModelica see this Reddit post. There is a Discord server for Modelica Language and its many implementations, where you can ask questions and discuss Modelica-related issues.
- If you prefer a similar environment as SIMULINK, xcos which comes with Scilab, or its older sister scicos which comes packed with Scicoslab might be very helpful. There are also the simport, Simelica-AdvancedBlocks, and Coselica tools which can translate SIMULINK into scicos / Modelica models. Nelson is also a fork of Scilab which is working on a block-diagram environment (here). More info about Scilab history and its very forks here. There are Discord channels for #scilab and #xcod. Here is a nice introduction video by scicos creator Ramine Nikoukhah.
- There is also the Kepler project which is a less known but very interesting alternative.
- If you want to simulate electrical systems then I would suggest taking a look at SimulIDE, KTechLab, QUCS/QUCS-S… More I have listed here. Check the SimulIDE Discord channel here.
- I see some people have suggested LabVIEW as an alternative to SIMULINK, which IMHO is comparing apples and oranges. LabVIEW is a completely different beast and a great FLOSS alternative to it is MyOpenLab. You may use MyOpenLab for creating GUIs to communicate with Raspberry Pi and Arduino. I have explained more here. There is also a Discord server for MyOpenLab where you can ask questions or discuss different topics.
Comments
20-sim is a great alternative package with a complete toolset for multi-domain dynamic systems.
Sorry but I think 20-sim is a failed project. As far as I know they started along with Modelica team but then sided to make their product closed source. Their total user community is their own employees and a couple of poor master students who are forced to use it. They could change this by changing…
(more)
View 4 other answers to this question
About the Author
Lead Mechanical Engineer2020–present
M.Sc. from Amirkabir University of Technology
143.9K content views697 this month
Active in 1 Space
Knows Persian
Joined November 2013