I recently scaled my dynamic model based on an open source FEM solver, to run a mesh containing nearly 34 million cells successfully on 800 cores. I have very limited experience using commercial software like ABAQUS, ANSYS, FLAC, PLAXIS, etc. So, I was wondering if this can also be easily achieved using such commercial software? In a nutshell, I want to know if scaling your model to run for large scale problems is easy in commercial software as well. The idea is to highlight the advantages of open source over commercial software.

Thanks for sharing your thoughts and experience.

  • $\begingroup$ What is the number of degrees of freedom that your model has? Is it solved using an explicit or implicit time integration? $\endgroup$
    – nicoguaro
    Nov 22, 2016 at 21:29
  • $\begingroup$ It has nearly 120 million dof, and is solving using implicit time integration. $\endgroup$
    – CRG
    Nov 22, 2016 at 22:01
  • $\begingroup$ That is certainly a large, but not a very large number of DoFs for some of the open source software packages. We solve this size on a more or less daily basis with deal.II. But I don't know about the commercial packages. $\endgroup$ Nov 24, 2016 at 1:36
  • $\begingroup$ I would imagine that memory might be an issue. I have had problems running models with a couple of million DOF with Abaqus using implicit time integration. Yet again, I have never had access to 800 cores. I think that you should try to run a static problem with that size using Abaqus or Ansys to check. $\endgroup$
    – nicoguaro
    Nov 27, 2016 at 21:21
  • $\begingroup$ Commercial solvers are usually better optimized for parallel computations than open source ones. But the $ cost can be significant when you go to a large number of cores. $\endgroup$ Dec 1, 2016 at 3:40

1 Answer 1


If the main idea is to

highlight the advantages of open-source over commercial software in terms of parallel processing

one has to first answer the question of what one wants to achieve from the simulation. Commercial software packages offer more than just solution of PDE/ODE, meshing, etc. They offer support, documentation, convenient graphical interface (not to be underestimated!), material/sample libraries, tutorials on basic simulation needs. So, even if the open-source software is able to model the same physics, its usability depends a lot on the maturity of the field and market expectations.

Now, coming back to parallelization. An average user usually has enough troubles and complications with the simulation itself, and if one adds the requirements of setting up the parallel compiler, libraries with distributed memory support, and tuning parallelization settings – that might be too much. Moreover, if a commercial solver offers parallelization, they usually invested some time into optimizing their code and providing certain ready-out-of-the-box functionality. They also have a luxury of hiring software engineers who are focused on the parallelization, while open-source simulators are usually parallelized by computational scientists who might be good in parallel programming, but it is rarely their major field.

Regarding parallel capabilities of the commercial software. Nowadays, most of the solvers will come with the support of the shared-memory parallelization, basically being able to take advantage of the multicore architecture of modern CPUs. The distributed memory parallelization (say, MPI) requires more drastic changes to the code and software architecture; moreover, special decomposition methods become a must.

The following page from ANSYS website describes the capabilities of their solver to take advantage of multiple nodes and multiple cores for computational electromagnetics.

I would attribute the following advantages of open-source software vs. commercial:

  • providing an ability to simulate basic-complexity models in physics, where support of parallel architectures is lagging by commercial software
  • allow for experimentation with new different models/methods of simulation that are not supported by commercial software, but require parallel computing to be solved in a reasonable time
  • provide a platform for developing new techniques and methods in parallelization itself
  • serve as a reference
  • cost. Usually, commercial software will ask a separate license for every core/node or a special HPC-licence. It will be expensive. Very expensive if you are actually going true exascale HPC.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.