AuthorsM. S. Alnæs, J. Blechta, J. S. Hale, A. Logg, C. Richardson, J. Ring, M. E. Rognes and G. N. Wells
TitleFEniCS: Sustainable Software Development Practices
AfilliationScientific Computing
Project(s)Center for Biomedical Computing (SFF)
Publication TypePoster
Year of Publication2017
Date Published03/2017
Place PublishedSIAM CSE17 PP108 Minisymposterium: Software Productivity and Sustainability for CSE and Data Science
KeywordsFEniCS, Poster, Sofware Development

The FEniCS project aims to provide a high productivity environment for development of finite element based simulation software. Techniques applied to achieve this goal include mixed language programming and code generation, which enables writing high performance programs in a high level language. End-user productivity is a high priority goal in our software designs. To sustain the productivity of the multinational team of part-time developers (mainly researchers and students) is paramount to the long term survival of the project. To minimize the developer workload while making the process open and accessible to new contributors and users, we regularly question which tools are the best available for our needs. On this poster we will present our current tool choices and work flows for developers and the wider FEniCS community. This list includes version control, build systems, testing, release management, team communication, documentation, and end user support. The most recent addition to our toolbox are developer curated Docker images. We are investigating their usefulness in testing infrastructure, end user deployment, HPC cluster deployment, and as reproducible software environments to accompany journal publications. We welcome discussion on alternatives that can simplify our lives.

Citation Key25206