Nauticle: A general-purpose particle-based simulation tool

B Havasi-Toth, COMPUTER PHYSICS COMMUNICATIONS, 246, 106855 (2020).

DOI: 10.1016/j.cpc.2019.07.018

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. Program summary Program Title: Nauticle Program Files doi

http://dx.doLorg/10.17632/9kxrzr96ww.1 Licensing provisions: GNU Lesser General Public License v3 Programming language: C++ Nature of problem: Construction of a flexible simulation tool for particle methods by multilevel user and developer interface for building almost arbitrary mathematical models - in one, two or three dimensions - through user- defined algebraic and partial differential equations. Solution method: A general formulation of particle methods (schemes) or mathematical models interpretable as a description of relationships between particles by considering them as a set of interaction laws is solved at the bottom level. The simulation case including the definition of the exact form of the equations can be constructed using the proposed Symbolic Form Language at the top level by YAML-documents; hence the solver does not require any programming knowledge or experience. Besides that, at the second level, the Nauticle environment provides an efficient, flexible interface in C++ for the adoption of truly arbitrary new schemes interpreted as the simple extension of the Symbolic Form Language. The collection of particle methods and mathematical models already implemented is: Gravitational interaction (for n-body problems) Smoothed Particle Hydrodynamics (SPH) Discrete Element Method (DEM) Discrete Vortex Method (DVM) micro-scale social force model molecular dynamics based on the Lennard-Jones potential (MD) Kuramoto synchronization Restrictions: The present version of Nauticle does not involve implicit schemes. Additional comments: The automated installation of the current Nauticle release requires Advanced Packaging Tool (APT) or Homebrew. The code has been tested under Ubuntu 16.04. and MacOS 10.12. and 10.14. The Nauticle source code is available at www.bitbucket.org/nauticleproject (C) 2019 Elsevier B.V. All rights reserved.

Return to Publications page