Commit 6834ca30 authored by Felix Weinhardt's avatar Felix Weinhardt
Browse files

[exercise-coupling-ff-pm]

update readme
parent 600f2cdf
......@@ -27,7 +27,7 @@ The same applies for types such as `GridManager`, `FVGridGeometry`, `Problem`, e
Since we use a monolithic coupling scheme, there is only one `Assembler` and one `NewtonSolver`.
The problem files very much look like "regular", uncoupled ones with the exception that they hold a pointer to the `CouplingManager` which allows to evaluate the coupling conditions and to exchange information between the coupled models.
The coupling conditions are realized technically in terms of boundary condition. For instance, in lines 171 and 172
The coupling conditions are realized technically in terms of boundary condition. For instance, in lines 178 and 179
in `ex_interface_ffproblem.hh`, `couplingNeumann` boundary conditions are set, which means that the free flow models evaluates the
mass and momentum fluxes coming from the porous domain and uses these values as boundary conditions at the interface.
......@@ -147,7 +147,7 @@ the analytical solution of $`v_x`$ on the free flow domain. Play around with the
__Task C: Cange shape of interface__
Now we want to include a non-flat interface between the two domains. We use `dune-subgrid` to construct
two grids for the two domains from one common host grid. Comment out lines 93-103 in `ex_interface_coupling_ff-pm.cc` and comment lines 112-147 in the same file. This will instantiate a host grid and define two helper lambda functions that are used to choose elements from to host grid for the respective sub grid. In the given case,
two grids for the two domains from one common host grid. Comment out lines 96-106 in `ex_interface_coupling_ff-pm.cc` and comment lines 114-149 in the same file. This will instantiate a host grid and define two helper lambda functions that are used to choose elements from to host grid for the respective sub grid. In the given case,
the domain is split in two haves, separated by a sinusoidal interface.
```cpp
......@@ -186,7 +186,7 @@ values.setCouplingNeumann(scvf.directionIndex());
```
The same if true for the BJS condition, however, here we need to consider the tangential direction:
```cpp
values.setCouplingNeumann(1 - scvf.directionIndex());
values.setBJS(1 - scvf.directionIndex());
```
The final result should look something like this:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment