Nauticle: A general-purpose particle-based simulation tool
Nauticle is a general-purpose simulation tool for the flexible and highly configurable application of particle-based methods of either discrete or continuum phenomena. The paper introduces a novel approach to the implementation which handles a general formulation composed of user-defined expressions and interaction-laws covering an extensive range of particle-based methods. As a result, Nauticle has three distinct levels for users and developers. At the top level, the Symbolic Form Language (SFL) of Nauticle facilitates the formulation of user-defined numerical models in text-based configuration files. The SFL can be intuitively extended at the intermediate level with new particle methods without tedious recoding or even the knowledge of the bottom level. The paper presents the structure of the underlying general algorithm; then the top two levels are discussed in detail and illustrated by simple application examples. Finally, the efficiency of the code is also tested through a performance benchmark.