diff --git a/exercises/exercise-coupling-ff-pm/README.md b/exercises/exercise-coupling-ff-pm/README.md index 45fe72ca64ef500c66a3fc620eec97ce33af8ed6..23fbaa64acff215e0ee0927a6992f381d69ce36d 100644 --- a/exercises/exercise-coupling-ff-pm/README.md +++ b/exercises/exercise-coupling-ff-pm/README.md @@ -18,10 +18,10 @@ The problem-related files for this exercise are: * Three __main files__ for the three sub-tasks :`interface/main.cc`, `models/main.cc`, `turbulence/main.cc`, * Three __free flow problem files__: `interface/freeflowsubproblem.hh`, `models/freeflowsubproblem.hh`, `turbulence/freeflowsubproblem.hh` * Three __porous medium flow problem files__: `interface/porousmediumsubproblem.hh`, `models/porousmediumsubproblem.hh`, `turbulence/porousmediumsubproblem.hh` +* Three __properties files__: `interface/properties.hh`, `models/properties.hh`, `turbulence/properties.hh` * The __input files__: `interface/params.input`, `models/parmas.input`, `turbulence/params.input`, * The __spatial parameters files__: `1pspatialparams.hh`, `2pspatialparams.hh` - In the main file, `TypeTags` for both submodels are defined. The same applies for types such as `GridManager`, `FVGridGeometry`, `Problem`, etc... Since we use a monolithic coupling scheme, there is only one `Assembler` and one `NewtonSolver`. @@ -163,7 +163,7 @@ auto elementSelectorDarcy = [&](const auto& element) }; ``` -Make sure, that you have uncommented the lines including the grid managers in both problem files +Make sure, that you have uncommented the lines including the grid managers in both properties files ```cpp #include <dumux/io/grid/gridmanager_sub.hh> ``` @@ -216,7 +216,7 @@ __Task A: Change the model__: In the first task, the porous-medium model will be changed from a 1p2c system to a 2p2c system. Although a 2p2c system is plugged in, we still want to simulate the same situation as before, i.e., air with water vapor in both domains. -The following changes have to be made in the porous-medium model (`models/porousmediumsubproblem.hh`): +The following changes have to be made in the porous-medium model (`models/properties.hh`): * Include the 2pnc model: include the respective headers and inherit from the new model `TwoPNC` * Exchange the spatial parameters for the 1-phase system by those for a 2-phase system (hint: two occurrences). * Since two phases are involved now, we do not need to use the `OnePAdapter` anymore. Change to property of the `FluidSystem` such that `H2OAir` is used directly. @@ -233,7 +233,7 @@ template<class TypeTag> struct Formulation<TypeTag, TTag::DarcyOnePNC> { static constexpr auto value = TwoPFormulation::p1s0; }; ``` - in the Properties section in the problem file. + in the properties file. In contrast to the formulation, which stays the same during one simulation, the meaning of the primary variables may vary during one simulation. @@ -312,18 +312,23 @@ All the prepared files can be found in the subfolder `exercise-coupling-ff-pm/tu __Task A__: -The file `freeflowsubproblem.hh` is your free flow problem file within this exercise. +The file `freeflowsubproblem.hh` is your free flow problem file and `properties.hh` is the properties file within this exercise. -For using the compositional zero equation turbulence model, the following header files need to be included: +For using the compositional zero equation turbulence model, the following header files need to be included + in properties file: ``` #include <dumux/freeflow/compositional/zeroeqncmodel.hh> +``` +and in problem file: +``` #include <dumux/freeflow/rans/problem.hh> ``` + 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 `StokesZeroEq` definition accordingly (non-isothermal zero equation model, ZeroEqNCNI) -* Adapt the inheritance of the problem class (hint: two occurrences) +* Change the entry in the `StokesZeroEq` definition accordingly (non-isothermal zero equation model, ZeroEqNCNI) in the properties file, +* Adapt the inheritance of the problem class in problem file. Take a look into the two headers included above to see how the correct TypeTag and the Problem class the inherit from are called.