12#ifndef DUMUX_PYTHON_COMMON_BOUNDARYTYPES_HH
13#define DUMUX_PYTHON_COMMON_BOUNDARYTYPES_HH
15#include <dune/common/classname.hh>
16#include <dune/python/pybind11/pybind11.h>
17#include <dune/python/common/typeregistry.hh>
23template <
class BoundaryTypes,
class... Options>
26 using pybind11::operator
""_a;
28 cls.def(pybind11::init());
32 cls.def(
"__deepcopy__", [](
const BoundaryTypes& self, pybind11::dict) {
42template <
class BoundaryTypes>
45 using namespace Dune::Python;
47 auto [cls, addedToRegistry] = insertClass<BoundaryTypes>(
48 scope,
"BoundaryTypes",
49 GenerateTypeName(Dune::className<BoundaryTypes>()),
50 IncludeFiles{
"dumux/python/common/boundarytypes.hh"}
Class to specify the type of a boundary.
Definition: common/boundarytypes.hh:26
void setAllNeumann()
Set all boundary conditions to Neumann.
Definition: common/boundarytypes.hh:90
void setAllDirichlet()
Set all boundary conditions to Dirichlet.
Definition: common/boundarytypes.hh:99
void reset()
Reset the boundary types for all equations.
Definition: common/boundarytypes.hh:42
bool hasNeumann() const
Returns true if some equation is used to specify a Neumann condition.
Definition: common/boundarytypes.hh:260
bool hasDirichlet() const
Returns true if some equation is used to specify a Dirichlet condition.
Definition: common/boundarytypes.hh:222
Class to specify the type of a boundary.
Definition: python/assembly/fvassembler.hh:18
void registerBoundaryTypes(pybind11::handle scope, pybind11::class_< BoundaryTypes, Options... > cls)
Definition: python/common/boundarytypes.hh:24