25#ifndef DUMUX_INCOMPRESSIBLE_ONEP_TEST_PROBLEM_HH
26#define DUMUX_INCOMPRESSIBLE_ONEP_TEST_PROBLEM_HH
29#include <dune/grid/spgrid.hh>
32#include <dune/alugrid/grid.hh>
49#define FVGEOMCACHING 0
54template<
class TypeTag>
class OnePTestProblem;
67template<
class TypeTag>
68struct Grid<TypeTag,
TTag::OnePIncompressible> {
using type = Dune::SPGrid<double, 2>; };
72template<
class TypeTag>
76template<
class TypeTag>
80template<
class TypeTag>
84template<
class TypeTag>
92template<
class TypeTag>
94template<
class TypeTag>
95struct EnableGridFluxVariablesCache<TypeTag, TTag::OnePIncompressible> {
static constexpr bool value =
false; };
96template<
class TypeTag>
97struct EnableGridGeometryCache<TypeTag, TTag::OnePIncompressible> {
static constexpr bool value =
FVGEOMCACHING; };
107template<
class TypeTag>
112 using Element =
typename GridView::template Codim<0>::Entity;
118 static constexpr int dimWorld = GridView::dimensionworld;
119 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
138 BoundaryTypes values;
139 values.setAllDirichlet();
156 template<
class Po
intSource>
159 constexpr std::size_t numS = 20;
160 pointSources.reserve(numS);
161 for (
int i = 0; i < numS; ++i)
163 const double angle = double(i)/numS*M_PI*2.0;
164 const double weight = 1.0/double(numS);
165 auto values = sourceValues_;
167 auto pos = sourcePosition_;
168 pos.axpy(sourceRadius_, GlobalPosition({std::cos(angle), std::sin(angle)}));
169 pointSources.emplace_back(pos, values);
182 PrimaryVariables values(0);
183 values[0] = 1.0e+5*(2.0 - globalPos[dimWorld-1]);
200 GlobalPosition sourcePosition_;
201 SourceValues sourceValues_;
202 Scalar sourceRadius_;
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.
T getParam(Args &&... args)
A free function to get a parameter from the parameter tree singleton.
Definition parameters.hh:428
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
Type tag for numeric models.
Definition grid.hh:35
const GridGeometry & gridGeometry() const
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
Definition common/properties.hh:91
If disabled, the volume variables are not stored (reduces memory, but is slower).
Definition common/properties.hh:178
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
Base class for all fully implicit porous media problems.
Definition dumux/porousmediumflow/problem.hh:39
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
Multidomain test problem for the incompressible one-phase model.
Definition test/multidomain/boundary/darcydarcy/1p_1p/problem.hh:45
PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const
Evaluates the boundary conditions for a Dirichlet control volume.
Definition test/porousmediumflow/1p/implicit/periodicbc/problem.hh:180
OnePTestProblem(std::shared_ptr< const GridGeometry > gridGeometry)
Definition test/porousmediumflow/1p/implicit/periodicbc/problem.hh:122
void addPointSources(std::vector< PointSource > &pointSources) const
Applies a vector of point sources. The point sources are possibly solution dependent.
Definition test/porousmediumflow/1p/implicit/periodicbc/problem.hh:157
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/periodicbc/problem.hh:136
Scalar temperature() const
Returns the temperature for an isothermal problem.
Definition test/porousmediumflow/1p/implicit/periodicbc/problem.hh:194
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
OnePTestProblem< TypeTag > type
Definition test/porousmediumflow/1p/implicit/convergence/problem.hh:64
OnePTestSpatialParams< GridGeometry, Scalar > type
Definition test/porousmediumflow/1p/implicit/convergence/problem.hh:72
OnePIncompressibleLocalResidual< TypeTag > type
Definition test/porousmediumflow/1p/implicit/convergence/problem.hh:77
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition test/porousmediumflow/1p/implicit/convergence/problem.hh:83
FluidSystems::OnePLiquid< Scalar, Components::Constant< 0, Scalar > > type
Definition test/porousmediumflow/1p/implicit/convergence/problem.hh:84
A single-phase, isothermal flow model using the fully implicit scheme.
Base class for all porous media problems.
#define FVGEOMCACHING
Definition test/porousmediumflow/1p/implicit/periodicbc/problem.hh:49
Element-wise calculation of the residual and its derivatives for a single-phase, incompressible,...
The spatial parameters for the incompressible test.