diff --git a/joss.07127/10.21105.joss.07127.crossref.xml b/joss.07127/10.21105.joss.07127.crossref.xml new file mode 100644 index 0000000000..b8794147b7 --- /dev/null +++ b/joss.07127/10.21105.joss.07127.crossref.xml @@ -0,0 +1,293 @@ + + + + 20241114134802-32ff60598b9c33ad9ef8406dabd752581baf3873 + 20241114134802 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 11 + 2024 + + + 9 + + 103 + + + + ASTE: An artificial solver testing environment for +partitioned coupling with preCICE + + + + David + Schneider + + Institute for Parallel and Distributed Systems, University of Stuttgart, Germany + + https://orcid.org/0000-0002-3487-9688 + + + Muhammed Kürşat + Yurt + + TUM School of Engineering and Design, Technical University of Munich, Germany + + https://orcid.org/0000-0001-6497-3184 + + + Frédéric + Simonis + + Institute for Parallel and Distributed Systems, University of Stuttgart, Germany + + https://orcid.org/0000-0003-3390-157X + + + Benjamin + Uekermann + + Institute for Parallel and Distributed Systems, University of Stuttgart, Germany + + https://orcid.org/0000-0002-1314-9969 + + + + 11 + 14 + 2024 + + + 7127 + + + 10.21105/joss.07127 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.18419/darus-4562 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/7127 + + + + 10.21105/joss.07127 + https://joss.theoj.org/papers/10.21105/joss.07127 + + + https://joss.theoj.org/papers/10.21105/joss.07127.pdf + + + + + + PreCICE v2: A sustainable and user-friendly +coupling library [version 2; peer review: 2 approved] + Chourdakis + Open Research Europe + 51 + 2 + 10.12688/openreseurope.14445.2 + 2022 + Chourdakis, G., Davis, K., Rodenberg, +B., Schulte, M., Simonis, F., Uekermann, B., Abrams, G., Bungartz, H., +Cheung Yau, L., Desai, I., Eder, K., Hertrich, R., Lindner, F., Rusch, +A., Sashko, D., Schneider, D., Totounferoush, A., Volland, D., Vollmer, +P., & Koseomur, O. (2022). PreCICE v2: A sustainable and +user-friendly coupling library [version 2; peer review: 2 approved]. +Open Research Europe, 2(51). +https://doi.org/10.12688/openreseurope.14445.2 + + + Efficient and scalable initialization of +partitioned coupled simulations with preCICE + Totounferoush + Algorithms + 6 + 14 + 10.3390/a14060166 + 1999-4893 + 2021 + Totounferoush, A., Simonis, F., +Uekermann, B., & Schulte, M. (2021). Efficient and scalable +initialization of partitioned coupled simulations with preCICE. +Algorithms, 14(6). +https://doi.org/10.3390/a14060166 + + + Benchmarking regridding libraries used in +earth system modelling + Valcke + Mathematical and Computational +Applications + 2 + 27 + 10.3390/mca27020031 + 2297-8747 + 2022 + Valcke, S., Piacentini, A., & +Jonville, G. (2022). Benchmarking regridding libraries used in earth +system modelling. Mathematical and Computational Applications, 27(2). +https://doi.org/10.3390/mca27020031 + + + preCICE distribution version +v2404.0 + Chen + 10.18419/darus-4167 + 2024 + Chen, J., Chourdakis, G., Desai, I., +Homs-Pons, C., Rodenberg, B., Schneider, D., Simonis, F., Uekermann, B., +Davis, K., Jaust, A., Kelm, M., Kotarsky, N., Kschidock, H., Mishra, D., +Mühlhäußer, M., Schrader, T. P., Schulte, M., Seitz, V., Signorelli, J., +… Zonta, E. (2024). preCICE distribution version v2404.0 (Version V1) +[Data set]. DaRUS. +https://doi.org/10.18419/darus-4167 + + + Data-parallel radial-basis-function +interpolation in preCICE + Schneider + X international conference on computational +methods for coupled problems in science and engineering + 10.23967/c.coupled.2023.016 + 2023 + Schneider, D., Schrader, T., & +Uekermann, B. (2023). Data-parallel radial-basis-function interpolation +in preCICE. X International Conference on Computational Methods for +Coupled Problems in Science and Engineering. +https://doi.org/10.23967/c.coupled.2023.016 + + + Robust and efficient barycentric +cell-interpolation for volumetric coupling with preCICE + Martin + 2022 + Martin, B. G. (2022). Robust and +efficient barycentric cell-interpolation for volumetric coupling with +preCICE [Master’s thesis, Technical University of Munich]. +https://mediatum.ub.tum.de/doc/1685618/1685618.pdf + + + Second-order projection-based mapping methods +for coupled multi-physics simulations + Ariguib + 10.18419/opus-12128 + 2022 + Ariguib, B. (2022). Second-order +projection-based mapping methods for coupled multi-physics simulations +[Bachelor's thesis]. University of Stuttgart. +https://doi.org/10.18419/opus-12128 + + + Data transfer in partitioned multi-physics +simulations: Interpolation & communication + Lindner + 10.18419/opus-10581 + 2019 + Lindner, F. (2019). Data transfer in +partitioned multi-physics simulations: Interpolation & communication +[Dissertation, University of Stuttgart]. +https://doi.org/10.18419/opus-10581 + + + The visualization toolkit (4th +ed.) + Schroeder + 978-1-930934-19-1 + 2006 + Schroeder, W., Martin, K., & +Lorensen, B. (2006). The visualization toolkit (4th ed.). Kitware. +ISBN: 978-1-930934-19-1 + + + ExaFSA: Parallel fluid-structure-acoustic +simulation + Lindner + Software for exascale computing - SPPEXA +2016-2019 + 10.1007/978-3-030-47956-5_10 + 978-3-030-47956-5 + 2020 + Lindner, F., Totounferoush, A., Mehl, +M., Uekermann, B., Pour, N. E., Krupp, V., Roller, S., Reimann, T., C. +Sternel, D., Egawa, R., Takizawa, H., & Simonis, F. (2020). ExaFSA: +Parallel fluid-structure-acoustic simulation. In H.-J. Bungartz, S. +Reiz, B. Uekermann, P. Neumann, & W. E. Nagel (Eds.), Software for +exascale computing - SPPEXA 2016-2019 (pp. 271–300). Springer +International Publishing. +https://doi.org/10.1007/978-3-030-47956-5_10 + + + MeTis: Unstructured graph partitioning and +sparse matrix ordering system, version 4.0 + Karypis + 2009 + Karypis, G., & Kumar, V. (2009). +MeTis: Unstructured graph partitioning and sparse matrix ordering +system, version 4.0. University of Minnesota, Minneapolis, MN; +http://www.cs.umn.edu/~metis. + + + JSON for modern C++ + Lohmann + GitHub repository + 2023 + Lohmann, N. (2023). JSON for modern +C++. In GitHub repository (Version 3.11.3). https://github.com/nlohmann; +GitHub. https://json.nlohmann.me + + + Gmsh: A 3-D finite element mesh generator +with built-in pre-and post-processing facilities + Geuzaine + International Journal for Numerical Methods +in Engineering + 11 + 79 + 10.1002/nme.2579 + 2009 + Geuzaine, C., & Remacle, J.-F. +(2009). Gmsh: A 3-D finite element mesh generator with built-in pre-and +post-processing facilities. International Journal for Numerical Methods +in Engineering, 79(11), 1309–1331. +https://doi.org/10.1002/nme.2579 + + + + + + diff --git a/joss.07127/10.21105.joss.07127.pdf b/joss.07127/10.21105.joss.07127.pdf new file mode 100644 index 0000000000..5356988f45 Binary files /dev/null and b/joss.07127/10.21105.joss.07127.pdf differ 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 + + + + +
diff --git a/joss.07127/paper.jats/dependency-graph.pdf b/joss.07127/paper.jats/dependency-graph.pdf new file mode 100644 index 0000000000..7d1a1c0e85 Binary files /dev/null and b/joss.07127/paper.jats/dependency-graph.pdf differ