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