From 5d9a5a6bd38fb89091e66d33064557beccd922f2 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg <benjamin.rodenberg@cit.tum.de> Date: Wed, 20 Mar 2024 16:10:53 +0100 Subject: [PATCH 1/4] Fix structure of case. --- volume-coupled-diffusion/README.md | 25 ++++++++----------- .../{fenics => drain-fenics}/clean.sh | 0 .../drain-fenics/output/.gitkeep | 0 .../precice-adapter-config.json} | 0 volume-coupled-diffusion/drain-fenics/run.sh | 4 +++ volume-coupled-diffusion/fenics/run.sh | 24 ------------------ .../solver-fenics/output/.gitkeep | 0 .../volume-coupled-diffusion.py | 5 +--- .../source-fenics/clean.sh | 6 +++++ .../precice-adapter-config.json} | 0 volume-coupled-diffusion/source-fenics/run.sh | 4 +++ 11 files changed, 26 insertions(+), 42 deletions(-) rename volume-coupled-diffusion/{fenics => drain-fenics}/clean.sh (100%) create mode 100644 volume-coupled-diffusion/drain-fenics/output/.gitkeep rename volume-coupled-diffusion/{fenics/precice-adapter-config-drain.json => drain-fenics/precice-adapter-config.json} (100%) create mode 100755 volume-coupled-diffusion/drain-fenics/run.sh delete mode 100755 volume-coupled-diffusion/fenics/run.sh create mode 100644 volume-coupled-diffusion/solver-fenics/output/.gitkeep rename volume-coupled-diffusion/{fenics => solver-fenics}/volume-coupled-diffusion.py (94%) create mode 100755 volume-coupled-diffusion/source-fenics/clean.sh rename volume-coupled-diffusion/{fenics/precice-adapter-config-source.json => source-fenics/precice-adapter-config.json} (100%) create mode 100755 volume-coupled-diffusion/source-fenics/run.sh diff --git a/volume-coupled-diffusion/README.md b/volume-coupled-diffusion/README.md index 28ec8f660..2eb3c39d0 100644 --- a/volume-coupled-diffusion/README.md +++ b/volume-coupled-diffusion/README.md @@ -15,27 +15,24 @@ This case illustrates how to implement volume coupling in a simple toy problem. ## Available solvers and dependencies +Both participants (Source and Drain): + * FEniCS. Install [FEniCS](https://fenicsproject.org/download/) and the [FEniCS-adapter](https://github.com/precice/fenics-adapter). Additionally, you will need to have preCICE and the python bindings installed on your system. ## Running the simulation -This tutorial is for FEniCS. You can find the corresponding `run.sh` script in the folder `fenics`. - -To choose whether you want to run the source or the drain solver, please provide the following command line input: - -* `-s` flag will create a source. -* `-d` flag will create a drain. - -For running the case, open two terminals run: +FEniCS is used to run the simulation. Open two separate terminals and start the source and drain participant by calling the respective run script `run.sh` located in the participant directory. For example: -```bash -cd fenics -./run.sh -s +``` +cd source-fenics +./run.sh ``` and -```bash -cd fenics -./run.sh -d ``` +cd drain-fenics +./run.sh +``` + +in order to use FEniCS for both participants in this test case. \ No newline at end of file diff --git a/volume-coupled-diffusion/fenics/clean.sh b/volume-coupled-diffusion/drain-fenics/clean.sh similarity index 100% rename from volume-coupled-diffusion/fenics/clean.sh rename to volume-coupled-diffusion/drain-fenics/clean.sh diff --git a/volume-coupled-diffusion/drain-fenics/output/.gitkeep b/volume-coupled-diffusion/drain-fenics/output/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/volume-coupled-diffusion/fenics/precice-adapter-config-drain.json b/volume-coupled-diffusion/drain-fenics/precice-adapter-config.json similarity index 100% rename from volume-coupled-diffusion/fenics/precice-adapter-config-drain.json rename to volume-coupled-diffusion/drain-fenics/precice-adapter-config.json diff --git a/volume-coupled-diffusion/drain-fenics/run.sh b/volume-coupled-diffusion/drain-fenics/run.sh new file mode 100755 index 000000000..3ae91af6b --- /dev/null +++ b/volume-coupled-diffusion/drain-fenics/run.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -e -u + +python3 ../solver-fenics/volume-coupled-diffusion.py --drain \ No newline at end of file diff --git a/volume-coupled-diffusion/fenics/run.sh b/volume-coupled-diffusion/fenics/run.sh deleted file mode 100755 index d15dd2163..000000000 --- a/volume-coupled-diffusion/fenics/run.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -set -e -u - -usage() { echo "Usage: cmd [-s] [-d]" 1>&2; exit 1; } - -# Check if no input argument was provided -if [ -z "$*" ] ; then - usage -fi - -# Select appropriate case -while getopts ":sd" opt; do - case ${opt} in - s) - python3 volume-coupled-diffusion.py --source - ;; - d) - python3 volume-coupled-diffusion.py --drain - ;; - *) - usage - ;; - esac -done diff --git a/volume-coupled-diffusion/solver-fenics/output/.gitkeep b/volume-coupled-diffusion/solver-fenics/output/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/volume-coupled-diffusion/fenics/volume-coupled-diffusion.py b/volume-coupled-diffusion/solver-fenics/volume-coupled-diffusion.py similarity index 94% rename from volume-coupled-diffusion/fenics/volume-coupled-diffusion.py rename to volume-coupled-diffusion/solver-fenics/volume-coupled-diffusion.py index d6694ede7..034ebec2e 100644 --- a/volume-coupled-diffusion/fenics/volume-coupled-diffusion.py +++ b/volume-coupled-diffusion/solver-fenics/volume-coupled-diffusion.py @@ -26,10 +26,7 @@ def inside(self, x, on_boundary): command_group.add_argument("-d", "--drain", help="create a drain", dest="drain", action="store_true") args = parser.parse_args() -if args.source: - precice = Adapter(adapter_config_filename="precice-adapter-config-source.json") -elif args.drain: - precice = Adapter(adapter_config_filename="precice-adapter-config-drain.json") +precice = Adapter(adapter_config_filename="precice-adapter-config.json") mesh = UnitSquareMesh(10, 10) V = FunctionSpace(mesh, "P", 1) diff --git a/volume-coupled-diffusion/source-fenics/clean.sh b/volume-coupled-diffusion/source-fenics/clean.sh new file mode 100755 index 000000000..3a8b4619d --- /dev/null +++ b/volume-coupled-diffusion/source-fenics/clean.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -e -u + +. ../../tools/cleaning-tools.sh + +clean_fenics . diff --git a/volume-coupled-diffusion/fenics/precice-adapter-config-source.json b/volume-coupled-diffusion/source-fenics/precice-adapter-config.json similarity index 100% rename from volume-coupled-diffusion/fenics/precice-adapter-config-source.json rename to volume-coupled-diffusion/source-fenics/precice-adapter-config.json diff --git a/volume-coupled-diffusion/source-fenics/run.sh b/volume-coupled-diffusion/source-fenics/run.sh new file mode 100755 index 000000000..1bdbe5662 --- /dev/null +++ b/volume-coupled-diffusion/source-fenics/run.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -e -u + +python3 ../solver-fenics/volume-coupled-diffusion.py --source \ No newline at end of file From 3b14609919c3ec0d2477d6d62979dc38596ca88a Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg <benjamin.rodenberg@cit.tum.de> Date: Wed, 20 Mar 2024 19:56:11 +0100 Subject: [PATCH 2/4] Remove unneeded. --- volume-coupled-diffusion/solver-fenics/output/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 volume-coupled-diffusion/solver-fenics/output/.gitkeep diff --git a/volume-coupled-diffusion/solver-fenics/output/.gitkeep b/volume-coupled-diffusion/solver-fenics/output/.gitkeep deleted file mode 100644 index e69de29bb..000000000 From 7c4dfdbd1c981e364d441209c2c94063e473c7a7 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg <benjamin.rodenberg@cit.tum.de> Date: Wed, 20 Mar 2024 20:01:53 +0100 Subject: [PATCH 3/4] Fix format. --- volume-coupled-diffusion/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/volume-coupled-diffusion/README.md b/volume-coupled-diffusion/README.md index 2eb3c39d0..87adf2435 100644 --- a/volume-coupled-diffusion/README.md +++ b/volume-coupled-diffusion/README.md @@ -23,16 +23,16 @@ Both participants (Source and Drain): FEniCS is used to run the simulation. Open two separate terminals and start the source and drain participant by calling the respective run script `run.sh` located in the participant directory. For example: -``` +```bash cd source-fenics ./run.sh ``` and -``` +```bash cd drain-fenics ./run.sh ``` -in order to use FEniCS for both participants in this test case. \ No newline at end of file +in order to use FEniCS for both participants in this test case. From bf5fee34a1e38d7956819e10f77c81c4b7c81e42 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg <benjamin.rodenberg@cit.tum.de> Date: Wed, 20 Mar 2024 20:08:57 +0100 Subject: [PATCH 4/4] Remove unneeded. --- volume-coupled-diffusion/drain-fenics/output/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 volume-coupled-diffusion/drain-fenics/output/.gitkeep diff --git a/volume-coupled-diffusion/drain-fenics/output/.gitkeep b/volume-coupled-diffusion/drain-fenics/output/.gitkeep deleted file mode 100644 index e69de29bb..000000000