Opennovation News
Engineering Consulting with Open Source Tools
May, 2008

Opennovation is an engineering consulting firm founded by Adam Powell with a focus on using and helping others to use open source software for design and analysis in engineering disciplines such as mechanics, fluid flow, heat transfer, and chemical reactor design.  Opennovation News is a means of bringing you updates on the company and the broader world of open source software for engineering.

Opennovation News is planning approximately one issue per month.  If you would like to receive it via email, please click here or send email to news@opennovation with "subscribe" in the subject.  Contributions and comments are welcome, please send them to


JOM article on Open Source and Materials

The May issue of JOM, the monthly journal of the Minerals, Metals and Materials Society (TMS) features an article by Adam Powell and Raymundo Arroyave entitled “Open Source Software for Materials and Process Modeling”.  This article first defines open source, then gives examples of the use of open source codes in materials simulations.  It then discusses business models for authoring open source software and prospects for future growth in this area.  The editors selected it to be this month's open access article, making it freely available to the world.

Call for Papers: Open Source Tools for Materials Research and Engineering

The 2009 TMS Annual Meeting (February 15-19) will include the symposium “Open Source Tools for Materials Research and Engineering” organized by Adam Powell and Kim Ferris.  Abstracts are due on July 15 and must be submitted via CMS-Plus.  The symposium scope is as follows:

This symposium will discuss new developments in open source software geared particularly toward solving problems in materials science, the balance between open source and proprietary computing forms, and the future issues surrounding higher performance computing trends. Open access to source code has facilitated the exchange of user-developer concepts involving: adding features, fixing problems addressing applicability issues, and even algorithm development. Productivity environments implementing modular computing, common interface standards, and automated software generation have broken bottlenecks presented by large computer codes, and will potentially accelerate the development of new software on advanced architectures (such as multithread/multicore optimization). Papers are welcome on the topics of new or updated open source tools, open source infrastructure code useful for a variety of tasks, or problems whose solution is facilitated by access to source code.

Under the hood: libMesh

Opennovation works with finished standalone programs such as Salomé, with its own software such as Julian, and with short codes using open source libraries.  Such libraries of subroutines, sometimes called “toolkits”, provide a tested platform for writing special-purpose simulation programs in relatively little time and using very few new lines of code.  In the coming months, this newsletter will alternate between "product focus" reviews of standalone codes and "under the hood" reviews of libraries.  The latter reviews serve two purposes: they provide helpful information for interested programmers, and they inform prospective clients of Opennovation's ability to meet specific needs efficiently using these libraries.

libMesh is an extensive library of C++ classes for writing finite element analysis (FEA) programs.  Its primary authors are at the University of Texas at Austin CFDLab (Computational Fluid Dynamics Laboratory) led by Dr. Graham Carey.

Based on its CFD “pedigree”, it should be no surprise that the capabilities of libMesh include fluid flow.  These examples each come with a short code using the library with graphical output, and solve equations such as: the Laplace equation (for diffusion, heat conduction, or electrostatics), convection-diffusion (for transport of heat or chemicals in fluid flow), Navier-Stokes (the nonlinear system of fluid flow equations), and the biharmonic equation (for bending of a stiff plate under load).  The Wiki provides several more examples of libMesh usage.

To solve these equations efficientnly, libMesh can do automatic mesh refinement, such that regions with complex behavior receive a lot of grid points and computational attention, and those which are relatively uniform do not take much work.  For a dynamic simulation, such as phose field simulations shown to the right, this can improve accuracy and reduce computation time considerably.  (This is the research of Roy Stogner, see his paper and presentation slides for details.)

libMesh also uses PETSc (the Portable Extensible Toolkit for Scientific Computation), a state-of-the-art set of parallel solvers for systems of linear and nonlinear equations.  And it links with the (non-open-source) ParMETIS library, which partitions a mesh to distribute the computational work across a cluster of computers, making a large number of PCs act as a single large computer.

Based on these capabilities, Opennovation is using libMesh for next-generation phase field simulations, such as those for electrochemical reactions and polymer phase inversion.  Stay tuned for new open source code postings based on this work in the coming months.

libMesh source code files begin with the library's goal: “The Next Great Finite Element Library”.  Based on its flexibility and performance features, libMesh has what it takes to live up to this goal.  On the other hand, as you will see in future “Under the Hood” installments, it also has a lot of competition...

Update to

An update to the front page of the makes it easier to navigate the site and read about the company.  The new look provides a site index and clearly describes services offered by Opennovation.  The logo is in a more compact form at the top of the page.  That and the use of columns make more of the content visible in the first screen.

In June there will be updates to the pages within the site describing unique Opennovation capabilities, such as electrochemistry and polymer phase inversion modeling.  In addition, there will be a new page describing thermodynamics modeling and services based on it, as the Ternary phase diagram visualization program should reach version 1.0 by the end of the month.

Correction: ATAT is not open source

Francesco Poli has pointed out that the ATAT code mentioned in the April Opennovation News and the JOM article is not GPL as I (Adam Powell) had thought.  Its distribution terms are given in the manual as:

“The files in this distribution cannot be further distributed either in their original or in a modified form without the consent of the author, Axel van de Walle (”

ATAT is a very useful framework for multiscale simulations, and one may download its source code free of charge and modify it for internal use.  Nonetheless, as a non-open-source product, it is no longer on the open source engineering software table.