a lot of mechanical engineers are wondering if Linux is good to use or not?
In this post, we’re going to list the 8 important facts about using Linux as mechanical engineering.
Linux is great in automation for mechanical engineering
Linux is considered a great tool to automate tasks as a mechanical engineer either for students or workers in this field. To clarify we will mention 3 sectors where Linux creates a difference.
Using a C and C++ as a principal language for mechanical engineers
mechanical engineers today need to learn programming and the principal language they should learn is C and C++ because this language is implemented in CAD and CAM software.
In other words, software engineers use interfaces in C++, so programming C in Linux is very effective than any operating system.
More than 50% of programmers today are using Linux because it is more stable, fast, and secure. So if you are a mechanical engineer or a student and want to learn C or C++ is better to use or learn them in Linux.
for instance, the famous open-source CAD software that a lot of mechanical engineers use is Open SCAD you could watch more about it in this video below.
As you can see on the side, the code that is written is C++, this engineer uses C++ as an oriented object programming to create different shapes and edit them as he wants. As a result, it gives more flexibility and freedom in the work.
Analyzing graphs and informations results of mechanical products tests
The second thing in automation that Linux plays an interesting part in it, is using open source graphical softwares, mechanical engineers need them a lot because they make a lot of tests.
We will list the 3 important tests that require graphical software devices where Linux can be helpful:
- shock testing
- Tensile testing
- Fatigue testing
- flexibility testing
These tests are important and effective by using some Linux graphics plotting apps, but the beautiful thing is these apps are open source. So you can edit and add your personal features to them depending on what you need to form the experience.
This is not possible in windows, a mechanical engineer is limited and can’t edit or add some extension to help him for mechanical products tests.
for instance, it is extremely useful when running shock and vibration tests because this allows controlling any aspect of the test rather than visual control.
writing powefuls scripts to automate boring tasks
The other great thing about Linux is if you are a mechanical engineer and suffer from ruining a boring and consuming time task. Therefore you can make and program scripts with Linux to automate these tasks.
we’re going to talk in detail about that in the next paragraph.
using shell is usefull
To not dig into details Shell is a Linux tool that works as an intermediate between user and operating system. The most interesting thing that mechanical engineers love about Shell, is speed and flexibility.
A lot of them are using Shell-making scripts to facilitate their jobs. In other words, they can automate the boring daily tasks by writing specific scripts with a shell.
We will give some examples that mechanical engineers do with Shell:
- running Matlab in combination with Shell to analyze data and mathematics graphical graphs
- they automate desktop apps like word and excel to do what their routine tasks
- they can run and organize large and big files fastly with Linux kernel and shell
- facilitate the automation task and access to libraries
- executing commands fast with batch scripts
linux is important mechanical engineers who are interested in embedded systems
Many mechanical engineers are doing some embedded systems applications. To clarify, the field that is responsible for creating and programming hardware products like:
- washing machines
- routers and etc
That is to say, all electronic machines that have electronics programmable boards. In this field, Linux is the first operating system adopted for this industry.
Mechanical engineers can work in some embedded system applications. For instance, you might need to write a Linux script to show the temperature in your panel if you test a resistance temperature of a product.
The second example that you might fall into as a mechanical engineer is to transform data from sensors and edit them to your need. So you will surely need to programs some Linux scripts to facilitate the job.
So having a Linux background will be very helpful and make you skilled from your peers.
you can’t run CAD in linux
The killer drawback that Linux has for mechanical engineers is they can’t use or install CAD in their Linux distros. In other words, you can’t design or work on CAD as a mechanical engineer.
There are other alternatives like running CAD in Linux with a virtual machine, but to be honest they aren’t effective as windows original versions.
People who are working in this field can’t use alternatives because most mechanical engineers are working in companies that principally use CAD.
The only thing that mechanical engineers lovers can do is to install 2 systems:
windows for work or studies (student who are studying mechanical engineering) and Linux for personal development and applications.
There is one Linux CAD version called ” Siemens NX ” which is the only professional CAD app. But it is not popular in the industry or used for students or startups
you can read these related articles
So using Linux puts mechanical engineers in the corner and doesn’t allow them to benefit totally from the freedom that Linux has.
you can do simulation to a SSH to a server cluster
some mechanical engineers use their laptops to connect through SSH to their desktop computers, in order to run some software simulation.
in many universities or companies, they offer Linux servers to users, because Linux is the first operating system adopted for servers and cloud computing.
To simplify more if you have many computers running at the same time you could control them from one computer. As a result, is very important sometimes to make complex mechanical projects or tests that require ruining multiple computers at the same time.
Linux is very important for FEM and CFD in mechanical engienering
For people who are working in difficult and complex mechanics geometry design, the FEM and CFD softwares are mostly written in Linux. For people who don’t know what is FEM and CFD here is a simple explanation:
- FEM or ” finite element method “is a numeral technic that helps to calculate or determine the resistance of a mechanical component before breaking and also a lot of mechanical details.
- CFD or “computational fluid dynamic ” it’s technic to study the fluid behavior in mechanical objects to build suitable designs.
in general, mechanical engineers use theses both technics to study:
- solid mechanics
- fluid mechanics
- heat transfer
Having a good Linux experience will be tough because most researchers and programmers in mechanical engineering are using Linux to develop CFD and FEM applications.
In addition, there are many mechanical engineers who specialize in this phase, doing software programs for CFD and FEM applications.
A lot of mechanical engineers work in robotics companies, and if you want to be one of them you will probably need to learn Linux. Because robotics domain is including 3 principals fields:
- electronic or electrical engineering
- mechanical engineering
- software engineering
most robots today are working with Linux as a principal operating system. Because it is so powerful and useful in this domain. Having a background in Linux makes you more different from other mechanical engineers.
Simply because you will deeply understand what software or electrical engineers will demand from you. At some times you may even use your Linux programming skills to develop robotics for some given applications.
what makes Linux good for a mechanical engineer is the speed and powerfulness of the system. Most of the graphic cards today are optimized for Linux.
It is right that the famous software like CAD engineers use isn’t supported by Linux. But there are still other alternatives like FreeCAD that work well and faster than in a windows operating system.
In addition, Linux is more stabilized and less buggy than windows. To just make an approximation we made a simple speed test from a mechanical engineer laptop that runs 2 operating systems:
and this is what we found.
booting or runing
runing or browsing
more fulent and faster
slower and not fluent
2 min 15 second
so running Linux is more comfortable and this why most mechanical engineers love about.
for students who studying mechanical engineering and asking if learning Linux will be worth it or not the response is yes, even it is not widely used by mechanical engineers. But in some cases, it becomes obligatory as we said in the article.
But as a mechanical engineer who has an interest in programming, you should learn Linux you will not regret that. If you want to see the proof you can read this article.
For some students or people who love to run Linux on their laptop there are some softwares that can replace partially CAD-like:
In addition, what is beautiful about Linux is with just a 2GB key you could run a whole system or distro without lowering your laptop or computers. So it is extremely portable.