Simflowny 2: An upgraded platform for scientific modeling and simulation

Abstract Simflowny is an open platform which automatically generates efficient parallel code of scientific dynamical models for different simulation frameworks. Here we present major upgrades on this software to support simultaneously a quite generic family of partial differential equations. These equations can be discretized using: (i) standard finite-difference for systems with derivatives up to any order, (ii) High-Resolution-Shock-Capturing methods to deal with shocks and discontinuities of balance law equations, and (iii) particle-based methods. We have improved the adaptive-mesh-refinement algorithms to preserve the convergence order of the numerical methods, which is a requirement for improving scalability. Finally, we have also extended our graphical user interface (GUI) to accommodate these and future families of equations. This paper summarizes the formal representation and implementation of these new families, providing several validation results. Program summary Program Title: Simflowny CPC Library link to program files: http://dx.doi.org/10.17632/g9mcw8s64f.2 Licensing provisions: Apache License, 2.0 Programming language: Java, C++ and JavaScript Journal Reference of previous version: Comput. Phys. Comm. 184 (2013) 2321–2331, Comput. Phys. Comm. 229 (2018), 170–181 Does the new version supersede the previous version?: Yes Reasons for the new version: Additional features Summary of revisions: Expanded support for Partial Differential Equations, meshless particles and advanced Adaptive Mesh Refinement. Nature of problem: Simflowny generates numerical simulation code for a wide range of models. Solution method: Any discretization scheme based on either Finite Volume Methods, Finite Difference Methods, or meshless methods for Partial Differential Equations. Additional comments: Simflowny runs in any computer with Docker [1]. Installation details can be checked in the documentation of Simflowny [2]. It can also be compiled from scratch on any Linux system, provided dependences are properly installed as indicated in the documentation. The generated code runs on any Linux platform ranging from personal workstations to clusters and parallel supercomputers. The software architecture is easily extensible for future additional model families and simulation frameworks. Full documentation is available in the wiki home of the Simflowny project [2]. References: [1] https://www.docker.com/ [online] (2020) [2] https://bitbucket.org/iac3/simflowny/wiki/Home [online] (2020)

[1]  H. Chaté,et al.  Onset of collective and cohesive motion. , 2004, Physical review letters.

[2]  Jeremy G. Siek,et al.  The Boost Graph Library - User Guide and Reference Manual , 2001, C++ in-depth series.

[3]  H. Huynh,et al.  Accurate Monotonicity-Preserving Schemes with Runge-Kutta Time Stepping , 1997 .

[4]  Anders Logg,et al.  Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book , 2012 .

[5]  Giovanni Lapenta,et al.  Particle rezoning for multidimensional kinetic particle-in-cell simulations , 2002 .

[6]  Andrew T. T. McRae,et al.  Firedrake: automating the finite element method by composing abstractions , 2015, ACM Trans. Math. Softw..

[7]  A. Plastino,et al.  A Fisher-gradient complexity in systems with spatio-temporal dynamics , 2016 .

[8]  Tu,et al.  Long-Range Order in a Two-Dimensional Dynamical XY Model: How Birds Fly Together. , 1995, Physical review letters.

[9]  Guy Theraulaz,et al.  Collective motion in biological systems , 2012, Interface Focus.

[10]  Vicsek,et al.  Novel type of phase transition in a system of self-driven particles. , 1995, Physical review letters.

[11]  Chi-Wang Shu Essentially non-oscillatory and weighted essentially non-oscillatory schemes for hyperbolic conservation laws , 1998 .

[12]  Felix J. Herrmann,et al.  Devito: an embedded domain-specific language for finite differences and geophysical exploration , 2018, Geoscientific Model Development.

[13]  H. Chaté,et al.  Collective motion of self-propelled particles interacting without cohesion. , 2007, Physical review. E, Statistical, nonlinear, and soft matter physics.

[14]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[15]  Scott R. Kohn,et al.  Large scale parallel structured AMR calculations using the SAMRAI framework , 2001, SC.

[16]  A. Plastino,et al.  Statistical complexity measures as telltale of relevant scales in emergent dynamics of spatial systems , 2013, 1311.1337.

[17]  D. Viganò,et al.  A Simflowny-based finite-difference code for high-performance computing in numerical relativity , 2018, Classical and Quantum Gravity.

[18]  Hank Childs,et al.  VisIt: An End-User Tool for Visualizing and Analyzing Very Large Data , 2011 .

[19]  John Shalf,et al.  The Cactus Framework and Toolkit: Design and Applications , 2002, VECPAR.

[20]  Stefano Markidis,et al.  A Multi Level Multi Domain Method for Particle In Cell plasma simulations , 2012, J. Comput. Phys..

[21]  J. Monaghan Smoothed particle hydrodynamics , 2005 .

[22]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000 .

[23]  William D. Mattson,et al.  Near-neighbor calculations using a modified cell-linked list method , 1999 .

[24]  Antoni Artigues,et al.  Simflowny: A general-purpose platform for the management of physical models and simulation problems , 2013, Comput. Phys. Commun..

[25]  T. Vicsek,et al.  Collective Motion , 1999, physics/9902023.

[26]  Bastien Chopard,et al.  Using Cellular Automata on a Graph to Model the Exchanges of Cash and Goods , 2010, ACRI.