The University of Southampton
University of Southampton Institutional Repository

Nmag micromagnetic simulation tool – software engineering lessons learned

Nmag micromagnetic simulation tool – software engineering lessons learned
Nmag micromagnetic simulation tool – software engineering lessons learned
We review design and development decisions and their impact for the open source code Nmag from a software engineering in computational science point of view. We summarise lessons learned and recommendations for future computational science projects. Key lessons include that encapsulating the simulation functionality in a library of a general purpose language, here Python, provides great flexibility in using the software. The choice of Python for the top-level user interface was very well received by users from the science and engineering community. The from-source installation in which required external libraries and dependencies are compiled from a tarball was remarkably robust. In places, the code is a lot more ambitious than necessary, which introduces unnecessary complexity and reduces maintainability. Tests distributed with the package are useful, although more unit tests and continuous integration would have been desirable. The detailed documentation, together with a tutorial for the usage of the system, was perceived as one of its main strengths by the community.
1-7
ACM
Fangohr, Hans
9b7cfab9-d5dc-45dc-947c-2eba5c81a160
Albert, Maximilian
a8049610-1e98-4cfb-b59a-177645a42b47
Franchin, Matteo
d71ee912-9dcc-421b-a55d-9818454cafff
Fangohr, Hans
9b7cfab9-d5dc-45dc-947c-2eba5c81a160
Albert, Maximilian
a8049610-1e98-4cfb-b59a-177645a42b47
Franchin, Matteo
d71ee912-9dcc-421b-a55d-9818454cafff

Fangohr, Hans, Albert, Maximilian and Franchin, Matteo (2016) Nmag micromagnetic simulation tool – software engineering lessons learned. In SE4Science '16 : Proceedings of the International Workshop on Software Engineering for Science. ACM. pp. 1-7 . (doi:10.1145/2897676.2897677).

Record type: Conference or Workshop Item (Paper)

Abstract

We review design and development decisions and their impact for the open source code Nmag from a software engineering in computational science point of view. We summarise lessons learned and recommendations for future computational science projects. Key lessons include that encapsulating the simulation functionality in a library of a general purpose language, here Python, provides great flexibility in using the software. The choice of Python for the top-level user interface was very well received by users from the science and engineering community. The from-source installation in which required external libraries and dependencies are compiled from a tarball was remarkably robust. In places, the code is a lot more ambitious than necessary, which introduces unnecessary complexity and reduces maintainability. Tests distributed with the package are useful, although more unit tests and continuous integration would have been desirable. The detailed documentation, together with a tutorial for the usage of the system, was perceived as one of its main strengths by the community.

Text
1601.07392v2.pdf - Accepted Manuscript
Restricted to Repository staff only
Request a copy

More information

Accepted/In Press date: 19 February 2016
Published date: 14 May 2016
Venue - Dates: ICSE 16: 38th International Conference on Software Engineering, United States, 2016-05-14 - 2016-05-22
Organisations: Computational Engineering & Design Group

Identifiers

Local EPrints ID: 398030
URI: https://eprints.soton.ac.uk/id/eprint/398030
PURE UUID: 1c2ab833-9215-4f9a-a36c-2435784e5700

Catalogue record

Date deposited: 15 Jul 2016 08:18
Last modified: 29 Nov 2018 17:31

Export record

Altmetrics

Contributors

Author: Hans Fangohr
Author: Maximilian Albert
Author: Matteo Franchin

University divisions

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of https://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×