6#include <dune/python/pybind11/pybind11.h>
12template <
class FE,
class... options>
19 using namespace pybind11::literals;
22 "createRequirement", [](pybind11::object ) {
return FERequirements(); },
23 pybind11::return_value_policy::copy);
25 auto includes = Dune::Python::IncludeFiles{
"ikarus/finiteelements/ferequirements.hh"};
26 auto [lv, isNotRegistered] = Dune::Python::insertClass<FERequirements>(
27 scope,
"FERequirements", Dune::Python::GenerateTypeName(Dune::className<FERequirements>()), includes);
28 if (isNotRegistered) {
30 lv.def(pybind11::init<SolutionVectorType&, ParameterType&>());
33 "insertGlobalSolution",
35 "solutionVector"_a.noconvert());
38 pybind11::return_value_policy::reference_internal);
41 pybind11::keep_alive<1, 2>(),
"parameterValue"_a.noconvert());
void init(int argc, char **argv, bool enableFileLogger=true)
Initializes the Ikarus framework.
Definition: init.hh:82
Definition: flatassembler.hh:21
void registerFERequirement(pybind11::handle scope, pybind11::class_< FE, options... > cls)
Definition: registerferequirements.hh:13
Class representing the requirements for finite element calculations.
Definition: ferequirements.hh:252
SV SolutionVectorType
Definition: ferequirements.hh:268
PM ParameterType
Definition: ferequirements.hh:269
SolutionVectorReturnType globalSolution()
Get the global solution vector.
Definition: ferequirements.hh:308
FERequirements & insertParameter(ParameterInputType val)
Insert a parameter into the requirements.
Definition: ferequirements.hh:284
FERequirements & insertGlobalSolution(SolutionVectorInputType solVec)
Insert a global solution vector into the requirements.
Definition: ferequirements.hh:297
PMHelper::ConstReturnType parameter() const
Get the parameter value.
Definition: ferequirements.hh:325
RequirementType< requirementDetected >::type Requirement
Definition: mixin.hh:89
Definition: valuewrapper.hh:8
T val
Definition: valuewrapper.hh:9