diff --git a/exercises/exercise-coupling-ff-pm/README.md b/exercises/exercise-coupling-ff-pm/README.md index 7a9e88cc33ea3d0dfba0fd0f6223afc790c2df51..6066ca60bd888009cd9d1e7a370e75cf6825f7a0 100644 --- a/exercises/exercise-coupling-ff-pm/README.md +++ b/exercises/exercise-coupling-ff-pm/README.md @@ -353,14 +353,13 @@ and in problem file: The includes for the NavierStokesNC model and the NavierStokesProblem are no longer needed and can be removed. Make sure your free flow problem inherits from the correct parent type: -* Change the entry in the `FreeflowModel` definition accordingly (multi-component non-isothermal K-Omega SST model, SSTNCNI) in the properties file, +* Change the entry in the `FreeflowModel` definition accordingly (multi-component non-isothermal K-Omega SST model, `SSTNCNI`) in the properties file, * Adapt the inheritance of the problem class in problem file (Use `RANSProblem<TypeTag>` rather than `NavierStokesStaggeredProblem<TypeTag>`). - Take a look into the two headers included above to see how the correct TypeTag and the Problem class the inherit from are called. -Here, the turbulent free-flow is wall-bounded, meaning shear stress and turbulence in the flow develop primarily due to the walls. -The porous medium at the bottom and also the channel wall are examples of such walls. +Here, the turbulent free flow is wall-bounded, meaning shear stress and turbulence in the flow develop primarily due to the walls. +The porous medium at the bottom and also the channel wall (upper boundary) act here as such walls. Within the problem the location of boundaries representing walls need to be defined. -To do this, add the following function to the correct locations within the `boundaryTypes` function: +To do this, add the following function to the upper and lower boundaries within the `boundaryTypes` function in `freeflowsubproblem.hh`: ```cpp values.setWall(); ``` @@ -383,10 +382,10 @@ freeflowProblem->updateDynamicWallProperties(freeflowSol); In addition to designating the locations of walls, additional boundary conditions and initial conditions need to be set for the two new primary variables $k$ and $\omega$. In the `boundaryTypes` function, set both variables on all walls to be dirichlet, except for the right boundary, which should have outflow conditions. -For the initial conditions, reynolds number specific base conditions should be applied everywhere. +For the initial conditions, Reynolds number specific base conditions should be applied everywhere. In the problem constructor, uncomment the code calculating these terms, then apply the `turbulentKineticEnergy_`and `dissipation_` variables to their primary variables in all locations, -except for on the wall boundaries, where these values can be set to zero. +except for the wall boundaries, where these values can be set to zero. In addition, dirichlet constraints for the dissipation or $\omega$ variable will be set for all wall adjacent cells. This is done in the `isDirichletCell` function, as well as the `dirichlet` function already, and requires no further changes. diff --git a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh index a55d5505ec2b0305ef6f73f4258f3b95ad65b494..07c1b7fb708b304a80a8d9eb6292dbe06b9985bc 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh @@ -130,7 +130,7 @@ public: } // TODO: dumux-course-task 3.A - // set wall conditions for the turbulence model at the wall (values.setWall()) at the upper and lower boundary + // set wall conditions for the turbulence model at the walls (values.setWall()) corresponding to the upper and lower boundary // set boundary conditions for the turbulence model primary variables everywhere (outflow on right boundary, otherwise dirichlet) if (onLowerBoundary_(globalPos)) {