Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

two-scale-heat-conduction DuMuX dependencies setup #529

Open
MakisH opened this issue Apr 23, 2024 · 1 comment
Open

two-scale-heat-conduction DuMuX dependencies setup #529

MakisH opened this issue Apr 23, 2024 · 1 comment

Comments

@MakisH
Copy link
Member

MakisH commented Apr 23, 2024

In the two-scale-heat-conduction tutorial, we currently have:

  • Run scripts that depend on the custom DuMuX scripts macro_dumux and the micro-manager.
  • A script setup-dumux.sh, which:
    • Removes any previous builds
    • Gets and builds DuMuX 3.7 in the current directory
    • Gets and builds the DuMuX adapter, the module dumux-phasefield, as well as the external dependency spgrid
  • A script compile-dumux-cases.sh which:
    • calls make on the (already built?) macro-dumux and micro-dumux modules
    • moves the built binaries to the respective case directories

In the rest of the tutorials, we don't provide such scripts. For example:

  • For deal.II cases (see perpendicular-flap and run-dealii.sh), we ask the user to install deal.II and the deal.II adapter. If these are not found, we inform the user.
  • In the Quickstart, we ask the user to install all the dependencies, hinting them how to do that.

There are multiple reasons to do this like this:

  • Such scripts tend to be very system-specific. Already the line mv micro-dumux/build-cmake/appl/micro_sim.cpython-310-x86_64-linux-gnu.so micro-dumux/ demonstrates that.
  • If such a script fails, then the user is clueless and can only blame preCICE (us).
  • Such scripts might conflict with our documentation on how to install the respective adapters. For example, I already built the DuMuX adapter in the home directory of the VM, but now I am asked to repeat such an installation in a local folder.
  • We have to maintain such scripts.

I think we can improve the situation here:

  1. Inform the user what the dependencies are
  2. Inform the user that the solvers need to be built
  3. Describe how to build these using a given DuMuX adapter installation

We can still provide some helper scripts, but I would rather not. Instead, I would focus on demonstrating in some CI workflow file / Dockerfile what steps to take to run the tutorial. This could be demonstrated in the system tests, or in the CI of the micro-manager.

cc @IshaanDesai @Fujikawas

@MakisH
Copy link
Member Author

MakisH commented Apr 23, 2024

Maybe interesting for @mathiskelm as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant