28: 
public Dumux::Python::FVProblem<GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints>
 
   34    using Scalar = 
typename PrimaryVariables::value_type;
 
   35    using NumEqVector = Dune::FieldVector<Scalar, PrimaryVariables::dimension>;
 
   36    using Element = 
typename GridGeometry::GridView::template Codim<0>::Entity;
 
   43    static constexpr std::size_t 
numEq = 
static_cast<std::size_t
>(PrimaryVariables::dimension);
 
   48                            pybind11::object pyProblem)
 
 
   54    { 
return *spatialParams_; }
 
 
   57    std::shared_ptr<const SpatialParams> spatialParams_;
 
 
   64    using pybind11::operator
""_a;
 
   65    using namespace Dune::Python;
 
   67    using GridGeometry = 
typename Problem::GridGeometry;
 
   68    using SpatialParams = 
typename Problem::SpatialParams;
 
   69    cls.def(pybind11::init([](std::shared_ptr<const GridGeometry> gridGeometry,
 
   70                              std::shared_ptr<SpatialParams> spatialParams,
 
   72        return std::make_shared<Problem>(gridGeometry, spatialParams, p);
 
   75    cls.def_property_readonly(
"name", &Problem::name);
 
   76    cls.def_property_readonly(
"numEq", [](Problem&){ 
return Problem::numEq; });
 
   78    using GridView = 
typename GridGeometry::GridView;
 
   79    using Element = 
typename GridView::template Codim<0>::Entity;
 
   80    using Vertex = 
typename GridView::template Codim<GridView::dimension>::Entity;
 
   82    if constexpr (Problem::isBox)
 
   84        using SCV = 
typename Problem::SubControlVolume;
 
   85        cls.def(
"boundaryTypes", pybind11::overload_cast<const Element&, const SCV&>(&Problem::boundaryTypes, pybind11::const_), 
"element"_a, 
"scv"_a);
 
   86        cls.def(
"dirichlet", pybind11::overload_cast<const Element&, const SCV&>(&Problem::dirichlet, pybind11::const_), 
"element"_a, 
"scv"_a);
 
   90        using SCVF = 
typename Problem::SubControlVolumeFace;
 
   91        cls.def(
"boundaryTypes", pybind11::overload_cast<const Element&, const SCVF&>(&Problem::boundaryTypes, pybind11::const_), 
"element"_a, 
"scvf"_a);
 
   92        cls.def(
"dirichlet", pybind11::overload_cast<const Element&, const SCVF&>(&Problem::dirichlet, pybind11::const_), 
"element"_a, 
"scvf"_a);
 
   95    cls.def(
"neumann", &Problem::template neumann<
decltype(std::ignore), 
decltype(std::ignore)>);
 
   96    cls.def(
"source", &Problem::template source<
decltype(std::ignore)>);
 
   97    cls.def(
"sourceAtPos", &Problem::sourceAtPos);
 
   98    cls.def(
"initial", &Problem::template initial<Element>);
 
   99    cls.def(
"initial", &Problem::template initial<Vertex>);
 
  100    cls.def(
"gridGeometry", &Problem::gridGeometry);
 
  101    cls.def(
"spatialParams", &Problem::spatialParams);