Opennovation News
Engineering Consulting with Open Source Tools
August, 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 news@opennovation.com.

Contents:

Debian 5.0 "Lenny" freeze & backport repository

Debian GNU/Linux has "frozen" the software for its next release, version 5.0 code-named "Lenny", meaning that the only changes allowed at this point are fixes to critical bugs. Debian is a general-purpose Linux distribution (like CAELinux, profiled in the February 2008 Opennovation News), which is a fully-functioning Linux-based operating system and application suite, the Linux equivalent of a Windows install CD but also including substitutes for Office, Photoshop, Illustrator, Quicken, databases, file and web server, and other software.

Debian is the largest such distribution, with over 23,000 software packages in Lenny, and the freeze is an important milestone toward a late-2008 final release. Opennovation's Adam Powell is one of more than a thousand Debian developers who package software for the distribution.

Unfortunately, the 0.6.2 version of libMesh (profiled in the May 2008 Opennovation News) included in Debian Lenny has a major performance problem. The upcoming 0.6.3 libMesh release includes a fix for this problem, but will come too late to include in the Lenny release.

For this reason, Opennovation is planning to host a "backport repository" similar to that for the repository for Ubuntu Linux. This will start with libMesh and include mostly the same packages as the Ubuntu repository, with updates for new packages and new versions of existing packages. Instructions for using it will be at http://www.opennovation.org/debian/.

North Shore Technology Council Breakfast Forums

For those in the Boston area, the North Shore Technology Council is planning a very interesting set of breakfast forums this Fall. Dates, topics and speakers are as follows:

  • Wednesday September 24: The $1000 Genome: Exploring Personalized Medicine. "At this breakfast, Dr. Chad Nusbaum, the co-director of the genome sequencing and analysis program at the world-renowned Broad Institute will explore the history and the motivation behind the quest for the $1000 genome."
  • Wednesday October 22: Sustainable Energy in Massachusetts. Confirmed panelists include: Nolan Browne, managing director of the MIT Fraunhofer Center for Sustainable Energy Systems; Pat Quinlan, Associate Director, Renewable Energy Research Laboratory at University of Massachusetts Amherst; and Brad Bradshaw, President of the Massachusetts Hydrogen Coalition. Adam Powell is a co-producer of this forum.
  • November: unconfirmed, likely Open Source Software.

The Breakfast Forum meetings take place from 7:00-9:00 AM (7:00-8:00 networking, 8:00-9:00 presentation and discussion) at the Peabody Marriott on Centennial Drive.

Under the hood: deal.II

From the website: "deal.II is a C++ program library targeted at the computational solution of partial differential equations using adaptive finite elements." Its primary authors are: Wolfgang Bangerth at Texas A&M University, Ralf Hartmann at the Deutsches Zentrum für Luft- und Raumfahrt (DLR), and Guido Kanschat also at Texas A&M University.

Put more simply, this is a convenient and flexible set of subroutines which one can use to write a program for finite element simulation of mechanical stress and deformation of a solid part, flow and pressure in a fluid, heat transfer, diffusion, electromagnetics, materials microstructure development, and many other physical phenomena. But it cannot be called user-friendly: the user must write a program which calls the deal.II subroutines, or adapt one of its many example programs.

In all of these ways, deal.II is very similar to libMesh. In fact, their feature sets overlap quite a bit. For example:

  • Both include a set of tutorial examples, starting with simple mesh generation and solving simple equations, and building to very complex phenomena such as time-dependent fluid dynamics and mechanical waves. The documentation for these tutorials is very different in nature: the deal.II tutorial documentation is extremely detailed, whereas the libMesh examples are more concise.
  • Both can very easily switch between 1-D, 2-D and 3-D simulations, often without even recompiling a program.
  • Both include subroutines for mesh generation and performing numerical integration to calculate the finite element vectors and matrices.
  • Both use the PETSc suite of parallel linear and nonlinear solvers, and the METIS libraries to divide up a mesh for running on many CPUs (or its open source counterpart SCOTCH). They both also link to NetCDF, Trilinos, VTK and Tecplot.
  • Both can change the mesh to focus computing power at the more complex sections of the problem (the finite element gurus will appreciate that both can use h, p and hp refinement).
  • Also for the gurus: both can solve the biharmonic equation for plate bending or Cahn-Hilliard phase field simulations, using C1 shape functions with square integrable second derivatives.

One of the primary differences between the two suites is in their examples, which reflect the backgrounds and goals of the teams which wrote them. deal.II is oriented toward mechanics, and its tutorial builds to elastic mechanics for computing deformation waves traveling through a solid. libMesh comes from a computational fluid dynamics group, so its most complex examples involve fluid flows which change with time.

To summarize, deal.II is a flexible suite of finite element analysis tools with exhaustive documentation. It has an active community of developers, focused around but by no means limited to the three primary authors. Its examples make it an ideal foundation for building complex simulations of mechanical deformation.

As for whether deal.II or libMesh is better for your needs, that will depend on your application and personal preference for the style of the libraries. Both are easy to install and test using the Opennovation Ubuntu backport repository.

Recent software releases

The past few months have seen major releases from several open source engineering software projects. Some of the highlights include:

  • Salomé-MECA 2008.1 (March 13): This is the newest version of the Salomé integrated pre- and post-processor (profiled in the March 2008 Opennovation News) with an extra set of modules for controlling the Code_Aster finite element program. In other words, one can use it as a complete finite element analysis (FEA) suite, from importing a CAD file, to meshing, to FEA, to visualization of results. Unfortunately, there is no source code available for this release, nor for Salomé 3.2.9 on which it is based.
  • CAELinux 2008 (April 15): This major update to the CAELinux Linux distribution (profiled in the February 2008 Opennovation News) includes a new kernel, the Salomé-MECA 2008.1 release mentioned above, the VisIt parallel visualization tool, and new versions of many other packages linked in the profile.
  • Code_Aster 9.3 (June 11, 2008): This mature finite element program, which one can control using Salomé-MECA, will be the subject of a profile in the next couple of months.
  • FreeCAD 0.7 (August 3, 2008): Though not a mature "1.0" product yet, FreeCAD is one of the most interesting open source computer-aided design (CAD) suites under development today. It is based on Open CASCADE (profiled in the April 2008 Opennovation News). The 0.7 release for the first time includes all of the Open CASCADE primitives and algorithms, and is able to construct its 3-D bottle example. Unfortunately, many of those features are not yet in the graphical interface, so it will be a few more months before it is a full "point and click" CAD suite.
  • libMesh 0.6.3 (release candidate 1 August 15, 2008): As mentioned above, this version fixes a major performance bug, and adds several new features. Though it is not yet at its final release, is worth upgrading at this point.

With multiple ambitious open source engineering tools at or near maturity for widespread use, it is a very exciting time to be working in this space.