When we realise the huge investment required to use a commercial FEA software package, we all naturally think about using Open-source FEA software to solve the same problems for free… but is it so easy?
What is an Open-source FEA software by the way? How does it work?
That’s the question I’ll try to answer in this video and article.
What is the difference between a commercial FEA software package and an Open-source FEA software package?
Well, first… A software developed by a private company belongs to that company
Which means that they can do whatever they want with it.
It’s up to the company to choose what kind of problems it will solve, what kind of capabilities it will have and how the software will actually evolve.
The problem in private companies is that resources are limited to the developers hired by the company. So private companies need a lot of qualified developers and they need to invest capital into the development of their software.
If the company earns money and grow, a part of it will be reinvested into the software and it will improve…
But if the company doesn’t succeed in commercialising its software and can’t make it profitable, well… it might as well end up as a dead project…
(Sad to say, I know… but true… how many good software from the past have disappeared or have been purchased by bigger companies to be turned into the shadow of what they were??)
Now, Open-source FEA software are somewhat different…
The philosophy of an open source software is that it is developed by a community of engineers who have all a common interest into providing more advanced tools and developing together the current tools available.
It is something especially required in very complex topics such as finite element analysis because it requires an enormous amount of scientific knowledge…
Uniting together to create a common library of knowledge is much more powerful than trying to develop all the functions on our own…
Just think about wikipedia, which is also an Open-source based platform.
Everyone can contribute to improve the articles on Wikipedia and it becomes better and better every day!
It’s the same with Open-source FEA codes… they have been developed around a common basis of knowledge and remain open to new improvements by the community.
(Open-source software also have a license, so how you use them has still to comply with it…I’ll talk about that in the next article)
What are the advantages of using an Open-source FEA code?
Well, the first one (which is obvious) is that it is available in open access to everyone… for free.
The second huge advantage is that it runs natively on a linux machine and uses as many cores as you want to calculate very complex problems that require a lot of computational power.
Adding the experience of many of the most brilliant engineers to build the ultimate engineering tool is tempting…
So, why isn’t everyone just using Open-source FEA software if it is so powerful and free?
Open-source FEA Software are powerful, yes…
Also they are free to use, yes…
But they aren’t easy to use… far from that.
Especially if you find already that a software product like Ansys is complex, Open-source FEA is probably not for you…
This is probably the main advantage of a commercial FEA software package.
It is made to be usable almost “out-of-the-box” (well, in theory…)
Private companies put a lot of money into delivering FEA software products with a good graphical interface and a lot of automation tools that simplify the process.
(There are good aspects and bad aspects to that as well, of course. Read this article about Automation if that interests you)
Now, the question you are probably asking yourself is…
Why are Open-source FEA codes so difficult to use?
Like the name implies, the source code is open, so that’s almost exactly what you get ;-)
A lot of source code files…
What I mean by that is that you will need to do a major work to make it work by compiling all the files together
And without a background in C++, FORTRAN, Python and a good background in linux this task is almost impossible
(Notwithstanding the fact you should also be very good in FEA theory itself…)
Note: Some Open-source software DO come with an executable too… so you will have to search first if that executable exists ;-)
What is a source code and where does it actually come from?
Let’s come back to the very basics… what is a software?
A software is just some kind of tool that help you to calculate something efficiently using algorithms
Those algorithms are generally written in a low level programming language such as C++ or FORTRAN
(FORTRAN is more a language of the past, but still used a lot in the engineering community)
A low level language is a language that need to be compiled to a binary format to be read by the computer
This is done using a compiler such as GCC, GNU (or many others)
Then and only then can it be executed and provide some results.
Higher level programming languages such as python don’t need to be compiled and can be read directly line by line by an interpreter program, that’s the advantage, but they are much slower in terms of computational speed.
Low level language such as C++ or FORTRAN are used in software because they execute much faster than high level language … and this is crucial in applications such as FEA which have to run projects with thousands of lines of code
… Back to open source software
What you often get when you download an open source software is a bunch of C++ files that you need to compile yourself ;-)
So… you get the source code, and it’s up to you to transform it into a software which can perform the function you want
Try yourself if you have time, this is a very educational experience ;-)
An example of structural open source FEA code: Code Aster
Code Aster is an open source FEA code developed by EDF since 1989. It is under license GNU GPL since 2001. The core of the software is in FORTRAN while the modules are coded in Python language.
Code_Aster Website: http://www.code-aster.org/
In the next posts, I’ll explain how to install code aster and use it for you FEA projects
Let me know in the comments if I should continue to write about this topic…