.def(py::init<constxt::xtensor<size_t,2>&,constxt::xtensor<size_t,2>&,constxt::xtensor<size_t,1>&>(),"Switch between dofval/nodevec/elemvec",py::arg("conn"),py::arg("dofs"),py::arg("iip"))
.def("nelem",&M::VectorPartitioned::nelem,"Return number of element")
.def("nne",&M::VectorPartitioned::nne,"Return number of nodes per element")
.def("nnode",&M::VectorPartitioned::nnode,"Return number of nodes")
.def("ndim",&M::VectorPartitioned::ndim,"Return number of dimensions")
.def("ndof",&M::VectorPartitioned::ndof,"Return number of degrees-of-freedom")
.def("nnu",&M::VectorPartitioned::nnu,"Return number of unknown degrees-of-freedom")
.def("nnp",&M::VectorPartitioned::nnp,"Return number of prescribed degrees-of-freedom")
mDynamics.def("Verlet",&GooseFEM::Dynamics::Verlet,"Verlet time integration",py::arg("geometry"),py::arg("dt"),py::arg("nstep")=1);
mDynamics.def("velocityVerlet",&GooseFEM::Dynamics::velocityVerlet,"Velocity-Verlet time integration",py::arg("geometry"),py::arg("dt"),py::arg("nstep")=1);
.def(py::init<size_t,size_t,size_t,double,size_t>(),"mesh with nx*ny*nz 'pixels' and edge size h",py::arg("nx"),py::arg("ny"),py::arg("nz"),py::arg("h")=1.,py::arg("nfine")=1)