Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • dumux-repositories/dumux-course
1 result
Show changes
Showing
with 39 additions and 38 deletions
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......@@ -18,7 +18,7 @@
#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
#include <dumux/freeflow/turbulencemodel.hh>
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Include headers for turbulence problem (rans) here.
#include <dumux/freeflow/navierstokes/staggered/problem.hh>
#include <dumux/freeflow/navierstokes/boundarytypes.hh>
......@@ -28,7 +28,7 @@ namespace Dumux {
* \brief The free-flow sub problem
*/
template <class TypeTag>
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Adapt the inheritance of the problem class.
class FreeFlowSubProblem : public NavierStokesStaggeredProblem<TypeTag>
{
......@@ -40,7 +40,7 @@ class FreeFlowSubProblem : public NavierStokesStaggeredProblem<TypeTag>
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>;
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Change the boundary types to Dumux::RANSBoundaryTypes<ModelTraits, ModelTraits::numEq()>
using BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
......@@ -109,7 +109,7 @@ public:
BoundaryTypes values;
const auto& globalPos = scvf.center();
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// set boundary conditions for the turbulence model primary variables k and \omega everywhere (outflow on right boundary, otherwise dirichlet)
if (onLeftBoundary_(globalPos))
......@@ -120,7 +120,7 @@ public:
values.setDirichlet(Indices::energyEqIdx);
}
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// set wall conditions for the turbulence model at the walls (values.setWall()) corresponding to the upper and lower boundary
if (onLowerBoundary_(globalPos))
{
......@@ -133,7 +133,7 @@ public:
if (onUpperBoundary_(globalPos))
{
// TODO: dumux-course-task 3.B
// TODO: dumux-course-task 3.B:
// Replace all conditions here with symmetric BCs.
values.setDirichlet(Indices::velocityXIdx);
values.setDirichlet(Indices::velocityYIdx);
......@@ -172,9 +172,9 @@ public:
const auto globalPos = scvf.ipGlobal();
PrimaryVariables values(initialAtPos(globalPos));
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Add dirichlet conditions setting TKE and Dissipation to zero on the upper and lower walls.
// TODO: dumux-course-task 3.B
// TODO: dumux-course-task 3.B:
// Remove the condition `onUpperBoundary_(globalPos)` here.
// if (onUpperBoundary_(globalPos) || onLowerBoundary_(globalPos))
// {
......@@ -288,12 +288,12 @@ public:
values[Indices::velocityXIdx] = refVelocity();
values[Indices::temperatureIdx] = refTemperature();
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Set initial conditions for the TKE and the Dissipation. Values calculated in the constructor
// values[Indices::turbulentKineticEnergyIdx] = TODO??;
// values[Indices::dissipationIdx] = TODO??;
// TODO: dumux-course-task 3.B
// TODO: dumux-course-task 3.B:
// Remove the condition `onUpperBoundary_(globalPos)` here.
if(onUpperBoundary_(globalPos) || onLowerBoundary_(globalPos))
values[Indices::velocityXIdx] = 0.0;
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......@@ -122,10 +122,10 @@ int main(int argc, char** argv)
couplingManager->init(freeflowProblem, porousMediumProblem, sol);
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Update static wall properties
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Update dynamic wall properties
// the grid variables
......@@ -180,7 +180,7 @@ int main(int argc, char** argv)
// make the new solution the old solution
solOld = sol;
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Update dynamic wall properties
// post time step treatment of PorousMedium problem
......
......@@ -5,13 +5,13 @@ TEnd = 864000 # [s] (6 days)
[Freeflow.Grid]
Positions0 = 0.0 0.25
# TODO: dumux-course-task 3.B - use only half of FF domain height
# TODO: dumux-course-task 3.B: use only half of FF domain height
Positions1 = 0.25 0.5
# TODO: dumux-course-task 3.C - refine towards interface
# TODO: dumux-course-task 3.C: refine towards interface
Grading0 = 1.0
Grading1 = 1.0
Cells0 = 15
# TODO: dumux-course-task 3.B - use only half of FF domain height and adapt cell number
# TODO: dumux-course-task 3.B: use only half of FF domain height and adapt cell number
Cells1 = 20
Verbosity = true
......@@ -20,7 +20,7 @@ Positions0 = 0.0 0.25
Positions1 = 0.0 0.25
Cells0 = 15
Cells1 = 10
# TODO: dumux-course-task 3.C - refine towards interface
# TODO: dumux-course-task 3.C: refine towards interface
Grading0 = 1.0
Grading1 = 1.0
Verbosity = true
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......@@ -28,7 +28,7 @@
// Free-flow domain
#include <dumux/discretization/staggered/freeflow/properties.hh>
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Include headers for compositional k-\omega SST turbulence model here.
#include <dumux/freeflow/compositional/navierstokesncmodel.hh>
......@@ -39,7 +39,7 @@ namespace Dumux::Properties {
// Create new type tags
namespace TTag {
struct PorousMediumFlowModel { using InheritsFrom = std::tuple<TwoPTwoCNI, CCTpfaModel>; };
// TODO: dumux-course-task 3.A
// TODO: dumux-course-task 3.A:
// Change the entry in the `FreeflowModel` definition accordingly.
struct FreeflowModel { using InheritsFrom = std::tuple<NavierStokesNCNI, StaggeredFreeFlowModel>; };
} // end namespace TTag
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
# SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
# SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
# SPDX-License-Identifier: GPL-3.0-or-later
# executables for exercise part a & b
......
......@@ -20,4 +20,5 @@ UpperRight = 60 60 # x-/y-coordinates of the upper-right corner of the grid [m]
Cells = 60 60 # x-/y-resolution of the grid
[Output]
# TODO: dumux-course-task 2.2: set the plot density to true
PlotDensity = false # plot density over pressure for your component
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......
# SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
# SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
# SPDX-License-Identifier: GPL-3.0-or-later
dumux_add_test(NAME exercise_fractures
......
......@@ -157,7 +157,7 @@ BoundaryTypes interiorBoundaryTypes(const Element& element, const SubControlVolu
// the interior boundary conditions to Dirichlet.
// IMPORTANT: Note that you will never be asked to set any values at the interior boundaries!
// This simply chooses a different interface condition!
// TODO dumux-course-task C
// TODO: dumux-course-task B:
// Change coupling conditions!
values.setAllDirichlet();
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
//
// SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-FileCopyrightText: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
// SPDX-License-Identifier: GPL-3.0-or-later
//
/*!
......@@ -78,7 +78,7 @@ public:
// However, there is one fracture reaching the top boundary. For this
// fracture tip we set Dirichlet Bcs as in the matrix domain
// TODO dumux-course-task A
// TODO: dumux-course-task A:
// Change boundary conditions
if (globalPos[1] > this->gridGeometry().bBoxMax()[1] - 1e-6)
values.setAllDirichlet();
......