diff --git a/paper/paper.tex b/paper/paper.tex index be2c9ef..6b9c275 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -192,6 +192,58 @@ \section{Case study} To see how well Nix can be used to build and package scientific software reliably and reproducibly, we conduct a case study in the context of the latest preCICE distribution, which is currently preCICE \texttt{v2211.0}. The preCICE distribution consists out of the preCICE core library, as well as some tools, bindings, adapters, tutorials, the website and documentation, and the preCICE VM\footnote{\url{https://precice.org/installation-distribution.html}}. +Table \ref{table:label-distribution} shows an overview over all packages provided by the preCICE distribution and their respected versions. + +\begin{figure*}[!t] + \normalsize + \caption{Overview of preCICE distribution} + \label{table:label-distribution} + \centering + \begin{tabular}{|c|c|c|c|} + \hline + \bfseries Package & \bfseries Type & \bfseries Build System & \bfseries Version \\ + \hline + precice & library & cmake & 2.5.0 \\ + \hline + fortran-module & bindings & make & 9e3f405 \\ + \hline + julia & bindings & julia & v2.5.0 \\ + \hline + matlab & bindings & matlab build script & v2.5.0.0 \\ + \hline + pyprecice & bindings & setup.py & 2.5.0.1 \\ + \hline + config-visualizer & tooling & setup.py & 60f2165 \\ + \hline + precice-aste & adapter & cmake & 3.0.0 \\ + \hline + dealii & solver & cmake & 9.4.1 \\ + \hline + precice-dealii-adapter & adapter & cmake & dbb25bea \\ + \hline + precice-calculix-adapter & adapter & makefile & 2.20 \\ + \hline + fenics & solver & cmake + setup.py & 2019.1.0 \\ + \hline + precice-fenics-adapter & adapter & setup.py & 1.4.0 \\ + \hline + precice-dune & adapter & scripts + cmake & 2.8.0 \\ + \hline + Dune-fem & library & setup.py & 2.8.0.0 \\ + \hline + code-aster & solver & custom build system in python & 14.6.0 \\ + \hline + openfoam & solver & wmake/Allwmake & 2206 \\ + \hline + openfoam-adapter & adapter & wmake/Allwmake & 1.2.1 \\ + \hline + Precice-su2 & solver + adapter & patch script + autoconf & 6.0.0 \\ + \hline + Nutils & library & setup.py & 7.0.0 \\ + \hline + \end{tabular} +\end{figure*} + We are mainly interested in the tools, adapters including their solvers and the preCICE VM. For each of these entities, we present possible challenges, how to circumvent those and also comment on how software can be designed to make it as easy as possible for other users to build and package the software in question.