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)
134 static const Scalar D = getParam<Scalar>(
"Problem.D");
135 static const Scalar D2 = getParam<Scalar>(
"Problem.D2");
155template<
class TypeTag>
173template <
class TypeTag>
188 static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>();
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.
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
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
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
Base class for all fully implicit porous media problems.
Definition: dumux/porousmediumflow/problem.hh:39
SpatialParams & spatialParams()
Returns the spatial parameters object.
Definition: dumux/porousmediumflow/problem.hh:146
GetPropType< TypeTag, Properties::SpatialParams > SpatialParams
Export spatial parameter type.
Definition: dumux/porousmediumflow/problem.hh:58
A simple fluid system with one tracer component.
Definition: tracerfluidsystem.hh:37
Definition of a problem, for the tracer problem: A rotating velocity field mixes a tracer band in a p...
Definition: 1ptracer/problem_tracer.hh:150
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
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: 1ptracer/problem_tracer.hh:74
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: 1ptracer/problem_tracer.hh:75
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
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 MaxwellStefan problem.