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