From d6e5fe88992802a4ec0f5a551b1db5daac816258 Mon Sep 17 00:00:00 2001 From: The Open Journals editorial robot <89919391+editorialbot@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:48:35 +0000 Subject: [PATCH] Creating 10.21105.joss.07127.jats --- .../paper.jats/10.21105.joss.07127.jats | 519 ++++++++++++++++++ 1 file changed, 519 insertions(+) create mode 100644 joss.07127/paper.jats/10.21105.joss.07127.jats diff --git a/joss.07127/paper.jats/10.21105.joss.07127.jats b/joss.07127/paper.jats/10.21105.joss.07127.jats new file mode 100644 index 0000000000..975f9f5f19 --- /dev/null +++ b/joss.07127/paper.jats/10.21105.joss.07127.jats @@ -0,0 +1,519 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +7127 +10.21105/joss.07127 + +ASTE: An artificial solver testing environment for +partitioned coupling with preCICE + + + +https://orcid.org/0000-0002-3487-9688 + +Schneider +David + + +* + + +https://orcid.org/0000-0001-6497-3184 + +Yurt +Muhammed Kürşat + + + + +https://orcid.org/0000-0003-3390-157X + +Simonis +Frédéric + + + + +https://orcid.org/0000-0002-1314-9969 + +Uekermann +Benjamin + + + + + +Institute for Parallel and Distributed Systems, University +of Stuttgart, Germany + + + + +TUM School of Engineering and Design, Technical University +of Munich, Germany + + + + +* E-mail: + + +13 +8 +2017 + +9 +103 +7127 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2024 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +C++ +Python +multiphysics +partitioned coupling +preCICE + + + + + + Summary +

Simulating multi-physics phenomena for real-world applications + states various challenges in scientific computing. Each individual + physical domain has behavior that is often described through a + distinct set of partial-differential equations that needs to be solved + in that domain. Their interaction is then achieved through + bidirectional exchange of suitable coupling data between all involved + domains. Partitioned coupling tackles multi-physics simulations by + glueing together separate models, typically implemented in separate + software environments. To facilitate such partitioned multi-physics + simulations effectively, so-called coupling libraries offer commonly + required functionality. We focus in particular on coupling through the + open-source library preCICE + (Chourdakis + et al., 2022), which offers functionality for data + communication, data mapping, coupling schemes, and more. In the most + basic setup, at least two executables call preCICE to perform a + coupled simulation. As additional software components, so-called + adapters bridge the gap between the preCICE API and the software + environments used by the coupled models. Creating and using this + overall setup for early development purposes is not only cumbersome, + but also very inefficient. The artificial solver testing environment + (ASTE) allows for replacing models coupled via preCICE with artificial + ones, potentially in parallel distributed across multiple ranks on + distributed memory. This helps in the development of preCICE, + adapters, or simulation setups by reducing the necessary software + components, simplifying execution workflows, and reducing runtime of + the case. In addition, ASTE provides performance and accuracy metrics + of the configured simulation setup.

+
+ + Statement of need +

[fig:dependency-graph] + illustrates the software stack required for a coupled simulation setup + using FEniCS and OpenFOAM as examples, and compares it to a simulation + setup using ASTE. Besides preCICE itself, core ingredients for + practical applications are preCICE API language bindings, preCICE + adapters, the simulation frameworks, and their dependencies. ASTE, on + the other hand, replaces coupled models and only requires a reduced + set of dependencies. It abstracts the computational complexity of the + models away by extracting the relevant information from VTK files + instead and passing extracted data to preCICE, potentially in parallel + on distributed memory. While the VTK files may stem from actual + simulations, ASTE can also generate artificial VTK files with + prescribed coupling data. On top of that, the entire tool chain of + ASTE enables easily altering the simulation setup through different + mesh partitionings, and specifically for the configuration of data + mappings in preCICE, ASTE can evaluate additional accuracy metrics of + used mappings.

+ +

Dependency graph between models, applications, and + libraries for a coupled simulation with FEniCS and OpenFOAM compared + to a dependency graph using + ASTE.

+ +
+

From an application standpoint, ASTE provides a reproducible + environment which enables sharing and rerunning of scenarios, + regardless of the availability of involved software components. This + capability is particularly useful for debugging issues reported by + users of preCICE, who can share their scenarios (e.g., through the + preCICE + forum) for developers to analyze, even when the involved + software is unavailable due to licensing terms or being + closed-source.

+

A further crucial argument for emulating models with ASTE is + computational efficiency. For coupled simulations, the main + computational load is typically carried by the models instead of the + coupling library. Hence, running the original models repeatedly for + development purposes of preCICE or adapter components is both + time-consuming and inefficient. This inefficiency not only complicates + software development, but also applies to parameter tuning for + real-world applications, where the execution of involved models might + become prohibitively expensive already due to the problem size.

+

In this regard, ASTE provides a lightweight and valuable tool. It + enables the efficient development of preCICE by testing new features + on real-world applications in an artificial solver-like setup, e.g., + for developing new communication algorithms + (Lindner, + 2019; + Totounferoush + et al., 2021) or to develop new mapping methods, e.g., + (Ariguib, + 2022; + Chourdakis + et al., 2022; + Martin, + 2022; + Schneider + et al., 2023). In fact, testing and developing preCICE was the + use case behind the first prototype of ASTE, which was developed as + part of Lindner + (2019). + Beyond the development in preCICE, ASTE also fosters the development + of new adapter codes to be coupled via preCICE, as it aids in + debugging and enhances the transparency of data flow. Moreover, + combining preCICE’s performance instrumentation with the ASTE’s + flexibility and insight, it enables finding appropriate settings for + specific scenarios, as effectively demonstrated in the large-scale + example in Lindner et al. + (2020).

+

Although coupling libraries like MUI offer their own testing and + benchmarking infrastructure, e.g., + MUI’s + testing framework, many tools do not provide such testing + environments at all. Instead, evaluating, testing and benchmarking of + these libraries relies on hard-coded solutions tailored to individual + test setups, e.g., the benchmarking performed by Valcke et al. + (2022). + ASTE covers a comprehensive, flexible and resuable toolchain for + development, testing, and parameter tuning.

+
+ + Functionality & Use +

The central interface of ASTE is given through a VTK mesh file, + which contains information about the geometric shape of the model we + emulate. The VTK files can be generated from mesh generation tools + (e.g., GMSH + (Geuzaine + & Remacle, 2009)), included + Python + scripts, other simulation software, or directly reused from + a + completed + preCICE simulation. Given a VTK file, ASTE offers different + algorithms to repartition them (e.g., through METIS + (Karypis + & Kumar, 2009)) for parallel runs. Moreover, ASTE can + generate artificial data using pre- or user-defined functions on the + mesh and store them in the VTK file format. The core module of ASTE + then reads the VTK file and passes the data to preCICE, potentially in + every time step of the coupled simulation. Once the simulation is + finished, the generated data is stored in another VTK file and can be + compared against the original artificial data. Performance metrics are + accessible through the + preCICE + performance framework.

+

While the core module of ASTE is written in C, the pre- and + postprocessing scripts are implemented in Python. The core module + relies on VTK + (Schroeder + et al., 2006), + Boost, + and MPI for parallel execution. It provides a command line interface + for simple simulations and can be configured in JSON + (Lohmann, + 2023) for more complex scenarios.

+

ASTE is hosted on + GitHub + and releases are published using + GitHub + releases. The documentation is part of the + ASTE + repository and rendered on + the + preCICE website. In addition, a + tutorial + and + ready-to-use + examples are available. Building is handled via + CMake + and, as part of the preCICE distribution + (Chen + et al., 2024), ASTE can be used through a + Vagrant + box.

+
+ + Acknowledgements +

The authors are funded by the Deutsche Forschungsgemeinschaft (DFG, + German Research Foundation) under project numbers 515015468 and + 528693298, and under Germany’s Excellence Strategy - EXC 2075 – + 390740016. We acknowledge the support of the Stuttgart Center for + Simulation Science (SimTech).

+
+ + + + + + + + ChourdakisG + DavisK + RodenbergB + SchulteM + SimonisF + UekermannB + AbramsG + BungartzHJ + Cheung YauL + DesaiI + EderK + HertrichR + LindnerF + RuschA + SashkoD + SchneiderD + TotounferoushA + VollandD + VollmerP + KoseomurOZ + + PreCICE v2: A sustainable and user-friendly coupling library [version 2; peer review: 2 approved] + Open Research Europe + 2022 + 2 + 51 + 10.12688/openreseurope.14445.2 + + + + + + TotounferoushAmin + SimonisFrédéric + UekermannBenjamin + SchulteMiriam + + Efficient and scalable initialization of partitioned coupled simulations with preCICE + Algorithms + 2021 + 14 + 6 + 1999-4893 + 10.3390/a14060166 + + + + + + ValckeSophie + PiacentiniAndrea + JonvilleGabriel + + Benchmarking regridding libraries used in earth system modelling + Mathematical and Computational Applications + 2022 + 27 + 2 + 2297-8747 + 10.3390/mca27020031 + + + + + + ChenJun + ChourdakisGerasimos + DesaiIshaan + Homs-PonsCarme + RodenbergBenjamin + SchneiderDavid + SimonisFrédéric + UekermannBenjamin + DavisKyle + JaustAlexander + KelmMathis + KotarskyNiklas + KschidockHelena + MishraDurganshu + MühlhäußerMarkus + SchraderTimo Pierre + SchulteMiriam + SeitzValentin + SignorelliJoseph + ZwietenGertjan van + VinnitchenkoNiklas + VladimirovaTina + WillekeLeonard + ZontaElia + + preCICE distribution version v2404.0 + DaRUS + 2024 + 10.18419/darus-4167 + + + + + + SchneiderD. + SchraderT. + UekermannB. + + Data-parallel radial-basis-function interpolation in preCICE + X international conference on computational methods for coupled problems in science and engineering + 2023 + 10.23967/c.coupled.2023.016 + + + + + + MartinBoris Guillaume + + Robust and efficient barycentric cell-interpolation for volumetric coupling with preCICE + Technical University of Munich + 2022 + https://mediatum.ub.tum.de/doc/1685618/1685618.pdf + + + + + + AriguibBoshra + + Second-order projection-based mapping methods for coupled multi-physics simulations + University of Stuttgart + 2022 + 10.18419/opus-12128 + + + + + + LindnerFlorian + + Data transfer in partitioned multi-physics simulations: Interpolation & communication + University of Stuttgart + 2019 + 10.18419/opus-10581 + + + + + + SchroederWill + MartinKen + LorensenBill + + The visualization toolkit (4th ed.) + Kitware + 2006 + 978-1-930934-19-1 + + + + + + LindnerFlorian + TotounferoushAmin + MehlMiriam + UekermannBenjamin + PourNeda Ebrahimi + KruppVerena + RollerSabine + ReimannThorsten + C. SternelDörte + EgawaRyusuke + TakizawaHiroyuki + SimonisFrédéric + + ExaFSA: Parallel fluid-structure-acoustic simulation + Software for exascale computing - SPPEXA 2016-2019 + + BungartzHans-Joachim + ReizSeverin + UekermannBenjamin + NeumannPhilipp + NagelWolfgang E. + + Springer International Publishing + Cham + 2020 + 978-3-030-47956-5 + 10.1007/978-3-030-47956-5_10 + 271 + 300 + + + + + + KarypisGeorge + KumarVipin + + MeTis: Unstructured graph partitioning and sparse matrix ordering system, version 4.0 + University of Minnesota, Minneapolis, MN; http://www.cs.umn.edu/~metis + 2009 + + + + + + LohmannNiels + + JSON for modern C++ + GitHub repository + https://github.com/nlohmann; GitHub + 202311 + https://json.nlohmann.me + + + + + + + GeuzaineChristophe + RemacleJean-François + + Gmsh: A 3-D finite element mesh generator with built-in pre-and post-processing facilities + International Journal for Numerical Methods in Engineering + Wiley Online Library + 2009 + 79 + 11 + 10.1002/nme.2579 + 1309 + 1331 + + + + +