95
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Nmag micromagnetic simulation tool - software engineering lessons learned

      Preprint
      , ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          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.

          Related collections

          Author and article information

          Journal
          2016-01-27
          2016-02-28
          Article
          1601.07392
          00e07c2b-3e9f-4722-bf12-8d46caf6ea49

          http://arxiv.org/licenses/nonexclusive-distrib/1.0/

          History
          Custom metadata
          7 pages, 5 figures, Software Engineering for Science, ICSE2016
          cs.SE physics.comp-ph

          Software engineering,Mathematical & Computational physics
          Software engineering, Mathematical & Computational physics

          Comments

          Comment on this article