6#include <dune/python/pybind11/pybind11.h>
19template <
class NonLinearElasticPre,
class... options>
49template <
class TrussPre,
class... options>
50void registerTrussPre(pybind11::handle scope, pybind11::class_<TrussPre, options...> cls) {
66 [](
const double& E,
const double& nu,
const double& h) {
return new KirchhoffLoveShellPre({E, nu}, h); }));
78template <
class EASPre,
class... options>
80 cls.def(
pybind11::init([](
int numberOfParameter) {
return new EASPre(numberOfParameter); }));
97 using LoadFunction = std::function<Eigen::Vector<double, NeumannBoundaryLoadPre::worldDim>(
102 pybind11::keep_alive<1, 2>());
116 using LoadFunction = std::function<Eigen::Vector<double, VolumeLoadPre::worldDim>(
auto volumeLoad(const std::function< Eigen::Vector< double, worldDim >(const Dune::FieldVector< double, worldDim > &, const double &)> &f)
A helper function to create a volume load skill.
Definition: volume.hh:128
VolumeLoadPre(F f) -> VolumeLoadPre< traits::FunctionTraits< F >::return_type::RowsAtCompileTime >
void init(int argc, char **argv, bool enableFileLogger=true)
Initializes the Ikarus framework.
Definition: init.hh:82
Definition: flatassembler.hh:21
void registerLinearElasticPre(pybind11::handle scope, pybind11::class_< LinearElasticPre, options... > cls)
Registers a LinearElasticPre class in Python.
Definition: registerpreelement.hh:35
void registerKirchhoffLoveShellPre(pybind11::handle scope, pybind11::class_< KirchhoffLoveShellPre, options... > cls)
Registers a KirchhoffLoveShellPre class in Python.
Definition: registerpreelement.hh:64
void registerVolumeLoadPre(pybind11::handle scope, pybind11::class_< VolumeLoadPre, options... > cls)
Registers a VolumeLoadPre class in Python.
Definition: registerpreelement.hh:115
void registerTrussPre(pybind11::handle scope, pybind11::class_< TrussPre, options... > cls)
Registers a TrussPre class in Python.
Definition: registerpreelement.hh:50
void registerEnhancedAssumedStrainsPre(pybind11::handle scope, pybind11::class_< EASPre, options... > cls)
Registers an EnhancedAssumedStrainsPre class in Python.
Definition: registerpreelement.hh:79
void registerNeumannBoundaryLoadPre(pybind11::handle scope, pybind11::class_< NeumannBoundaryLoadPre, options... > cls)
Registers a NeumannBoundaryLoadPre class in Python.
Definition: registerpreelement.hh:93
void registerNonLinearElasticPre(pybind11::handle scope, pybind11::class_< NonLinearElasticPre, options... > cls)
Registers a NonLinearElasticPre class in Python.
Definition: registerpreelement.hh:20
A PreFE struct for Kirchhoff-Love shell elements.
Definition: kirchhoffloveshell.hh:31
A PreFE struct for linear elastic elements.
Definition: linearelastic.hh:38
MAT Material
Definition: linearelastic.hh:39
A PreFE struct for Neumann boundary load skill.
Definition: traction.hh:23
GV GridView
Definition: traction.hh:24
BoundaryPatch< GridView > BoundaryPatchType
Definition: traction.hh:29
Interface classf or materials.
Definition: finiteelements/mechanics/materials/interface.hh:80
A PreFE struct for non-linear elastic elements.
Definition: nonlinearelastic.hh:42
MAT Material
Definition: nonlinearelastic.hh:43
A PreFE struct for truss elements.
Definition: truss.hh:28
Definition: utils/dirichletvalues.hh:32