A review of the DuMux adapter using the contributing guidelines. This is a work-in-progress that will eventually be moved.
The DuMux adapter conforms to some of the preCICE best practices and fulfills a few of the additional criteria.
Metadata:
- M.1: DuMux
- M.2: https://precice.org/adapter-dumux.html
- M.3: GPL-3.0
- M.4: Ishaan Desai
<ishaan.desai ipvs.uni-stuttgart.de>
, Jun Chen<jun.chen ipvs.uni-stuttgart.de>
- M.5: (There is no code-specific publication related to the DuMux adapter available yet.)
- M.6: Library
Required best practices:
- R.1: Several application cases are available as tutorials, such as the
tutorials-two-scale-heat-conduction
- R.2:
README.md
- application background and/or nature of coupling (e.g., surface vs. volume coupling; transient or steady-state; …)
- what data can be read and written for a coupling
- which target solver versions are supported
- list of dependencies
- how to build
- how to configure (including the coupling data, if available)
- how to run the accompanying application test case
- geometry assumptions and limitations, e.g., number of dimensions, assumptions on out-of-plane axis for lower dimensions, or support for only a single or also multiple patches.
- which preCICE features are supported or not supported. Curated list including:
- implicit coupling
- mesh connectivity
- data initialization
- subcycling:
dt = min(dt_solver, dt_precice)
- multiple meshes
- restrictions on solver features
- references to related studies or literature necessary to understand the modeling and implementation (at least in preprint state).
- R.3:
LICENSE
- R.4: GitHub project (public)
- R.5: No versioning scheme is defined
- R.6:
CHANGELOG.md
- R.7: issue tracker on GitHub
- R.8:
.clang-format
- R.9: See, for example, https://github.com/precice/dumux-adapter/blob/develop/dumux-precice/couplingadapter.hh
- R.10: The adapter is configured so far directly inside the solvers. Discussion about introducing in standard configuration file is going on here
- R.11: See call to
setMesh
in https://github.com/precice/dumux-adapter/blob/develop/dumux-precice/couplingadapter.cc
Additional criteria:
- A.1: GPL-3.0
- A.2: repository is publicly accessible
- A.3: On precice.org
- A.4: Yes, but only at compile-time
- A.5: No peer-reviewed paper with a validation study
- A.6: No existing contribution guidelines
- A.7:
pull_request_template.md
- A.8: No documentation on how to extend the adapter
- A.9: No unit tests
- A.10: Yes, it is possible run a simulation coupled with DuMux-adapter without human interaction.
- A.11: The adapter is not packaged on the expected repositories of the respective solver community or on Spack.