-
-
Notifications
You must be signed in to change notification settings - Fork 127
Water Hammer Tutorial #660
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
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
/*--------------------------------*- C++ -*----------------------------------*\ | ||
| ========= | | | ||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | ||
| \\ / O peration | Version: 5 | | ||
| \\ / A nd | Web: www.OpenFOAM.org | | ||
| \\/ M anipulation | | | ||
\*---------------------------------------------------------------------------*/ |
There was a problem hiding this comment.
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.
/*--------------------------------*- 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. | ||
|
There was a problem hiding this comment.
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):
|
||
```bash | ||
cd case-3d/fluid3d-openfoam-uncoupled && ./run.sh | ||
``` |
There was a problem hiding this comment.
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 | ||
|
There was a problem hiding this comment.
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). |
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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:
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
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.
Checklist:
changelog-entries/<PRnumber>.md
.