Back to Search Start Over

FEniCS: Sustainable Software Development Practices

Authors :
Alnæs, Martin
Blechta, Jan
Hale, Jack S.
Logg, Anders
Richardson, Chris
Johannr@Simula.No
Rognes, Marie
Wells, Garth N.
Publication Year :
2017
Publisher :
figshare, 2017.

Abstract

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.Poster presented at SIAM CSE17 PP108 Minisymposterium: Software Productivity and Sustainability for CSE and Data Science.

Details

Database :
OpenAIRE
Accession number :
edsair.doi.dedup.....0ef863441bd410581646769988934d4f
Full Text :
https://doi.org/10.6084/m9.figshare.4696318.v1