Written by Megan Jenkins on May 23, 2019
March 25th, 2019
approx reading time
At the heart of the SimScale platform, open source software (OSS) is used for all simulation tasks. This has often brought up one question: can open source software be trusted for professional engineering tasks?
The fact is, open source anything has always been a concern for engineers and managers alike. Historically, it has a reputation for being less secure and structured while being free for anyone to use. Yet, amidst the established landscape of CAE (computer-aided engineering) software, where best practice dictates, a private software company is responsible for planning, developing, testing, releasing, selling and supporting the tools used for modeling and calculation, open source software and tools are still used by many.
And, as many of these tools are used for the design of safety-critical systems (airplanes, power plants, life support devices, etc.), this puts a large amount of responsibility on those companies, as well as a significant amount of trust being placed in them by their users.
However, the question still arises: is such a heavy dependency on just a few companies necessarily a bad thing? Taking a look at the current state of CAE tools, we can see that succeeding companies have lived up to the expectations placed upon them with minimal mishaps.
Nowadays, their products are considered the norm by which simulations are measured (with big names such as Ansys, Abaqus, Fluent, NX, Comsol, Matlab, and the like leading the way), and have made an immeasurable contribution to the advancement to the field.
In this article, we will discuss an alternative approach to the established model of CAE tools, which is open source software. These are the kinds of tools at the heart of SimScale. We will explore what they are, the reasoning behind them, and the benefits they bring to the interests of the user.
Software is no more than a set of instructions given to a digital computer to perform a particular task. In our CAE case, those tasks involve applying numerical models, solving equations, and crunching huge amounts of numbers to give them a useful meaning or for plotting them onto the screen. The form that these instructions take is referred to as the “source code”.
The “source code” used to build a commercial software tool is a trade secret, governed by copyright and other special laws. This is to protect the investment and the developer’s ability to compete in the market. Due to this, the code is hidden from the user and any attempt to modify it or make it public is illegal. This guarantees that the tool you use behaves as it is intended by the developer, while disallowing users from auditing it, so that users must trust the provider.
Open source software is a model in which the source code is not hidden, but is instead made freely visible to the user. You can easily monitor and check what it is doing and how it is doing it. Notice that this doesn’t mean you can copy or modify the code—only “see” it. And (although common), not all open source software is free to use without paying license fees.
Moreover, there is a whole range of “openness” in which a software program can be categorized: from “closed source”, “passing through”, “can be seen”, “can be modified”, up to “can be copied”. On the commercial side, there is “cannot be redistributed”, “can be redistributed”, “can be modified and licensed”, and others.
But what is the motivation behind this? There are two main reasons why a software source code can be “opened”: first, to allow public development, and second, for transparency. In the former case, this model has unlocked the advent of tools that are developed by a collaboration of people who are united in the sole purpose of building what they need. In the latter case, companies try to build trust in their product.
As you can imagine, what adds to the complexity of this field is that every piece of software and every company or team behind them are different. Sometimes teams work for no profit, and sometimes companies open their sources but then need to monetize their product to remain viable. It is not rare to find software that is free to use without paying license fees, with the sources opened, but where premium technical support service is offered at a price. In fact, this is the most common case in OSS CAE tools, as we will discuss in our examples.
Download this free case study to learn how the SimScale cloud-based CFD platform was used to investigate a ducting system and optimize its performance.
Software tools are of paramount importance in the modern age of engineering practice. Data analysis, numerical simulation, and data visualization are some examples of what we can currently do with them, and the benefits they bring to our projects are countless. Given its popularity and success, it is no surprise that some of those tools embrace the philosophy of open source software to achieve user loyalty and growth.
So what are the benefits of opening the source code of CAE tools? The first is transparency; you can check that the tool you are using is implementing the equations and algorithms as intended—not taking shortcuts or creating errors. Software tests and validation cases are made public, reported in the literature and online, and can be duplicated at users’ convenience. If you find an error, you can report it to the developers and follow its fixing process—you can even try to fix it yourself.
The second key benefit is the ability to modify or make derived work. Want to make a change to the computing algorithm? Go ahead. Want to implement a slightly different set of equations or a completely new set of your own? You can do it. Want to implement a whole new feature or an entirely new tool without the need to start from scratch? You get the idea. There are no restrictions and endless possibilities.
SimScale uses a mix of open source software to make its integrated web platform work; the majority of which cannot be seen by users. However, in this article, we will focus on the core of the functionality: the numerical simulation and data visualization tools. These are well-recognized projects with widespread usage and adoption in many engineering fields and companies, as well as in universities and research laboratories. They also have interest communities, with Internet forums and even mailing lists.
Developed as an in-house tool in the 1980s by the French government energy department (EDF), Code_Aster’s chief purpose was to fulfill bureaucratic simulation needs. This included simulating thermal, structural and coupled phenomena in the design of components for power generation facilities, including nuclear facilities. It is based on the finite element method (FEM) and includes many pre- and post-processing tools to cover a very wide variety of possible applications.
The open source version was first released in 2001. Since then, it has been updated and maintained by the same development team. The release includes the solver, auxiliary tools to set up and run simulations, and over 2000 test cases. The official documentation with theoretical development, application, usage, and validation cases is also available on their website.
Started development in the 1980s at Imperial College, London, with the aim of providing a base frame to develop simulation tools for continuum mechanics problems modeled with partial differential equations. These include, but are not restricted to, computational fluid dynamics (CFD). The authors later founded a company to manage the development and release of the software. To date, the rights to the software belong to a non-profit organization called the OpenFOAM foundation, and development is done by a company called CFD Direct, which also offers professional services for training, technical support and custom development of tools.
The official suite of tools includes solvers for many types of fluid flow problems, solid mechanics, conjugate heat transfer, electromagnetism, molecular dynamics and more, as well as meshing and other pre-processing and post-processing tasks.
The development started in the year 2000 in a joint effort between Kitware Inc. and Los Alamos National Laboratory. It was funded by the US government with the aim of fulfilling the needs of data analysis and visualization, particularly for very large sets.
A very characteristic feature of this software is the capability of server-side processing of the data and client-side visualization, both of which allow the optimal exploitation of computational resources. This is implemented by the SimScale platform, where all the processing is done in the cloud and the visualization is carried out directly in the web browser.
In this article, we have reviewed the nature of open source software, what the motivations behind it are, as well as some of the benefits and disadvantages. In particular, we have reviewed the main open source CAE tools used by the SimScale platform.
To get started with the SimScale platform, you can watch this webinar recording:
We can see that these are very substantial projects that are often backed by private companies and government institutions, with thriving interest communities built around them. We have also learned that although you can use them without paying a license fee, there is often the opportunity to purchase additional support and technical services.
Ultimately, to build trust and learn to use the tool, you can always implement your own test cases suite and corroborate that the results are what you expect.
If you enjoyed this article, check out the SimScale blog for much more!
Subscribe to the SimScale Blog
Written by Megan Jenkins on May 21, 2019
This computational wind engineering guide covers types of wind analysis, how to improve your designs, and more wind resources...