Having worked in the field of product design and development for over 5 years and successfully publishing in peer-reviewed journals, my experience qualifies me to answer one of the burning questions of 21st century among engineering students and young professionals:
Which is better, ANSYS or Abaqus?
Which is better, SolidWorks or Creo?
Which is better, XFlow or ANSYS?
Basically, which software is the best in the categories of FEA, CFD and CAD/CAM?
I have read these questions on several engineering forums and social media platforms. I would like to take this opportunity to provide a detailed answer to this question and all related/similar questions about engineering software?
For people who don’t know what FEA/CFD/CAD/CAM are
FEA is an acronym which stands for Finite Element Analysis, similar terms include Finite Element Method (FEM) and Finite Element Modelling (FEM). FEA is an analysis technique which is used to study structural properties such as stress and strain. It is used to determine whether a defined structure with a defined material can withstand a specific load or not? There is another form of FEA called XFEM, which stands for Extended Finite Element Method. XFEM is mainly used to study the fracture mechanics of certain structures and materials i.e. crack propagation. There are numerous other applications of FEA and XFEM but I have only mentioned a few to save time.
CFD is an acronym for Computational Fluid Dynamics and this is used to study the flows, either gas or liquid, and their interactions with other environments. Examples of CFD may include airflow over a wing of an aircraft, flow in a cyclone separator, flow in pipes, etc.
CAD is an acronym for Computer Aided Design and this is used to produce three-dimensional computer models of almost anything you can imagine. Most famous software packages of CAD are SolidWorks, Pro/Engineer (now called Creo) and Inventor.
CAM is an acronym for Computer Aided Manufacturing and this is used to simulate manufacturing techniques and tools to streamline machining processes, assist CNC machining and more.
There are several major providers for all these engineering categories such as Dassault Systemes, Altair Engineering, Siemens PLM Software, COMSOL, Autodesk, CD-adapco, ESI, Exa, AspenTech, MSC Software, Ansys and many more. These many developers with dozens of software package options each have given rise to the subject question.
Is there a software that is, hands down, the best?
No, there is not. If somebody tells you there is, well either they are trying to sell you on the idea or they personally prefer that one over the others (personal preference). However, there is no real fact behind the preference.
Why are there so many developers of engineering software?
If you are good in mathematics and coding with solid knowledge and understanding of engineering principles, you can make your own software package. However, few issues which hinders users of these software to code their own engineering software are:
- Time to write 10,000+ lines of code and results validation
- Once finish, more time to bug fix those 10,000+ lines of code
- Update and add to 10,000+ lines of code when science and/or technology advances
On the other hand, if you are working on a single problem and you have sufficient time in your hands, you can code a small software with limited functionality. There are various books which embodies this method such as FEA using JAVA, FEA using MATLAB, FEA using Python, etc.
Having said all that, engineering software development is a lucrative business model for the following reasons:
- They can charge very high prices for software licenses and subscriptions, there is no real limit to this.
- The software has been created countless times in the past, which means new businesses can learn from their mistakes and introduce significant improvements in their software.
- The business can target a very specific problem or industry to become a leader in that field.
- The need of engineering software is ever-growing and there is no potential decline in demand.
So, which software is the best?
First, we need to talk about the question. ‘which is the best?’ is not the correct question. I believe the question should be:
Which software is the most suitable for you/for your problem?
Why? The reasons for re-phrasing the question are:
- Identify what are you trying to achieve such as 3D model? 2D sketch? Linear Static Analysis? Nonlinear Dynamic Analysis? Large Eddy Simulation (LES)? Direct Numerical Simulation (DNS)?
- Identify the method you want to use to define your problem i.e. are you going to code? Are you going to use graphical user interface (GUI)?
- Identify meshing requirements such as you want in-built capability of generating mesh or do you want to use a third-party software to create your mesh i.e. Pointwise?
Why point 1? The reason you should identify your aims and objectives is because not all software support for example nonlinear analyses. Every software has limitations.
Why point 2? The reason you should know beforehand either you will code or use GUI because not every software has GUI and some software that supports coding/scripts may have limitations of their own.
Why point 3? The reason you should identify your meshing requirements is because if your nominated software doesn’t support meshing, you will need to spend a few more grands to get the license for third-party meshing software like Pointwise.
Secondly, you need to understand that all software are good at what they do because in the background they all are using the same mathematical equations. However, you need to be aware of their limitations because a specific limitation may be the deal breaker for you.
For aspiring engineers and young professionals
As aspiring engineers and young professionals, you are worried about your first job/next job and you want to prepare yourself with the necessary skills beforehand and I think it’s a wonderful idea. So, here are some tips for you:
- All engineering software have overlapping terminologies, functions, features and operation. This means, no matter which software you use, your skills are transferable from one software to the other in the same field.
- It’s a good idea to research what is used in and around the country you are intending to work and live in i.e. Creo (formerly Pro/Engineer) and Mathcad are very dominant in North America, whereas SolidWorks, CATIA, ANSYS and MATLAB are dominant in Europe, and Autodesk Inventor, AutoCAD, SolidWorks and SIMULINK are dominant in the Pacific region. These examples are based on my personal experience and interaction, it’s not a fact.
- In the west, all training is provided or at least the time is provided to self-learn in all large companies.
- If you are unsure about engineering software and you are a complete beginner and need a starting point, then I recommend the following:
- CAD: SolidWorks or Creo (formerly Pro/Engineer)
- 2D Sketch/Drawing: AutoCAD or DraftSight
- FEA: Abaqus or ANSYS Multiphysics
- CFD: ANSYS
This post will help engineering students and young engineers to take the right decisions while focusing on what’s important.