Experiences with FEniCS/DOLFIN, Part 1

It’s hard to apply informatics to simulation data if you don’t have any simulation data.

I’ve recently started playing with FEniCS — a set of tools for solving PDEs with finite element methods. They include a python-like language with syntax very similar to mathematical expressions (Unified Form Language UFL) for posing and solving PDEs in variational form. Scripts written in UFL can be compiled and run on a variety of platforms including distributed memory clusters and multicore architectures. I think they have some support for GPUs, too. This is all done under the hood. The compiled code can link to and take advantage of powerful solver libraries like PETSc and Trilinos.

FEniCS is developed and maintained by a team of top-notch computational science researchers and software developers. Development is very active, and their support via Launchpad is astounding — prompt, helpful, and informative. I really can’t say enough good things about them.

Following the download-and-install instructions on the website was straightforward for both my 13-in MacBook Pro (dual core, 8G RAM) from late 2009 running OSX 10.6 and a Dell workstation with two quad core processors and 12G of shared memory running Ubuntu 12.04. The demos are remarkably helpful, and so is the accompanying book.

I’m working on getting it running on a distributed memory cluster. Stay tuned.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s