Open Source Alternatives to Simulink: Difference between revisions

From Open Source Ecology
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&nbsp;<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>&nbsp;and&nbsp;<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&nbsp;<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&amp;utm_medium=web2x" target="_blank" rel="noopener nofollow">this Reddit post</a>. There is a&nbsp;<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>&nbsp;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&nbsp;<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>&nbsp;and&nbsp;<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&nbsp;<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&amp;utm_medium=web2x" target="_blank" rel="noopener nofollow">this Reddit post</a>. There is a&nbsp;<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>&nbsp;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&nbsp;<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&nbsp;<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>&nbsp;and&nbsp;<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>.&nbsp;<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>&nbsp;is a nice introduction video by scicos creator&nbsp;<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 #xcodHere 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 #xcodHere 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.
  • For fluidic and mechatronic simulations also take a look at Hopsan and its 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.
16.2K views
View 21 upvotes
View 1 share
1 of 4 answers



Profile photo for Marcin Jakubowski




Comments

Wow. Thanks alot for your complete explanation


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