26#ifndef DUMUX_TEST_FACETCOUPLING_THREEDOMAIN_ONEP_EDGEPROBLEM_HH
27#define DUMUX_TEST_FACETCOUPLING_THREEDOMAIN_ONEP_EDGEPROBLEM_HH
29#include <dune/foamgrid/foamgrid.hh>
58template<
class TypeTag>
59struct Grid<TypeTag,
TTag::OnePEdge> {
using type = Dune::FoamGrid<1, 3>; };
61template<
class TypeTag>
64template<
class TypeTag>
73template<
class TypeTag>
89template<
class TypeTag>
96 using ElementVolumeVariables =
typename GridVariables::GridVolumeVariables::LocalView;
97 using PrimaryVariables =
typename GridVariables::PrimaryVariables;
98 using Scalar =
typename GridVariables::Scalar;
100 using GridGeometry =
typename GridVariables::GridGeometry;
101 using FVElementGeometry =
typename GridGeometry::LocalView;
102 using SubControlVolume =
typename GridGeometry::SubControlVolume;
103 using SubControlVolumeFace =
typename GridGeometry::SubControlVolumeFace;
104 using GridView =
typename GridGeometry::GridView;
105 using Element =
typename GridView::template Codim<0>::Entity;
106 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
113 std::shared_ptr<typename ParentType::SpatialParams>
spatialParams,
114 std::shared_ptr<CouplingManager> couplingManagerPtr,
117 , couplingManagerPtr_(couplingManagerPtr)
127 const std::string&
name()
const
135 BoundaryTypes values;
136 values.setAllNeumann();
144 NumEqVector
source(
const Element& element,
145 const FVElementGeometry& fvGeometry,
146 const ElementVolumeVariables& elemVolVars,
147 const SubControlVolume& scv)
const
150 auto source = couplingManagerPtr_->evalSourcesFromBulk(element, fvGeometry, elemVolVars, scv);
151 source /= scv.volume()*elemVolVars[scv].extrusionFactor();
157 {
return exFactor_; }
161 {
return PrimaryVariables(1.0); }
169 {
return *couplingManagerPtr_; }
172 std::shared_ptr<CouplingManager> couplingManagerPtr_;
173 std::string problemName_;
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.
Setting constant fluid properties via the input file.
A liquid phase consisting of a single component.
T getParamFromGroup(Args &&... args)
A free function to get a parameter from the parameter tree singleton with a model group.
Definition parameters.hh:438
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
Definition common/properties.hh:47
Type tag for numeric models.
Definition grid.hh:35
const std::string & paramGroup() const
The parameter group in which to retrieve runtime parameters.
Definition common/fvproblem.hh:592
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
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
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
The spatial parameters class for the test problem using the 1p cc model.
Definition multidomain/boundary/stokesdarcy/1p2c_1p2c/spatialparams.hh:41
The (d-2)-dimensional test problem for the incompressible one-phase model with coupling across the bu...
Definition problem_edge.hh:91
const std::string & name() const
The problem name.
Definition problem_edge.hh:127
Scalar extrusionFactorAtPos(const GlobalPosition &globalPos) const
Sets the aperture squared as extrusion factor.
Definition problem_edge.hh:156
OnePEdgeProblem(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< typename ParentType::SpatialParams > spatialParams, std::shared_ptr< CouplingManager > couplingManagerPtr, const std::string ¶mGroup="Edge")
Definition problem_edge.hh:112
PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const
Evaluates the initial conditions.
Definition problem_edge.hh:160
NumEqVector source(const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
Evaluates the source term for all phases within a given sub-control volume.
Definition problem_edge.hh:144
BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const
Specifies the type of boundary condition on a boundary position.
Definition problem_edge.hh:133
Scalar temperature() const
Returns the temperature for an isothermal problem.
Definition problem_edge.hh:164
const CouplingManager & couplingManager() const
Returns const reference to the coupling manager.
Definition problem_edge.hh:168
Definition problem_edge.hh:51
std::tuple< OneP > InheritsFrom
Definition problem_edge.hh:51
Definition problem_edge.hh:52
std::tuple< OnePEdge, CCTpfaModel > InheritsFrom
Definition problem_edge.hh:52
Definition problem_edge.hh:53
std::tuple< OnePEdge, CCTpfaModel > InheritsFrom
Definition problem_edge.hh:53
Definition problem_edge.hh:54
std::tuple< OnePEdge, BoxModel > InheritsFrom
Definition problem_edge.hh:54
Dune::FoamGrid< 1, 3 > type
Definition problem_edge.hh:59
OnePEdgeProblem< TypeTag > type
Definition problem_edge.hh:62
OnePSpatialParams< GridGeometry, Scalar > type
Definition problem_edge.hh:69
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition problem_edge.hh:67
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition problem_edge.hh:68
FluidSystems::OnePLiquid< Scalar, Components::Constant< 1, Scalar > > type
Definition problem_edge.hh:79
A single-phase, isothermal flow model using the fully implicit scheme.
Base class for all porous media problems.
The spatial parameters for the single-phase facet coupling test.