arXiv · 1601.07392
Nmag micromagnetic simulation tool - software engineering lessons learned
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 main- tainability. 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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Hans Fangohr, Maximilian Albert, Matteo Franchin. 2016-02-28. Nmag micromagnetic simulation tool - software engineering lessons learned. https://doi.org/10.1145/2897676.2897677
Cite the original work for its findings. Save a collection to share your selection of sources.