Skip to content

Commit 8ecbbe2

Browse files
committed
Update documentation for updated structure
1 parent e3aba96 commit 8ecbbe2

File tree

3 files changed

+10
-20
lines changed

3 files changed

+10
-20
lines changed

partitioned-heat-conduction/README.md

+8-18
Original file line numberDiff line numberDiff line change
@@ -27,40 +27,30 @@ You can either couple a solver with itself or different solvers with each other.
2727

2828
* Nutils. Install [Nutils](http://www.nutils.org/en/latest/).
2929

30-
* OpenFOAM. Running this tutorial with OpenFOAM is a bit of a challenge and requires some special considerations. First of all, OpenFOAM does not provide a Laplace solver with a non-zero right-hand side. Therefore, we provide a modified Laplace solver together with the tutorial, which needs to be compiled before running the tutorial. The solver can be compiled by executing `wmake` in the solver directory `./openfoam-neumann/solver`. Afterwards, the custom solver `heatTransfer` can be started from the respective OpenFOAM case directory, as usual. The second challenge is given by the time- and space-dependent Dirichlet boundary conditions required for domain boundaries belonging not to the interface. For this purpose, a valid installation of `groovyBC` (part of `swak4Foam`) is required. Having the solver and an evaluator for the boundaries, the tutorial is ready to run. However, if you want to modify the tutorial the space-dependent initial condition of this tutorial state the third challenge. We let `funkySetFields`, which is installed along with OpenFOAM by default, evaluate the initial condition. You can simply execute the script `setInitialField.sh` in order to evaluate and store the required initial condition in the `0` directory. Note that `funkySetFields` overrides unintentionally the boundary conditions as well, so that you might need to restore them after you executed it.
30+
* OpenFOAM. Running this tutorial with OpenFOAM is a bit of a challenge and requires some special considerations. First of all, OpenFOAM does not provide a Laplace solver with a non-zero right-hand side. Therefore, we provide a modified Laplace solver together with the tutorial, which needs to be compiled before running the tutorial. The solver can be compiled by executing `wmake` in the solver directory `./openfoam-solver/`. Afterwards, the custom solver `heatTransfer` can be started from the respective OpenFOAM case directory by copying it into the OpenFOAM solver directory or copying it directly into the case directory. The second challenge is given by the time- and space-dependent Dirichlet boundary conditions required for domain boundaries belonging not to the interface. For this purpose, a valid installation of `groovyBC` (part of `swak4Foam`) is required. Having the solver and an evaluator for the boundaries, the tutorial is ready to run. However, if you want to modify the tutorial the space-dependent initial condition of this tutorial state the third challenge. We let `funkySetFields`, which is installed along with OpenFOAM by default, evaluate the initial condition. You can simply execute the script `setInitialField.sh` in order to evaluate and store the required initial condition in the `0` directory. Note that `funkySetFields` overrides unintentionally the boundary conditions as well, so that you might need to restore them after you executed it.
3131

3232
## Running the simulation
3333

34-
This tutorial is for FEniCS and Nutils. You can find the corresponding `run.sh` script in the folders `fenics` and `nutils`.
34+
You can find the corresponding `run.sh` script in each participant solver.
3535

36-
For choosing whether you want to run the Dirichlet-kind and a Neumann-kind participant, please provide the following commandline input:
36+
In case of `fenics` and `nutils` the Dirichlet-kind and a Neumann-kind participant are currently merged into a single participant directory. Therefore, please provide the following command line input argument:
3737

3838
* `-d` flag will enforce Dirichlet boundary conditions on the coupling interface.
3939
* `-n` flag will enforce Neumann boundary conditions on the coupling interface.
4040

41-
For running the case, open two terminals run:
41+
For running the case, a Dirichlet and a Neumann participant need to be executed, e.g., `./run.sh -d` and `./run.sh. -n`
4242

43-
```bash
44-
cd fenics
45-
./run.sh -d
46-
```
47-
48-
and
49-
50-
```bash
51-
cd fenics
52-
./run.sh -n
53-
```
54-
55-
If you want to use Nutils for one or both sides of the setup, just `cd nutils`. The FEniCS case also supports parallel runs. Here, you cannot use the `run.sh` script, but must simply execute
43+
The FEniCS case also supports parallel runs. Here, you cannot use the `run.sh` script, but must simply execute
5644

5745
```bash
5846
mpirun -n <N_PROC> python3 heat.py -d
5947
```
6048

49+
OpenFOAM supports parallel runs as usual. However, you need to execute the command manually by running: `mpirun -np <N_PROC> ./heatTransfer`.
50+
6151
### Note on the combination of Nutils & FEniCS
6252

63-
You can mix the Nutils and FEniCS solver, if you like. Note that the error for a pure FEniCS simulation is lower than for a mixed one. We did not yet study the origin of this error, but assume that this is due to the fact that Nutils uses Gauss points as coupling mesh and therefore entails extrapolation in the data mapping at the top and bottom corners.
53+
You can mix the Nutils and FEniCS solver, if you like. Note that the error for a pure FEniCS simulation is lower than for a mixed one, because the FEniCS participants use the same coupling mesh, i.e., the mapping error becomes significantly smaller.
6454

6555
## Visualization
6656

partitioned-heat-conduction/openfoam-dirichlet/run.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ touch openfoam-dirichlet.foam
77
if test -f "heatTransfer"; then
88
./"heatTransfer"
99
else
10-
echo "Unable to find the executable 'heatTransfer'. Please compile the solver for this tutorial using the command 'wmake' in the solver directory and copy the executable into this directory to run this tutorial."
10+
echo "Unable to find the executable 'heatTransfer'. Please compile the solver for this tutorial using the command 'wmake' in the solver directory (../openfoam-solver/) and copy the executable into this directory to run this tutorial."
1111
fi
1212

1313
. ../../tools/openfoam-remove-empty-dirs.sh && openfoam_remove_empty_dirs

partitioned-heat-conduction/openfoam-neumann/run.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ touch openfoam-dirichlet.foam
77
if test -f "heatTransfer"; then
88
./"heatTransfer"
99
else
10-
echo "Unable to find the executable 'heatTransfer'. Please compile the solver for this tutorial using the command 'wmake' in the solver directory and copy the executable into this directory to run this tutorial."
10+
echo "Unable to find the executable 'heatTransfer'. Please compile the solver for this tutorial using the command 'wmake' in the solver (../openfoam-solver/) directory and copy the executable into this directory to run this tutorial."
1111
fi
1212

1313
. ../../tools/openfoam-remove-empty-dirs.sh && openfoam_remove_empty_dirs

0 commit comments

Comments
 (0)