Modelica

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Nutrient - The #1 PDF SDK Library
Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
nutrient.io
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. OpenModelica

    OpenModelica is an open-source Modelica-based modeling and simulation environment intended for industrial and academic usage.

    Obligatory mention to Openmodelica[1] which is an open source implementation based on the Modelica language. While I haven't used it yet, I was planning on exploring some of the features this holiday.

    [1] https://openmodelica.org/

  2. Nutrient

    Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.

    Nutrient logo
  3. fmi-standard

    Specification of the Functional Mock-up Interface (FMI)

    We use Modelica quite a bit in HVAC industry. In my case (controls engineer), I can request FMUs from systems engineers for optimization work. (Functional Mockup Units[1]: stand-alone binaries representing a dynamical system that can be driven by another application). My background is in Reinforcement learning/Model predictive control/python - so having a physics-driven model written in a domain-specific language which I can embed into my python workflow [2] is convenient.

    I will say, Modelica requires a different perspective from "regular" imperative programming (python/matlab). It is a declarative language: you define equations, variables, constraints for a system, regardless of order. The compiler decides how to run the simulation; which variables to solve first etc.

    While OpenModelica[3] has come a long way towards making an open source implementation of the language standard, proprietary applications (Dymola) still have an edge in the industry.

    [1]: https://fmi-standard.org/

  4. Modia.jl

    Modeling and simulation of multidomain engineering systems

    If you intend to explore OpenModelica you may also like ModelingToolkit.jl:

    https://docs.sciml.ai/ModelingToolkit/dev/

    There is also a project by Hilding Elmqvist, who worked for Dassault on Dymola (the leading commercial implementation of Modelica). His project is Modia.jl:

    https://github.com/ModiaSim/Modia.jl

    I can personally feel the Julia community settling on MTK, but Modia was ahead in the early stages of dynamic system simulation in Julia, and I believe MTK has drawn a lot of inspiration from each Modia and Modelica. Modia is a bit more ergonomic while also being the first to integrating things like 3D viewers and a complete multibody package by years, with Julia Computing only now catching up [1]. MTK has a better support for back-end solvers and holds a lot of promise to leapfrog Modia, especially since the release cadence for Modia seems to have slowed.

    [1] https://github.com/JuliaComputing/Multibody.jl

  5. Multibody.jl

    Model and simulate multibody systems in Julia

    If you intend to explore OpenModelica you may also like ModelingToolkit.jl:

    https://docs.sciml.ai/ModelingToolkit/dev/

    There is also a project by Hilding Elmqvist, who worked for Dassault on Dymola (the leading commercial implementation of Modelica). His project is Modia.jl:

    https://github.com/ModiaSim/Modia.jl

    I can personally feel the Julia community settling on MTK, but Modia was ahead in the early stages of dynamic system simulation in Julia, and I believe MTK has drawn a lot of inspiration from each Modia and Modelica. Modia is a bit more ergonomic while also being the first to integrating things like 3D viewers and a complete multibody package by years, with Julia Computing only now catching up [1]. MTK has a better support for back-end solvers and holds a lot of promise to leapfrog Modia, especially since the release cadence for Modia seems to have slowed.

    [1] https://github.com/JuliaComputing/Multibody.jl

  6. DifferentialEquations.jl

    Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.

    Another up-and-coming solution is Julia's simulation ecosystem [1]. It is powered by the commercial organization behind the Julia programming language, which has received DARPA funding [2] to build out these tools. This ecosystem unifies researchers in numerical methods [3], scalable compute, and domain experts in modeling engineering systems (electrical, mechanical, etc.) I believe this is where simulation is headed.

    [1] https://juliahub.com/products/juliasim

    [2] https://news.ycombinator.com/item?id=26425659

    [3] https://docs.sciml.ai/DiffEqDocs/stable/

  7. FMIExport.jl

    FMIExport.jl is a free-to-use software library for the Julia programming language which allows for the export of FMUs (fmi-standard.org) from any Julia-Code. FMIExport.jl is completely integrated into FMI.jl.

    Modelica is an excellent way to perform these simulations. Exporting a functional mock-up unit (FMU) according to the FMI standard is a first-class capability [1] that is another huge source of value, especially for systems integrators. You are able to have reasonably obfuscated models of your system in untrusted hands, and they get the full benefit of your system model. This is one area where OpenModelica is ahead of competitors including the open-source ModelingToolkit.jl [2] and related library FMIExport.jl [3].

    [1] https://openmodelica.org/doc/OpenModelicaUsersGuide/v1.11.0/...

    [2] https://docs.sciml.ai/ModelingToolkit/stable/

    [3] https://github.com/ThummeTo/FMIExport.jl

  8. ModelingToolkit.jl

    An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations

    JuliaSim looks interesting! From my understanding, it's 100% proprietary/commercial, but built on top of the open source https://github.com/SciML/ModelingToolkit.jl?

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. syslab-deploy

    Deploy your Syslab/Julia applications everywhere (Windows, Linux, macOS, Android, iOS) with Rust/Flutter.

    Also there' s a Chinese company also using Julia and Modelica https://www.tongyuan.cc/release/syslab . They have projects like https://github.com/Suzhou-Tongyuan/syslab-deploy using https://discourse.julialang.org/t/syslabcc-suzhou-tongyuans-... .

  11. marco

    Modelica Advanced Research COmpiler (by marco-compiler)

    That said, we're still in the early stages: language support needs to grow, and for now, there's only a command-line interface. But hey, it's open-source, so contributions, feedback, or feature requests are more than welcome!

    Here’s the GitHub repo: https://github.com/marco-compiler/marco

    And here’s a link to the latest published results: https://ecp.ep.liu.se/index.php/modelica/article/view/909

    Would love to hear your thoughts or ideas!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • “Why I still recommend Julia”

    11 projects | news.ycombinator.com | 25 Jun 2022
  • Why Fortran is easy to learn

    19 projects | news.ycombinator.com | 7 Jan 2022
  • Building a compile-time SIMD optimized smoothing filter

    4 projects | news.ycombinator.com | 28 Sep 2024
  • Std: Clamp generates less efficient assembly than std:min(max,std:max(min,v))

    4 projects | news.ycombinator.com | 16 Jan 2024
  • Good linear algebra libraries

    1 project | /r/Julia | 19 May 2023

Did you know that Julia is
the 47th most popular programming language
based on number of references?