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 51 additions and 42 deletions
......@@ -10,6 +10,8 @@ Name = biomin
UpperRight = 20 15 # x-/y-coordinates of the upper-right corner of the grid [m]
Cells = 20 15 # x-/y-resolution of the grid
# TODO: dumux-course-task 4:
# vary parameters InjBioTime, InitBiofilm, InjVolumeflux, ConcUrea and ConcCa
[Initial]
InitDensityW = 997 # [kg/m³] initial wetting density
InitPressure = 1e5 # [Pa] initial pressure
......@@ -47,5 +49,5 @@ KUrea = 0.355 # [mol/kgH2O] Lauchnor et al. 2014
[Brine]
Salinity = 0.1
#TODO: dumux-course-task
# TODO: dumux-course-task 6:
# add the power law's exponent parameter PowerLaw.Exponent = 5.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
//
/*!
......@@ -19,7 +19,7 @@
#include <dumux/porousmediumflow/2pncmin/model.hh>
#include <dumux/porousmediumflow/problem.hh>
#include <dumux/material/components/simpleco2.hh> //!< Simplified CO2 component based on ideal gas law
// TODO: dumux-course-task
// TODO: dumux-course-task 7:
// include the CO2 component and tabulated values from DuMux
#include "solidsystems/biominsolidphase.hh" // The biomineralization solid system
......@@ -52,7 +52,7 @@ struct FluidSystem<TypeTag, TTag::ExerciseBioMin>
{
private:
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
// TODO: dumux-course-task
// TODO: dumux-course-task 7:
// use the CO2 component with tabulated values
using CO2Impl = Components::SimpleCO2<Scalar>;
using H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>;
......
// -*- 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
add_subdirectory(interface)
......
# 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 ex_interface_coupling_ff-pm
......
// -*- 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
//
/*!
......@@ -71,7 +71,7 @@ public:
const auto& globalPos = scvf.dofPosition();
// TODO: dumux-course-task 1.A
// TODO: dumux-course-task 1.A:
// Change the boundary conditions here as described in the exercise
if(onUpperBoundary_(globalPos))
{
......@@ -89,16 +89,15 @@ public:
// coupling interface
if(couplingManager().isCoupledEntity(CouplingManager::stokesIdx, scvf))
{
// TODO: dumux-course-task 1.C:
// set the Beaver-Joseph-Saffman slip condition for the tangential momentum balance equation,
// consider orientation of face automatically
values.setCouplingNeumann(Indices::conti0EqIdx);
values.setCouplingNeumann(Indices::momentumYBalanceIdx);
// TODO: dumux-course-task 1.B
// TODO: dumux-course-task 1.B:
// Replace Dirichlet BC with Beavers-Joseph-Saffman slip condition for the tangential momentum balance
values.setDirichlet(Indices::velocityXIdx); // assume no slip on interface
// TODO: dumux-course-task 1.C
// set the Beaver-Joseph-Saffman slip condition for the tangential momentum balance equation,
// consider orientation of face automatically
}
return values;
......@@ -112,8 +111,10 @@ public:
PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const
{
PrimaryVariables values(0.0);
// TODO: dumux-course-task 1.A:
// set a no-slip, no-flow condition at the top
values[Indices::velocityYIdx] = -1e-6 * globalPos[0] * (this->gridGeometry().bBoxMax()[0] - globalPos[0]);
// TODO: dumux-course-task 1.A
// TODO: dumux-course-task 1.A:
// set fixed pressures on the left and right boundary
return values;
......
// -*- 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
//
/*!
......@@ -52,7 +52,7 @@ int main(int argc, char** argv)
using FreeflowTypeTag = Properties::TTag::FreeflowOneP;
using PorousMediumTypeTag = Properties::TTag::PorousMediumFlowOneP;
//TODO: dumux-course-task 1.C
//TODO: dumux-course-task 1.C:
// ******************** comment-out this section for the last exercise **************** //
// create two individual grids (from the given grid file or the input file)
......@@ -168,7 +168,7 @@ int main(int argc, char** argv)
StaggeredVtkOutputModule<FreeflowGridVariables, decltype(freeflowSol)> freeflowVtkWriter(*freeflowGridVariables, freeflowSol, freeflowName);
GetPropType<FreeflowTypeTag, Properties::IOFields>::initOutputModule(freeflowVtkWriter);
//TODO: dumux-course-task 1.B
//TODO: dumux-course-task 1.B:
//****** uncomment the add analytical solution of v_x *****//
// freeflowVtkWriter.addField(freeflowProblem->getAnalyticalVelocityX(), "analyticalV_x");
......
# # TODO: dumux-course-task 1.C: uncomment the following group [Grid]
# # for dune-subgrid
# TODO: dumux-course-task 1.C: uncomment the following group [Grid]
# for dune-subgrid
#[Grid]
#Positions0 = 0 1
#Positions1 = 0 0.2 0.3 0.65
......@@ -10,6 +10,7 @@
#Offset = 0.5 # [m]
#Scaling = 0.2 #[m]
# TODO: dumux-course-task 1.B: change the grid resolution and examine the effects on the velocity profile
# TODO: dumux-course-task 1.C: comment or delete the group [Freeflow.Grid]
[Freeflow.Grid]
Verbosity = true
......@@ -19,6 +20,7 @@ Cells0 = 20
Cells1 = 100
Grading1 = 1
# TODO: dumux-course-task 1.B: change the grid resolution and examine the effects on the velocity profile
# TODO: dumux-course-task 1.C: comment or delete the group [PorousMedium.Grid]
[PorousMedium.Grid]
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
//
/*!
......@@ -65,6 +65,8 @@ public:
{
BoundaryTypes values;
// TODO: dumux-course-task 1.A:
// Set for all boundaries Neumann no-flow and keep the coupling conditions
// set Neumann BCs to all boundaries first
values.setAllNeumann();
......
// -*- 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
//
/*!
......@@ -16,7 +16,7 @@
#include <dumux/multidomain/staggeredtraits.hh>
#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
// TODO: dumux-course-task 1.C
// TODO: dumux-course-task 1.C:
//****** uncomment for the last exercise *****//
// #include <dumux/io/grid/gridmanager_sub.hh>
......@@ -86,7 +86,7 @@ struct Grid<TypeTag, TTag::PorousMediumFlowOneP>
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using TensorGrid = Dune::YaspGrid<2, Dune::TensorProductCoordinates<Scalar, dim> >;
// TODO: dumux-course-task 1.C
// TODO: dumux-course-task 1.C:
//****** comment out for the last exercise *****//
// use "normal" grid
using type = TensorGrid;
......@@ -103,7 +103,7 @@ struct Grid<TypeTag, TTag::FreeflowOneP>
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using TensorGrid = Dune::YaspGrid<2, Dune::TensorProductCoordinates<Scalar, dim> >;
// TODO: dumux-course-task 1.C
// TODO: dumux-course-task 1.C:
//****** comment out for the last exercise *****//
// use "normal" grid
using type = TensorGrid;
......
# 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_models_coupling_ff-pm
......
// -*- 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
//
/*!
......
......@@ -42,6 +42,8 @@ Temperature = 293.15
[Problem]
Name = models_coupling
# TODO: dumux-course-task 2.B: enable ExportStorage for .csv output file,
# enable plotting for gnuplot, enable ExportFluxes to export to .json file
ExportStorage = false
PlotStorage = false
ExportFluxes = false
......
# 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
import json
......
// -*- 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
//
/*!
......@@ -335,9 +335,9 @@ public:
PrimaryVariables values(0.0);
values[pressureIdx] = freeflowPressure;
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Declare here which phases are present.
// TODO: dumux-course-task 2.C
// TODO: dumux-course-task 2.C:
// Change initial condition to 2p system with liquid saturation of 0.1
values[transportCompIdx] = moleFraction_;
......
// -*- 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
//
/*!
......@@ -25,10 +25,10 @@
#include <dumux/discretization/cctpfa.hh>
#include <dumux/material/fluidmatrixinteractions/diffusivityconstanttortuosity.hh>
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Include 2pnc model here
#include <dumux/porousmediumflow/1pnc/model.hh>
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Include spatial params for a 2-phase system
#include "../1pspatialparams.hh"
#include "porousmediumsubproblem.hh"
......@@ -44,7 +44,7 @@ namespace Dumux::Properties {
// Create new type tags
namespace TTag {
struct FreeflowNC { using InheritsFrom = std::tuple<NavierStokesNC, StaggeredFreeFlowModel>; };
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Change the inheritance such that the correct model is used.
struct PorousMediumOnePNC { using InheritsFrom = std::tuple<OnePNC, CCTpfaModel>; };
} // end namespace TTag
......@@ -70,7 +70,7 @@ template<class TypeTag>
struct Problem<TypeTag, TTag::FreeflowNC> { using type = Dumux::FreeFlowSubProblem<TypeTag> ; };
// The fluid system
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Change to property of the `FluidSystem` such that `H2OAir` is used directly.
template<class TypeTag>
struct FluidSystem<TypeTag, TTag::PorousMediumOnePNC>
......@@ -108,11 +108,11 @@ template<class TypeTag>
struct EffectiveDiffusivityModel<TypeTag, TTag::PorousMediumOnePNC>
{ using type = DiffusivityConstantTortuosity<GetPropType<TypeTag, Properties::Scalar>>; };
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Define new formulation for primary variables here.
// Set the spatial parameters type
// TODO: dumux-course-task 2.A
// TODO: dumux-course-task 2.A:
// Adapt the spatial params here.
template<class TypeTag>
struct SpatialParams<TypeTag, TTag::PorousMediumOnePNC> {
......
# 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 ex_interface_coupling_ff-pm
......