26#ifndef DUMUX_TRACER_TEST_PROBLEM_HH
27#define DUMUX_TRACER_TEST_PROBLEM_HH
29#include <dune/grid/yaspgrid.hh>
50template <
class TypeTag>
63template<
class TypeTag>
65template<
class TypeTag>
66struct EnableGridFluxVariablesCache<TypeTag, TTag::
TracerTest> {
static constexpr bool value =
true; };
67template<
class TypeTag>
68struct EnableGridGeometryCache<TypeTag, TTag::TracerTest> {
static constexpr bool value =
true; };
71template<
class TypeTag>
75template<
class TypeTag>
79template<
class TypeTag>
88template<
class TypeTag>
92template<
class TypeTag>
94 TracerFluidSystem<TypeTag>>
99 using Element =
typename GridView::template Codim<0>::Entity;
101 using SubControlVolume =
typename FVElementGeometry::SubControlVolume;
117 {
return "tracer_" + std::to_string(compIdx); }
121 {
return "Groundwater"; }
130 const Problem& problem,
131 const Element& element,
132 const SubControlVolume& scv)
155template<
class TypeTag>
173template <
class TypeTag>
189 using Element =
typename GridGeometry::GridView::template Codim<0>::Entity;
190 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
198 std::cout<<
"problem uses mole fractions" <<
'\n';
200 std::cout<<
"problem uses mass fractions" <<
'\n';
216 BoundaryTypes values;
217 values.setAllNeumann();
237 PrimaryVariables initialValues(0.0);
238 if (globalPos[1] > 0.4 - eps_ && globalPos[1] < 0.6 + eps_)
241 initialValues = 1e-9;
243 initialValues = 1e-9*FluidSystem::molarMass(0)/this->
spatialParams().fluidMolarMass(globalPos);
245 return initialValues; }
250 static constexpr Scalar eps_ = 1e-6;
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.
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
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
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
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
Fluid system base class.
Definition fluidsystems/base.hh:45
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition fluidsystems/base.hh:48
SpatialParams & spatialParams()
Returns the spatial parameters object.
Definition dumux/porousmediumflow/problem.hh:146
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
A simple fluid system with one tracer component.
Definition tracerfluidsystem.hh:37
Definition 1ptracer/problem_tracer.hh:50
std::tuple< Tracer > InheritsFrom
Definition 1ptracer/problem_tracer.hh:50
Dune::YaspGrid< 2 > type
Definition 1ptracer/problem_tracer.hh:64
TracerTestProblem< TypeTag > type
Definition 1ptracer/problem_tracer.hh:68
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition 1ptracer/problem_tracer.hh:74
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition 1ptracer/problem_tracer.hh:75
TracerTestSpatialParams< GridGeometry, Scalar > type
Definition 1ptracer/problem_tracer.hh:76
A simple fluid system with one tracer component.
Definition 1ptracer/problem_tracer.hh:89
static constexpr bool viscosityIsConstant(int phaseIdx)
Returns true if and only if a fluid phase is assumed to have a constant viscosity.
Definition test/porousmediumflow/tracer/constvel/problem.hh:151
static constexpr int numComponents
The number of components.
Definition 1ptracer/problem_tracer.hh:107
static Scalar binaryDiffusionCoefficient(unsigned int compIdx, const Problem &problem, const Element &element, const SubControlVolume &scv)
Definition test/porousmediumflow/tracer/constvel/problem.hh:129
static std::string componentName(int compIdx)
Human readable component name (index compIdx) (for vtk output).
Definition test/porousmediumflow/tracer/constvel/problem.hh:116
static std::string phaseName(int phaseIdx=0)
Human readable phase name (index phaseIdx) (for velocity vtk output).
Definition test/porousmediumflow/tracer/constvel/problem.hh:120
static constexpr bool isTracerFluidSystem()
Definition test/porousmediumflow/tracer/constvel/problem.hh:104
static constexpr bool isCompressible(int phaseIdx)
Returns true if and only if a fluid phase is assumed to be compressible.
Definition test/porousmediumflow/tracer/constvel/problem.hh:145
static constexpr int numPhases
Definition test/porousmediumflow/tracer/constvel/problem.hh:113
static Scalar molarMass(unsigned int compIdx)
Molar mass in kg/mol of the component with index compIdx.
Definition test/porousmediumflow/tracer/constvel/problem.hh:124
static constexpr int getMainComponent(int phaseIdx)
None of the components are the main component of the phase.
Definition test/porousmediumflow/tracer/constvel/problem.hh:108
TracerFluidSystem< TypeTag > type
Definition 1ptracer/problem_tracer.hh:131
Definition of the spatial parameters for the tracer problem.
Definition porousmediumflow/tracer/1ptracer/spatialparams_tracer.hh:41
Definition of a problem for the tracer problem: A rotating velocity field mixes a tracer band in a po...
Definition test/porousmediumflow/tracer/constvel/problem.hh:175
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/tracer/constvel/problem.hh:214
PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const
Evaluates the initial value for a control volume.
Definition test/porousmediumflow/tracer/constvel/problem.hh:235
TracerTest(std::shared_ptr< const GridGeometry > gridGeometry)
Definition test/porousmediumflow/tracer/constvel/problem.hh:193
Definition test/porousmediumflow/tracer/constvel/problem.hh:57
std::tuple< TracerTest, CCTpfaModel > InheritsFrom
Definition test/porousmediumflow/tracer/constvel/problem.hh:57
Definition test/porousmediumflow/tracer/constvel/problem.hh:58
std::tuple< TracerTest, CCMpfaModel > InheritsFrom
Definition test/porousmediumflow/tracer/constvel/problem.hh:58
Definition test/porousmediumflow/tracer/constvel/problem.hh:59
std::tuple< TracerTest, BoxModel > InheritsFrom
Definition test/porousmediumflow/tracer/constvel/problem.hh:59
Adaption of the fully implicit scheme to the tracer transport model.
Base class for all porous media problems.
#define USEMOLES
Definition test/porousmediumflow/tracer/constvel/problem.hh:41
Definition of the spatial parameters for the tracer problem.