Skip to content

Commit

Permalink
Simplify coupled solvers
Browse files Browse the repository at this point in the history
  • Loading branch information
uekerman committed Aug 21, 2024
1 parent b8bbd57 commit d48992d
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions paper/paper.tex
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ \subsection{preCICE tutorials}
The preCICE tutorials included in the distribution cannot only be used as reference examples on how to couple different solvers, but also to verify functionality of solver and adapter installations by executing them.
To this end, we execute all 23 tutorials of the distribution such that each coupled solver option is at least run once. We do not compare results, but only test whether the cases complete.
We test inside the NixOS VM and also in an ad-hoc shell environment provided by the \texttt{nix develop} command. All tests pass except the \textit{Turek-Hron FSI3}, parts of the \textit{partitioned heat conduction}, parts of the \textit{perpendicular flap}, and the \textit{flow over heated plate steady state} cases.
We could not build swak4foam, an add-on to OpenFOAM, which is needed in the Turek-Hron FSI3 tutorial and the OpenFOAM coupled solver participant of the partitioned heat conduction tutorial.
We could not build swak4foam, an add-on to OpenFOAM, which is needed in the Turek-Hron FSI3 tutorial and the OpenFOAM solver of the partitioned heat conduction tutorial.
The official preCICE VM uses a prebuilt version of swak4foam, but also patching the prebuilt binary did not work.
The dependency is, however, no longer required in the v202404.0 release\footnote{\url{https://precice.org/installation-distribution.html\#v24040}} of the preCICE distribution.
We could, moreover, not package the third-party solids4foam solver, which is one of many options in the perpendicular flap tutorial.
Expand Down Expand Up @@ -428,8 +428,8 @@ \section{Conclusion}
We investigated on whether Nix und NixOS are a potential solution to enable full reproducibility of research software environments. As a case study, we tried to package and test all components of the preCICE ecosystem -- a very heterogeneous set of legacy software packages, which is, however, representative for the state of research software today in our experience.
Out of the 20 components of the preCICE distribution, we were able to package 14 components ourselves, four were already packaged upstream, and two were not packageable in their current state.
In total, there are 22 tutorials in the preCICE v2211 distribution, many having several different coupled solver examples, resulting in a total of 60 coupled solver examples.
We were able to run 52 coupled solvers out of the total number found in the preCICE tutorials.
In total, there are 22 tutorials in the preCICE v2211 distribution, many having several different coupled solvers, resulting in a total of 60 coupled solvers.
We were able to run 52 out of these.
Many packages required workarounds, however, which might be difficult to achieve for non-experienced Nix users.
Nix also comes with a few peculiarities, which complicate workarounds.
In fact, every piece of software has to lie within \path{/nix/store} and each path therein is its own-isolated tree inspired by the Filesystem Hierarchy Standard (FHS).
Expand Down

0 comments on commit d48992d

Please sign in to comment.