26#ifndef DUMUX_SALTWATERINTRUSION_TEST_PROBLEM_HH
27#define DUMUX_SALTWATERINTRUSION_TEST_PROBLEM_HH
29#include <dune/grid/yaspgrid.hh>
40template <
class TypeTag>
50template<
class TypeTag>
51struct Grid<TypeTag,
TTag::SaltWaterIntrusionTest> {
using type = Dune::YaspGrid<2>; };
54template<
class TypeTag>
58template<
class TypeTag>
63template<
class TypeTag>
72template<
class TypeTag>
73struct UseMoles<TypeTag,
TTag::SaltWaterIntrusionTest> {
static constexpr bool value =
false; };
87template <
class TypeTag>
95 using Element =
typename GridView::template Codim<0>::Entity;
96 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
103 enum { pressureIdx = Indices::pressureIdx };
126 {
return 273.15 + 20; }
143 BoundaryTypes values;
144 values.setAllNeumann();
147 if(globalPos[0] < eps_ || globalPos[0] > this->
gridGeometry().bBoxMax()[0] - eps_)
148 values.setAllDirichlet();
163 if (globalPos[0] > this->
gridGeometry().bBoxMax()[0] - eps_)
164 values[FluidSystem::NaClIdx] = 0.035;
183 const Scalar depth = this->
gridGeometry().bBoxMax()[1] - globalPos[1];
184 PrimaryVariables priVars;
185 priVars[pressureIdx] = 1e5 + depth*9.81*1000;
186 priVars[FluidSystem::NaClIdx] = 0.0;
193 static constexpr Scalar eps_ = 1e-6;
Defines a type tag and some properties for models using the box scheme.
make the local view function available whenever we use the grid geometry
Definition adapt.hh:29
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:153
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:149
Definition common/properties.hh:47
Type tag for numeric models.
Definition grid.hh:35
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition common/fvproblem.hh:588
The DUNE grid type.
Definition common/properties.hh:57
Property to specify the type of a problem which has to be solved.
Definition common/properties.hh:69
Property whether to use moles or kg as amount unit for balance equations.
Definition common/properties.hh:102
The type of the spatial parameters object.
Definition common/properties.hh:221
The type of the fluid system to use.
Definition common/properties.hh:223
A compositional single phase fluid system consisting of two components, which are H2O and NaCl.
Definition fluidsystems/brine.hh:48
PorousMediumFlowProblem(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< SpatialParams > spatialParams, const std::string ¶mGroup="")
Constructor, passing the spatial parameters.
Definition dumux/porousmediumflow/problem.hh:67
Definition of a problem involving salt water intrusion into a fresh water aquifer.
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:89
Scalar temperature() const
Returns the temperature within the domain [K]. This problem assumes a temperature of 20 degrees Celsi...
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:125
SaltWaterIntrusionTestProblem(std::shared_ptr< const GridGeometry > gridGeometry)
The test is defined using mass fractions.
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:109
BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const
Specifies which kind of boundary condition should be used for which equation on a given boundary segm...
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:141
PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const
Evaluates the boundary conditions for a Dirichlet boundary segment.
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:158
PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const
Evaluates the initial value for a control volume.
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:181
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:46
std::tuple< OnePNC, BoxModel > InheritsFrom
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:46
Dune::YaspGrid< 2 > type
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:51
SaltWaterIntrusionTestProblem< TypeTag > type
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:55
FluidSystems::Brine< GetPropType< TypeTag, Properties::Scalar > > type
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:60
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:67
OnePNCTestSpatialParams< GridGeometry, Scalar > type
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:68
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:66
static constexpr bool value
Definition test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh:73
Definition of the spatial parameters for the 1pnc test problems.
Definition porousmediumflow/1pnc/implicit/1p2c/spatialparams.hh:41
Adaption of the fully implicit model to the one-phase n-component flow model.
Base class for all porous media problems.
A fluid system for brine, i.e. H2O with dissolved NaCl.
Definition of the spatial parameters for the 1pnc problems.