25#ifndef DUMUX_INCOMPRESSIBLE_ONEP_TEST_PROBLEM_HH
26#define DUMUX_INCOMPRESSIBLE_ONEP_TEST_PROBLEM_HH
29#include <dune/grid/uggrid.hh>
31#include <dune/grid/yaspgrid.hh>
48#define GRIDTYPE Dune::YaspGrid<2>
53template<
class TypeTag>
class OnePTestProblem;
65template<
class TypeTag>
69template<
class TypeTag>
73template<
class TypeTag>
82template<
class TypeTag>
86template<
class TypeTag>
87struct FluidSystem<TypeTag, TTag::OnePIncompressible>
94template<
class TypeTag>
96template<
class TypeTag>
98template<
class TypeTag>
104struct OnePIncompressibleTpfaQuad {
using InheritsFrom = std::tuple<OnePIncompressibleTpfa>; };
106template<
class TypeTag>
107struct Scalar<TypeTag, TTag::OnePIncompressibleTpfaQuad> {
using type = Quad; };
115template<
class TypeTag>
116class OnePTestProblem :
public PorousMediumFlowProblem<TypeTag>
118 using ParentType = PorousMediumFlowProblem<TypeTag>;
119 using GridView = GetPropType<TypeTag, Properties::GridView>;
120 using Element =
typename GridView::template Codim<0>::Entity;
121 using Scalar = GetPropType<TypeTag, Properties::Scalar>;
122 using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
123 using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
124 using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
125 using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>;
126 static constexpr int dimWorld = GridView::dimensionworld;
127 using GlobalPosition = Dune::FieldVector<Scalar,dimWorld>;
133 extrusionFactor_ = getParam<Scalar>(
"Problem.ExtrusionFactor");
134 Scalar
permeability = getParam<Scalar>(
"SpatialParams.Permeability");
137 const bool checkIsConstantVelocity = getParam<bool>(
"Problem.CheckIsConstantVelocity",
false);
138 if(checkIsConstantVelocity)
153 BoundaryTypes values;
156 if (globalPos[dimWorld-1] <
eps || globalPos[dimWorld-1] > this->
gridGeometry().bBoxMax()[dimWorld-1] -
eps)
157 values.setAllDirichlet();
159 values.setAllNeumann();
173 PrimaryVariables values(0);
174 values[0] = 1.0e+5 + dp_dy_*(globalPos[dimWorld-1] - this->
gridGeometry().bBoxMax()[dimWorld-1]);
199 return extrusionFactor_;
214 Scalar extrusionFactor_;
216 GlobalPosition velocity_;
This file provides the infrastructure to use quad-precision floating point values in the numerical mo...
Defines a type tag and some properties for models using the box scheme.
Properties for all models using cell-centered finite volume scheme with mpfa.
Properties for all models using cell-centered finite volume scheme with TPFA.
A much simpler (and thus potentially less buggy) version of pure water.
A liquid phase consisting of a single component.
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
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
std::string viscosity(int phaseIdx) noexcept
I/O name of viscosity for multiphase systems.
Definition: name.hh:74
std::string permeability() noexcept
I/O name of permeability.
Definition: name.hh:143
constexpr double eps
epsilon for checking direction of scvf normals
Definition: test_tpfafvgeometry_nonconforming.cc:44
Base class for all finite-volume problems.
Definition: common/fvproblem.hh:50
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition: common/fvproblem.hh:588
UndefinedProperty type
Definition: common/properties.hh:53
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
Definition: common/properties.hh:91
Definition: common/properties.hh:169
If disabled, the volume variables are not stored (reduces memory, but is slower)
Definition: common/properties.hh:178
specifies if data on flux vars should be saved (faster, but more memory consuming)
Definition: common/properties.hh:188
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 liquid phase consisting of a single component.
Definition: 1pliquid.hh:46
Element-wise calculation of the residual and its derivatives for a single-phase, incompressible,...
Definition: 1p/incompressiblelocalresidual.hh:41
const GlobalPosition velocity() const
Returns the velocity.
Definition: test/porousmediumflow/1p/implicit/incompressible/problem.hh:208
PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const
Evaluates the boundary conditions for a Dirichlet control volume.
Definition: test/porousmediumflow/1p/implicit/incompressible/problem.hh:171
OnePTestProblem(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: test/porousmediumflow/1p/implicit/incompressible/problem.hh:130
Scalar extrusionFactorAtPos(const GlobalPosition &globalPos) const
Returns how much the domain is extruded at a given position.
Definition: test/porousmediumflow/1p/implicit/incompressible/problem.hh:197
BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const
Specifies which kind of boundary condition should be used for which equation on a given boundary cont...
Definition: test/porousmediumflow/1p/implicit/incompressible/problem.hh:151
Scalar temperature() const
Returns the temperature for an isothermal problem.
Definition: test/multidomain/boundary/darcydarcy/1p_1p/problem.hh:157
The spatial parameters class for the test problem using the incompressible 1p model.
Definition: multidomain/boundary/darcydarcy/1p_1p/spatialparams.hh:62
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:52
std::tuple< OneP > InheritsFrom
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:52
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:53
std::tuple< OnePIncompressible, CCTpfaModel > InheritsFrom
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:53
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:54
std::tuple< OnePIncompressible, CCMpfaModel > InheritsFrom
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:54
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:55
std::tuple< OnePIncompressible, BoxModel > InheritsFrom
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:55
Dune::YaspGrid< 2 > type
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:60
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:71
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:70
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: test/porousmediumflow/1p/implicit/convergence/problem.hh:83
A single-phase, isothermal flow model using the fully implicit scheme.
Base class for all porous media problems.
#define GRIDTYPE
Definition: test/porousmediumflow/1p/implicit/incompressible/problem.hh:48
Element-wise calculation of the residual and its derivatives for a single-phase, incompressible,...
Definition of the spatial parameters for the MaxwellStefan problem.