version 0.4.1
_ikarus.cc File Reference
#include <config.h>
#include "io/io.hh"
#include "materials/materials.hh"
#include "pythonhelpers.hh"
#include "utils/utils.hh"
#include <dune/common/float_cmp.hh>
#include <dune/python/common/typeregistry.hh>
#include <dune/python/pybind11/eigen.h>
#include <dune/python/pybind11/operators.h>
#include <dune/python/pybind11/pybind11.h>
#include <ikarus/assembler/dirichletbcenforcement.hh>
#include <ikarus/finiteelements/ferequirements.hh>
#include <ikarus/python/finiteelements/scalarwrapper.hh>
#include <ikarus/solver/linearsolver/linearsolver.hh>

Functions

template<typename ScalarType >
void registerScalarWrapper (pybind11::module &m, std::string name, std::string typeName)
 Registers the ScalarWrapper class template with pybind11, adding various operations and constructors. More...
 
 PYBIND11_MODULE (_ikarus, m)
 

Function Documentation

◆ PYBIND11_MODULE()

PYBIND11_MODULE ( _ikarus  ,
 
)

◆ registerScalarWrapper()

template<typename ScalarType >
void registerScalarWrapper ( pybind11::module &  m,
std::string  name,
std::string  typeName 
)

This function template registers the ScalarWrapper class in the given Python module with specified names for the class and its scalar type. It adds support for basic arithmetic operations, comparisons, and string representation.

Template Parameters
ScalarTypeThe type of the scalar value to be wrapped.
Parameters
mThe pybind11 module where the class will be registered.
nameThe name of the class in the Python module.
typeNameThe cpp name of the scalar type in the Python module.