Skip to content

Conversation

franiqui
Copy link
Collaborator

@franiqui franiqui commented Aug 5, 2025

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.

@franiqui franiqui requested a review from MakisH August 5, 2025 16:08
@franiqui franiqui self-assigned this Aug 5, 2025
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.

Thank you for the clean PR! See some first comments on the structure.

I have not yet looked into the codes or the parameters, I would do that once the locations of the files have converged, to not lose track of the suggestions and changes.

The 3D and 3D-3D cases run, anything with the 1D code does not at the moment, but this is probably related to my system (see also #648 (comment)).

Please add some content to the PR description as well.

Copy link
Member

Choose a reason for hiding this comment

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

The results/ folder is very nice for your thesis, but not something for the tutorials. Eventually, this directory (with a copy of the rest) would be something for Zenodo or a separate repository on the LRZ GitLab.

We could also then take these application case guidelines into account: https://precice.org/community-guidelines-application-cases.html

Copy link
Member

Choose a reason for hiding this comment

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

These plots are nice, they could go to images/.
See the expected structure of a tutorial in https://precice.org/community-contribute-to-precice.html#structure-of-a-tutorial

Copy link
Member

Choose a reason for hiding this comment

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

Visualization scripts (for tutorials) should be in the root directory of the tutorial. See the structure of a tutorial in https://precice.org/community-contribute-to-precice.html#structure-of-a-tutorial

Comment on lines +1 to +7
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 5 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Copy link
Member

Choose a reason for hiding this comment

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

I would remove these headers, they are not correct.

Suggested change
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 5 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

I would also remove the respective decorative comment lines later on (and in other files).

- **Pressure** from upstream to downstream

This allows realistic simulation of pressure wave propagation.

Copy link
Member

Choose a reason for hiding this comment

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

Something nice to have here would be the config visualization (see other tutorials for examples):

https://precice.org/tooling-config-visualization.html


```bash
cd case-3d/fluid3d-openfoam-uncoupled && ./run.sh
```
Copy link
Member

Choose a reason for hiding this comment

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

A visualization section is missing.

---

## Setup

Copy link
Member

Choose a reason for hiding this comment

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

Don't forget to cite the original work (paper and dataset) here.
In the PR description, I would expect an overview of the changes to that.


## Setup

This tutorial demonstrates how to model the **water hammer phenomenon** — a transient pressure surge caused by a rapid change in flow — using **partitioned coupling** with [preCICE](https://precice.org).
Copy link
Member

Choose a reason for hiding this comment

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

Instead of the link to preCICE (which should be clear from the context), I would expect here a problem definition and a reference to the original benchmark.

<precice-configuration experimental="true">
<log>
<sink
filter="%Severity% >= trace and %Rank% = 0"
Copy link
Member

Choose a reason for hiding this comment

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

In the final state, the logging level should be the default:

Suggested change
filter="%Severity% >= trace and %Rank% = 0"
filter="%Severity% > debug and %Rank% = 0"

(same in all files)

In one terminal, execute

```bash
cd case-1d/fluid1d-python-uncoupled && ./run.sh
Copy link
Member

Choose a reason for hiding this comment

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

Even in the monolithic 1D case, I am currently getting an issue with Nutils:

Image

This is something I am facing in another tutorial with Nutils 9 as well (but not all), so I don't think that this is something wrong with your code.

Copy link
Member

@MakisH MakisH Aug 12, 2025

Choose a reason for hiding this comment

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

Running with scipy works but throws a (maybe useful) warning:

NutilsDeprecationWarning: providing evaluation arguments as keyword arguments is deprecated, please use the "arguments" parameter instead
  In /home/gc/repos/precice/tutorials/water-hammer/case-1d/fluid1d-python-uncoupled/Fluid1D.py:107
DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)
  In /home/gc/repos/precice/tutorials/water-hammer/case-1d/fluid1d-python-uncoupled/Fluid1D.py:111

I modified run.sh to NUTILS_MATRIX=scipy python3 Fluid1D.py and I added scipy to requirements.txt to get this.

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.

2 participants