Skip to content

Conversation

@Fujikawas
Copy link
Member

@Fujikawas Fujikawas commented Oct 27, 2025

Motivation: precice/dumux-adapter#52.

Checklist:

  • I added a summary of any user-facing changes (compared to the last release) in the changelog-entries/<PRnumber>.md.
  • I will remember to squash-and-merge, providing a useful summary of the changes of this PR.

@Fujikawas Fujikawas self-assigned this Oct 27, 2025
@Fujikawas Fujikawas marked this pull request as draft October 27, 2025 10:23
@Fujikawas Fujikawas marked this pull request as ready for review October 30, 2025 12:53
@Fujikawas Fujikawas requested a review from IshaanDesai October 30, 2025 12:54
Copy link
Member

@IshaanDesai IshaanDesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for porting this case from the adapter repository. After correcting the executable name in free-flow-dumux/appl/CMakeLists.txt, I was able to run the case. The results look as expected.

@IshaanDesai IshaanDesai requested a review from MakisH November 3, 2025 22:19
Copy link
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some first comments on the structure. I still want to look closer and run the case.

Copy link
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is shaping out nicely!

I still have some concerns regarding:

  • The installation automation. This also did not work for me: installdumux.log.
    • Similarly, the scripts in the root directory that seem to suggest a dumux-dumux combination only.
  • Two small and hopefully easy to fix deviations from the naming conventions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This assumes the tutorial to be only the dumux-dumux combination, contradicting the modularity of the tutorials structure.

Why not move these steps into the run.sh of each case? We can add a step to check if the code has been built already (but Make would already act as a no-op in that case).

See the elastic-tube-1d as an example, or the Quickstart.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This assumes the tutorial to be only the dumux-dumux combination, contradicting the modularity of the tutorials structure.

I do not see this argument. If there is another solver participant for this tutorial one day, it can be added next to the existing participant folders. Having DuMuX-specific scripts in the tutorial folder does not prevent the addition or operation for other solvers.

Why not move these steps into the run.sh of each case? We can add a step to check if the code has been built already (but Make would already act as a no-op in that case).

Both the DuMuX participants need the same DUNE modules, and compiling them together avoids a lot of code duplication.

Comment on lines +34 to +35
# Compile and move macro-dumux and micro-dumux executables to the participant folder level
./compile-dumux-cases.sh
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides this line, the rest of the script is a general DuMux installation script. Why have it here and not in the adapter? That would be similar to how we assume that OpenFOAM or CalculiX are already installed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because DuMuX is itself a DUNE module, and all modules need to be in the same directory. This is how the DUNE building mechanism is designed. Circumventing this would be very hacky, so we chose to download and install all necessary modules in the tutorial folder.


To solve the flows with the DuMux framework, the necessary DUNE modules need to be downloaded and set up. This is done by running `sh setup-dumux.sh` in the tutorial folder.

Note that if an existing installation of DUNE modules is detected in a default location, this may lead to problems in running the `setup-dumux.sh` script. The script suppresses the environment variable `DUNE_CONTROL_PATH`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another reason to offload the installation to the user.
Is there a particular reason to do something special here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I find this note valuable, for reasons mentioned above.

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

Successfully merging this pull request may close these issues.

4 participants