Open source or Proprietary software

Life could be so easy, we get an application install it and it works out of the box. Then we use it without reading the instructions and the end result is what we wanted. We save and use the work we produced with no compatibility issues and with the quality we envisioned. This is a perfect scenario.

Now a reality check:

  • Comercial packages (proprietary) can do what we wan’t them to do, they can have a easy install too. But there will always be compatibility issues with app A and B or we need to read the manual for something specific. And some other problems will appear in the way almost definitely.
  • But of course things can get even more dirty. Open source software either is super easy to install or super difficult, they can be super static and hard to change or very flexible.

To install these types of software it will depend mostly in what operating system you use and if it already has some binaries that you can double click and install, or if there is a repository with everything you need to have the selected program to work. And here comes the installation roller coster….  No repository for your linux distro, or the specific function isn’t compiled to your version yet, there is no binary file for your OS. These are examples to name a few. When you finally solve all the installation problems, then comes using the app you so passionately managed to install through some nights of hard work. Many open source projects are under active development and the user interface may seem unfinished and difficult to use and understand or although the application works it is cumbersome to use.

Not all is about pain, after the birth and maturation of specific open source softwares comes a stage where you see that everything is as it should have been from the beginning. Good examples are Gimp or Inkscape. You get them practically in any OS and relatively easy to install for most users. Open source software takes it’s time to develop and mature but in no way we can say that it is useless or serves only the need of the home user to play around with.

Many open source project when they reach maturity off good quality are very usable, being open source may not mean the software is free for comercial purposes so special careful should be taking when using for comercial purposes.

There is no good and bad but often open source software give me insight to what communities are building but require hands on effort to make everything work.  Commercial software are traditionally easier to use and well documented or no one will buy it and if they do buy it and it doesn’t work we complain about it.

Commercial companies like Ansys are starting to have entry level products for the starter companies to try and compete with competing software adoption. Until now I haven seen much competition from the open source communities since every one was happy in their niche, developing a solver, or a mesher but no or very bad integration. This fragmation and the lack of focus and mature hindered adoption.

A positive evolution from FreeCad that aggregates at least to projects Calculix and Netgen to create an integrated simulation environment as I described on a previous post.

A integrated approach will gain adoption and with it new users that will push interest in development and will motive community effort from individuals, universities, and others…

An also positive shift in FEM integration is CAD evolution from the traditional sketch/feature driven modelling to direct modelling. This is important since it breaks a big barrier in geometry design increasing adoption. (Google summer code project direct modelling for FreeCad)

Not all is just about freecad. A good project needs a good rival and my focus on the next weeks is in presenting you Salome.

Salome 2016
Salome 2016

Fracture Mechanics

I had an interesting problem to solve last week. It was concerning fatigue failure. A simple element after sucessive stress solicitations breaks apart (nothing new). It starts with a small scratch/crack and after a few million cycles and voilá the part breaks.

I initially made the traditional fatigue analysis but discovered that it is possible to go one step ahead! Using crack analysis directly in my model. Well I know this is around since at least 2014 so says Ansys.

My traditional approach involved a two way analysis where I calculated my maximum stresses for a dynamic input load measured through lab tests. After this I used standard fatigue analysis techniques to calculate the fatigue strenght. To do this I also required a wohler curve.

An alternative way is to include the crack into the finite element model and calculate what happens after a few cycles. Some software packages allow this type of calculation making our lives simpler.

I will go more indeph on fracture mechanics and fatigue in the future but for now I just want to give some good references to get started fast in this subject.

A good example of what to do, to give you a guide for your first steps on fracture mechanics can be seen in the following link.

A good example of a fatigue fracture can be seen in the Wikipedia

Who is out there consulting

I was searching the web for CAE serviçes companies and made a listing of the top ranking companies in this field. I still think I am missing a few specific areas that are not in the typical mechanical engineering field. Please feal free to recomend more to my list, will add them gratefully.

• CadFem (
• Enterfea (
• Simuleon (
• PADT (
• FS Dynamics (
• CAE (
• CAELynx (
• Optimal (
• CAE Automotive GMbH (
• Dynamore (
• CAE SIM SOL ( *Bio
• BETA simulation Solutions ( *Bio
• AMET ( *Bio

The list is still incomplete…

Ansys extensions

Every now and then I look for new extensions that Ansys can support. Some time ago this software package allowed for third party extension development but there weren’t many to choose. Since then things have evolved a great deal. Browsing through the internet I discovered that CADFEM has been working hard on this subject and offers a few extensions as its products. They are not all purpose extensions and have a very specific purpose in some cases like moulding specific calculations. Aside from these which I showed Ansys site offers quite a big set of plugins also, some free others paid.

Ansys Environment

The workbench environment allows for great flexibility in regards to choosing the physics we intend to use and offers an easy way to link another physics analysis that picks up on the previous model and results. Like mentioned on my previous post this is a great package but I always feel when I use it that the model isn’t mine, and it generates a complex binary file that when  corrupted, there is nothing I can do to restore it. Also I always get disappointed that I cannot share my settings with other users, like I can do with other simulation packages to get support. There are workarounds but they don’t feel natural.

For an Idea of how the environment is (look at the left to see the physics and if you drag the title from left to right a physics box appears):

Ansys Workbench Environment
Ansys Workbench Environment

When we insert the correct model input the question marks are replaced with a green check mark.

Ansys Model Box
Ansys Model Box

The environment is very visual, however the resulting file is a weird binary file.

An alternative is the classic environment which has a bit of prehistoric GUI but has the full potential of the Ansys Solver. Many are familiar with these black windows and command based applications. Basically with a few commands and a bit of experience one can do almost 🙂 anything. There are a toon of tutorials and guides out there on how to use this comprehensive simulation package.

Ansys ClassicI nterface
Ansys Classic Interface

The Ansys simulation package – My remarks

The Ansys simulation package is around for many years, I remember it from my university years, back then there was only what today is Ansys APDL. I have a love and hate relationship with this package. I love the APDL configurability, where we can adjust just about everything and adapt to what ever needs we have. We own our simulation since we have a text base version of all the commands executed to perform the simulation and when something changes in a new version of Ansys we can debug the code and adapt. My hate relation with this software is in the user interface where on purpose it was not updated anymore. This means that it is harder to handle the geometry, nodes and meshes, well it takes a little longer to like it at least.

The newer Ansys Workbench environment makes everything too easy in a way that we don’t actually get to know what we are doing. When you define a mesh basically we get by default a tetrahedron mesh however no information regarding nodes and formulation is evident, one would have to search for the information and how to override. Some will like it others will hate it but it’s not direct this information. However workbench provides in my opinion best in class for simplicity meshing utility, it makes mesh generation something very easy. There are limitation when we really need special shapes but overall very easy. My hate relationship with workbench is that I feel I don’t really own my model and am stuck to a binary file that sometimes gets corrupted. If I wan’t to share what I did to generate a model it is very difficult to do it, the only way is to generate a web archive binary file or a mechfile. One of the best features workbench offers is the connection to CAD. Many times I change my CAD file and update it without losing any configuration definition, and when something is lost I can easily fix it.

There are a few tricks that can be used to connect a workbench model to Ansys APDL. Basically we start with workbench and setup everything. Afterwards we transfer the model to APDL and continue from there.

Ansys offers a very complete package for simulation, could be more open to a text base model definition like Ansys APDL or LS-DYNA to get even better.