I: pbuilder: network access will be disabled during build I: Current time: Fri Oct 16 20:36:36 -12 2026 I: pbuilder-time-stamp: 1792226196 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [dolfinx-mpc_0.9.1-2.dsc] I: copying [./dolfinx-mpc_0.9.1.orig.tar.gz] I: copying [./dolfinx-mpc_0.9.1-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./dolfinx-mpc_0.9.1-2.dsc: no acceptable signature found dpkg-source: info: extracting dolfinx-mpc in dolfinx-mpc-0.9.1 dpkg-source: info: unpacking dolfinx-mpc_0.9.1.orig.tar.gz dpkg-source: info: unpacking dolfinx-mpc_0.9.1-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying cmake_config_libdir.patch dpkg-source: info: applying tests_no_numba.patch dpkg-source: info: applying cmake_no_runpath.patch dpkg-source: info: applying python_local_LICENSE.patch dpkg-source: info: applying free_MPI_communicator_PR171.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2222140/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='a946639906084383b53cd09cc6db6846' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2222140' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.iQDoywGU/pbuilderrc_NG2s --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.iQDoywGU/b1 --logfile b1/build.log dolfinx-mpc_0.9.1-2.dsc' SUDO_GID='109' SUDO_HOME='/var/lib/jenkins' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.12.43+deb13-cloud-arm64 #1 SMP Debian 6.12.43-1 (2025-08-27) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2222140/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), libbasix-dev (>= 0.9.0~), python3-basix, libdolfinx-dev (>= 1:0.9.0~), python3-dolfinx, python3-all-dev, python3-pytest, python3-setuptools, dh-sequence-python3, pybuild-plugin-pyproject, python3-dolfinx-real, python3-gmsh, python3-mpi4py, python3-nanobind (>= 2.0.0~), python3-numpy, python3-petsc4py, python3-scikit-build-core, python3-scipy, python3-ufl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20020 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on libbasix-dev (>= 0.9.0~); however: Package libbasix-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-basix; however: Package python3-basix is not installed. pbuilder-satisfydepends-dummy depends on libdolfinx-dev (>= 1:0.9.0~); however: Package libdolfinx-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-dolfinx; however: Package python3-dolfinx is not installed. pbuilder-satisfydepends-dummy depends on python3-all-dev; however: Package python3-all-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on python3-dolfinx-real; however: Package python3-dolfinx-real is not installed. pbuilder-satisfydepends-dummy depends on python3-gmsh; however: Package python3-gmsh is not installed. pbuilder-satisfydepends-dummy depends on python3-mpi4py; however: Package python3-mpi4py is not installed. pbuilder-satisfydepends-dummy depends on python3-nanobind (>= 2.0.0~); however: Package python3-nanobind is not installed. pbuilder-satisfydepends-dummy depends on python3-numpy; however: Package python3-numpy is not installed. pbuilder-satisfydepends-dummy depends on python3-petsc4py; however: Package python3-petsc4py is not installed. pbuilder-satisfydepends-dummy depends on python3-scikit-build-core; however: Package python3-scikit-build-core is not installed. pbuilder-satisfydepends-dummy depends on python3-scipy; however: Package python3-scipy is not installed. pbuilder-satisfydepends-dummy depends on python3-ufl; however: Package python3-ufl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} cmake{a} cmake-data{a} comerr-dev{a} cpp-14{a} cpp-14-aarch64-linux-gnu{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} fonts-mathjax{a} gcc-14{a} gcc-14-aarch64-linux-gnu{a} gcc-14-base{a} gettext{a} gettext-base{a} gfortran{a} gfortran-14{a} gfortran-14-aarch64-linux-gnu{a} gfortran-15{a} gfortran-15-aarch64-linux-gnu{a} gfortran-aarch64-linux-gnu{a} groff-base{a} ibverbs-providers{a} icu-devtools{a} intltool-debian{a} krb5-multidev{a} libadios2-common-c++11-dev{a} libadios2-common-core-dev{a} libadios2-mpi-auxiliary-2.10{a} libadios2-mpi-auxiliary-dev{a} libadios2-mpi-c++11-2.10{a} libadios2-mpi-c++11-dev{a} libadios2-mpi-c-2.10{a} libadios2-mpi-core-2.10{a} libadios2-mpi-core-dev{a} libadios2-mpi-plugins{a} libaec-dev{a} libaec0{a} libalglib4.2{a} libamd-comgr2{a} libamd3{a} libamdhip64-5{a} libann0{a} libarchive-zip-perl{a} libarchive13t64{a} libarpack2-dev{a} libarpack2t64{a} libbasix-dev{a} libbasix0.9{a} libblas-dev{a} libblas3{a} libboost-atomic1.83-dev{a} libboost-atomic1.83.0{a} libboost-chrono-dev{a} libboost-chrono1.83-dev{a} libboost-chrono1.83.0t64{a} libboost-date-time1.83-dev{a} libboost-date-time1.83.0{a} libboost-dev{a} libboost-filesystem-dev{a} libboost-filesystem1.83-dev{a} libboost-filesystem1.83.0{a} libboost-iostreams-dev{a} libboost-iostreams1.83-dev{a} libboost-math-dev{a} libboost-math1.83-dev{a} libboost-math1.83.0{a} libboost-mpi-dev{a} libboost-mpi1.83-dev{a} libboost-mpi1.83.0{a} libboost-program-options-dev{a} libboost-program-options1.83-dev{a} libboost-program-options1.83.0{a} libboost-regex1.83-dev{a} libboost-regex1.83.0{a} libboost-serialization-dev{a} libboost-serialization1.83-dev{a} libboost-serialization1.83.0{a} libboost-system1.83-dev{a} libboost-system1.83.0{a} libboost-thread-dev{a} libboost-thread1.83-dev{a} libboost-thread1.83.0{a} libboost-timer-dev{a} libboost-timer1.83-dev{a} libboost-timer1.83.0{a} libboost1.83-dev{a} libbrotli-dev{a} libbrotli1{a} libbtf2{a} libc6-dbg{a} libcamd3{a} libcbor0.10{a} libccolamd3{a} libcgns3.4{a} libcholmod5{a} libcolamd3{a} libcom-err2{a} libcombblas2.0.0t64{a} libcurl4-openssl-dev{a} libcurl4t64{a} libcxsparse4{a} libdebhelper-perl{a} libdeflate0{a} libdolfinx-dev{a} libdolfinx-real-dev{a} libdolfinx-real0.9{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm2{a} libedit2{a} libeigen3-dev{a} libelf1t64{a} libevent-2.1-7t64{a} libevent-core-2.1-7t64{a} libevent-dev{a} libevent-extra-2.1-7t64{a} libevent-openssl-2.1-7t64{a} libevent-pthreads-2.1-7t64{a} libexpat1{a} libexpat1-dev{a} libfabric1{a} libffi8{a} libfftw3-bin{a} libfftw3-dev{a} libfftw3-double3{a} libfftw3-long3{a} libfftw3-mpi-dev{a} libfftw3-mpi3{a} libfftw3-single3{a} libfido2-1{a} libfile-stripnondeterminism-perl{a} libfltk-gl1.3t64{a} libfltk-images1.3t64{a} libfltk1.3t64{a} libfmt-dev{a} libfmt10{a} libfontconfig1{a} libfreeimage3{a} libfreetype6{a} libgbm1{a} libgcc-14-dev{a} libgfortran-14-dev{a} libgfortran-15-dev{a} libgfortran5{a} libgl1{a} libgl1-mesa-dri{a} libgl2ps1.4{a} libglu1-mesa{a} libglvnd0{a} libglx-mesa0{a} libglx0{a} libgmp-dev{a} libgmpxx4ldbl{a} libgmsh4.14{a} libgnutls-dane0t64{a} libgnutls-openssl27t64{a} libgnutls28-dev{a} libgnutls30t64{a} libgssapi-krb5-2{a} libgssrpc4t64{a} libhdf5-310{a} libhdf5-mpi-dev{a} libhdf5-openmpi-310{a} libhdf5-openmpi-cpp-310{a} libhdf5-openmpi-dev{a} libhdf5-openmpi-fortran-310{a} libhdf5-openmpi-hl-310{a} libhdf5-openmpi-hl-cpp-310{a} libhdf5-openmpi-hl-fortran-310{a} libhsa-runtime64-1{a} libhsakmt1{a} libhwloc-dev{a} libhwloc-plugins{a} libhwloc15{a} libhypre-2.32.0{a} libhypre-dev{a} libibmad5{a} libibumad3{a} libibverbs-dev{a} libibverbs1{a} libicu-dev{a} libicu76{a} libidn2-0{a} libidn2-dev{a} libimath-3-1-29t64{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libjs-jquery{a} libjs-jquery-ui{a} libjs-mathjax{a} libjs-sphinxdoc{a} libjson-perl{a} libjsoncpp26{a} libjxr0t64{a} libk5crypto3{a} libkadm5clnt-mit12{a} libkadm5srv-mit12{a} libkdb5-10t64{a} libkeyutils1{a} libklu2{a} libkrb5-3{a} libkrb5-dev{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} liblcms2-2{a} libldap-dev{a} libldap2{a} libldl3{a} liblerc4{a} libllvm17t64{a} libllvm19{a} libltdl-dev{a} libltdl7{a} liblzma-dev{a} libmagic-mgc{a} libmagic1t64{a} libmetis5{a} libmumps-5.7{a} libmumps-dev{a} libmumps-headers-dev{a} libmunge2{a} libnghttp2-14{a} libnghttp2-dev{a} libnghttp3-9{a} libnghttp3-dev{a} libnl-3-200{a} libnl-3-dev{a} libnl-route-3-200{a} libnl-route-3-dev{a} libnorm1t64{a} libnuma-dev{a} libnuma1{a} libocct-data-exchange-7.8{a} libocct-draw-7.8{a} libocct-foundation-7.8{a} libocct-modeling-algorithms-7.8{a} libocct-modeling-data-7.8{a} libocct-ocaf-7.8{a} libocct-visualization-7.8{a} libopenexr-3-1-30{a} libopengl0{a} libopenjp2-7{a} libopenmpi-dev{a} libopenmpi40{a} libp11-kit-dev{a} libp11-kit0{a} libparpack2-dev{a} libparpack2t64{a} libparu1{a} libpciaccess0{a} libpetsc-real3.22{a} libpetsc-real3.22-dev{a} libpetsc3.22-dev-common{a} libpgm-5.3-0t64{a} libpipeline1{a} libpkgconf3{a} libpmix-dev{a} libpmix2t64{a} libpng16-16t64{a} libproc2-0{a} libpsl-dev{a} libpsl5t64{a} libptscotch-7.0{a} libptscotch-dev{a} libpugixml-dev{a} libpugixml1v5{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libraw23t64{a} librbio4{a} librdmacm1t64{a} libreadline8t64{a} librhash1{a} librtmp-dev{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libscalapack-mpi-dev{a} libscalapack-openmpi-dev{a} libscalapack-openmpi2.2{a} libscotch-7.0{a} libscotch-dev{a} libsensors-config{a} libsensors5{a} libsharpyuv0{a} libslepc-real3.22{a} libslepc-real3.22-dev{a} libsodium23{a} libspdlog-dev{a} libspdlog1.15{a} libspex3{a} libspqr4{a} libssh2-1-dev{a} libssh2-1t64{a} libssl-dev{a} libstdc++-14-dev{a} libsuitesparse-dev{a} libsuitesparse-mongoose3{a} libsuitesparseconfig7{a} libsuperlu-dev{a} libsuperlu-dist-dev{a} libsuperlu-dist8{a} libsuperlu7{a} libsz2{a} libtasn1-6{a} libtasn1-6-dev{a} libtbb12{a} libtbbbind-2-5{a} libtbbmalloc2{a} libtcl8.6{a} libtiff6{a} libtk8.6{a} libtool{a} libuchardet0{a} libucx0{a} libumfpack6{a} libunbound8{a} libunistring5{a} libuv1t64{a} libvoro++1{a} libvulkan1{a} libwebp7{a} libwebpmux3{a} libx11-6{a} libx11-data{a} libx11-dev{a} libx11-xcb1{a} libxau-dev{a} libxau6{a} libxcb-dri3-0{a} libxcb-glx0{a} libxcb-present0{a} libxcb-randr0{a} libxcb-shm0{a} libxcb-sync1{a} libxcb-xfixes0{a} libxcb1{a} libxcb1-dev{a} libxcursor1{a} libxdmcp-dev{a} libxdmcp6{a} libxext6{a} libxfixes3{a} libxft2{a} libxinerama1{a} libxml2-16{a} libxml2-dev{a} libxnvctrl0{a} libxrender1{a} libxshmfence1{a} libxss1{a} libxxf86vm1{a} libyaml-0-2{a} libyaml-cpp0.8{a} libyaml-dev{a} libz3-4{a} libzmq5{a} libzstd-dev{a} m4{a} man-db{a} media-types{a} mesa-libgallium{a} mpi-default-bin{a} mpi-default-dev{a} nanobind-dev{a} netbase{a} nettle-dev{a} occt-misc{a} ocl-icd-libopencl1{a} ocl-icd-opencl-dev{a} opencl-c-headers{a} opencl-clhpp-headers{a} openmpi-bin{a} openmpi-common{a} openssh-client{a} pkg-config{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} procps{a} pybuild-plugin-pyproject{a} python-petsc4py-doc{a} python3{a} python3-all{a} python3-all-dev{a} python3-autocommand{a} python3-basix{a} python3-build{a} python3-cffi{a} python3-cffi-backend{a} python3-decorator{a} python3-dev{a} python3-dolfinx{a} python3-dolfinx-real{a} python3-ffcx{a} python3-gmsh{a} python3-inflect{a} python3-iniconfig{a} python3-installer{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-mpi4py{a} python3-nanobind{a} python3-numpy{a} python3-numpy-dev{a} python3-packaging{a} python3-pathspec{a} python3-petsc4py{a} python3-petsc4py-real{a} python3-petsc4py-real3.22{a} python3-pkg-resources{a} python3-pluggy{a} python3-ply{a} python3-pusimp{a} python3-pycparser{a} python3-pyproject-hooks{a} python3-pyproject-metadata{a} python3-pytest{a} python3-scikit-build-core{a} python3-scipy{a} python3-setuptools{a} python3-slepc4py{a} python3-slepc4py-real{a} python3-slepc4py-real3.22{a} python3-typeguard{a} python3-typing-extensions{a} python3-ufl{a} python3-wheel{a} python3-zipp{a} python3.13{a} python3.13-dev{a} python3.13-minimal{a} readline-common{a} robin-map-dev{a} sensible-utils{a} sphinx-common{a} swig{a} tzdata{a} valgrind{a} valgrind-mpi{a} x11-common{a} x11proto-dev{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl gdb gmsh javascript-common krb5-locales ksh ksh93u+m libarchive-cpio-perl libcoarrays-openmpi-dev libgl-dev libgraphblas-dev libjson-xs-perl libldap-common libmail-sendmail-perl libpetsc-complex-dev libpetsc-real-dev libpetsc3.22-dev-examples libsasl2-modules libtasn1-doc linux-sysctl-defaults lynx mesa-vulkan-drivers mksh psmisc publicsuffix python3-pil python3-pooch python3-pygments python3-sphinx python3-yaml wget xauth zsh 0 packages upgraded, 467 newly installed, 0 to remove and 0 not upgraded. Need to get 477 MB of archives. After unpacking 2275 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main arm64 libexpat1 arm64 2.7.1-2 [93.3 kB] Get: 2 http://deb.debian.org/debian forky/main arm64 libpython3.13-minimal arm64 3.13.7-1 [857 kB] Get: 3 http://deb.debian.org/debian forky/main arm64 python3.13-minimal arm64 3.13.7-1 [2001 kB] Get: 4 http://deb.debian.org/debian forky/main arm64 python3-minimal arm64 3.13.5-1 [27.2 kB] Get: 5 http://deb.debian.org/debian forky/main arm64 media-types all 13.0.0 [29.3 kB] Get: 6 http://deb.debian.org/debian forky/main arm64 netbase all 6.5 [12.4 kB] Get: 7 http://deb.debian.org/debian forky/main arm64 tzdata all 2025b-5 [260 kB] Get: 8 http://deb.debian.org/debian forky/main arm64 libffi8 arm64 3.5.2-2 [21.5 kB] Get: 9 http://deb.debian.org/debian forky/main arm64 readline-common all 8.3-3 [74.8 kB] Get: 10 http://deb.debian.org/debian forky/main arm64 libreadline8t64 arm64 8.3-3 [169 kB] Get: 11 http://deb.debian.org/debian forky/main arm64 libpython3.13-stdlib arm64 3.13.7-1 [1895 kB] Get: 12 http://deb.debian.org/debian forky/main arm64 python3.13 arm64 3.13.7-1 [761 kB] Get: 13 http://deb.debian.org/debian forky/main arm64 libpython3-stdlib arm64 3.13.5-1 [10.2 kB] Get: 14 http://deb.debian.org/debian forky/main arm64 python3 arm64 3.13.5-1 [28.2 kB] Get: 15 http://deb.debian.org/debian forky/main arm64 python3-numpy-dev arm64 1:2.2.4+ds-1.2 [138 kB] Get: 16 http://deb.debian.org/debian forky/main arm64 libblas3 arm64 3.12.1-7 [135 kB] Get: 17 http://deb.debian.org/debian forky/main arm64 libgfortran5 arm64 15.2.0-3 [390 kB] Get: 18 http://deb.debian.org/debian forky/main arm64 liblapack3 arm64 3.12.1-7 [1846 kB] Get: 19 http://deb.debian.org/debian forky/main arm64 python3-numpy arm64 1:2.2.4+ds-1.2 [3620 kB] Get: 20 http://deb.debian.org/debian forky/main arm64 libproc2-0 arm64 2:4.0.4-9 [62.8 kB] Get: 21 http://deb.debian.org/debian forky/main arm64 procps arm64 2:4.0.4-9 [871 kB] Get: 22 http://deb.debian.org/debian forky/main arm64 sensible-utils all 0.0.26 [27.0 kB] Get: 23 http://deb.debian.org/debian forky/main arm64 libmagic-mgc arm64 1:5.46-5 [338 kB] Get: 24 http://deb.debian.org/debian forky/main arm64 libmagic1t64 arm64 1:5.46-5 [103 kB] Get: 25 http://deb.debian.org/debian forky/main arm64 file arm64 1:5.46-5 [43.7 kB] Get: 26 http://deb.debian.org/debian forky/main arm64 gettext-base arm64 0.23.1-2+b1 [241 kB] Get: 27 http://deb.debian.org/debian forky/main arm64 libuchardet0 arm64 0.0.8-2 [69.0 kB] Get: 28 http://deb.debian.org/debian forky/main arm64 groff-base arm64 1.23.0-9 [1130 kB] Get: 29 http://deb.debian.org/debian forky/main arm64 bsdextrautils arm64 2.41.1-2 [93.9 kB] Get: 30 http://deb.debian.org/debian forky/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 31 http://deb.debian.org/debian forky/main arm64 man-db arm64 2.13.1-1 [1453 kB] Get: 32 http://deb.debian.org/debian forky/main arm64 libedit2 arm64 3.1-20250104-1 [89.3 kB] Get: 33 http://deb.debian.org/debian forky/main arm64 libcbor0.10 arm64 0.10.2-2 [27.4 kB] Get: 34 http://deb.debian.org/debian forky/main arm64 libfido2-1 arm64 1.16.0-2 [74.4 kB] Get: 35 http://deb.debian.org/debian forky/main arm64 libkrb5support0 arm64 1.21.3-5 [32.4 kB] Get: 36 http://deb.debian.org/debian forky/main arm64 libcom-err2 arm64 1.47.2-3+b3 [24.9 kB] Get: 37 http://deb.debian.org/debian forky/main arm64 libk5crypto3 arm64 1.21.3-5 [81.2 kB] Get: 38 http://deb.debian.org/debian forky/main arm64 libkeyutils1 arm64 1.6.3-6 [9716 B] Get: 39 http://deb.debian.org/debian forky/main arm64 libkrb5-3 arm64 1.21.3-5 [308 kB] Get: 40 http://deb.debian.org/debian forky/main arm64 libgssapi-krb5-2 arm64 1.21.3-5 [127 kB] Get: 41 http://deb.debian.org/debian forky/main arm64 openssh-client arm64 1:10.0p1-8 [925 kB] Get: 42 http://deb.debian.org/debian forky/main arm64 m4 arm64 1.4.20-1 [316 kB] Get: 43 http://deb.debian.org/debian forky/main arm64 autoconf all 2.72-3.1 [494 kB] Get: 44 http://deb.debian.org/debian forky/main arm64 autotools-dev all 20240727.1 [60.2 kB] Get: 45 http://deb.debian.org/debian forky/main arm64 automake all 1:1.17-4 [862 kB] Get: 46 http://deb.debian.org/debian forky/main arm64 autopoint all 0.23.1-2 [770 kB] Get: 47 http://deb.debian.org/debian forky/main arm64 cmake-data all 4.1.1+really3.31.6-1 [2268 kB] Get: 48 http://deb.debian.org/debian forky/main arm64 libxml2-16 arm64 2.14.5+dfsg-0.2 [582 kB] Get: 49 http://deb.debian.org/debian forky/main arm64 libarchive13t64 arm64 3.7.4-4+b1 [323 kB] Get: 50 http://deb.debian.org/debian forky/main arm64 libbrotli1 arm64 1.1.0-2+b7 [308 kB] Get: 51 http://deb.debian.org/debian forky/main arm64 libunistring5 arm64 1.3-2 [453 kB] Get: 52 http://deb.debian.org/debian forky/main arm64 libidn2-0 arm64 2.3.8-4 [108 kB] Get: 53 http://deb.debian.org/debian forky/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-9 [20.1 kB] Get: 54 http://deb.debian.org/debian forky/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-9 [55.6 kB] Get: 55 http://deb.debian.org/debian forky/main arm64 libldap2 arm64 2.6.10+dfsg-1 [179 kB] Get: 56 http://deb.debian.org/debian forky/main arm64 libnghttp2-14 arm64 1.64.0-1.1+b1 [71.7 kB] Get: 57 http://deb.debian.org/debian forky/main arm64 libnghttp3-9 arm64 1.8.0-1 [63.2 kB] Get: 58 http://deb.debian.org/debian forky/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 59 http://deb.debian.org/debian forky/main arm64 libp11-kit0 arm64 0.25.5-3 [409 kB] Get: 60 http://deb.debian.org/debian forky/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 61 http://deb.debian.org/debian forky/main arm64 libgnutls30t64 arm64 3.8.9-3 [1375 kB] Get: 62 http://deb.debian.org/debian forky/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-3 [56.3 kB] Get: 63 http://deb.debian.org/debian forky/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 64 http://deb.debian.org/debian forky/main arm64 libcurl4t64 arm64 8.15.0-1 [360 kB] Get: 65 http://deb.debian.org/debian forky/main arm64 libjsoncpp26 arm64 1.9.6-4 [73.2 kB] Get: 66 http://deb.debian.org/debian forky/main arm64 librhash1 arm64 1.4.6-1 [131 kB] Get: 67 http://deb.debian.org/debian forky/main arm64 libuv1t64 arm64 1.51.0-2 [150 kB] Get: 68 http://deb.debian.org/debian forky/main arm64 cmake arm64 4.1.1+really3.31.6-1 [9905 kB] Get: 69 http://deb.debian.org/debian forky/main arm64 comerr-dev arm64 2.1-1.47.2-3+b3 [56.9 kB] Get: 70 http://deb.debian.org/debian forky/main arm64 gcc-14-base arm64 14.3.0-7 [52.0 kB] Get: 71 http://deb.debian.org/debian forky/main arm64 cpp-14-aarch64-linux-gnu arm64 14.3.0-7 [9171 kB] Get: 72 http://deb.debian.org/debian forky/main arm64 cpp-14 arm64 14.3.0-7 [1280 B] Get: 73 http://deb.debian.org/debian forky/main arm64 libdebhelper-perl all 13.26 [91.8 kB] Get: 74 http://deb.debian.org/debian forky/main arm64 libgcc-14-dev arm64 14.3.0-7 [2361 kB] Get: 75 http://deb.debian.org/debian forky/main arm64 gcc-14-aarch64-linux-gnu arm64 14.3.0-7 [17.7 MB] Get: 76 http://deb.debian.org/debian forky/main arm64 gcc-14 arm64 14.3.0-7 [544 kB] Get: 77 http://deb.debian.org/debian forky/main arm64 libtool all 2.5.4-5 [540 kB] Get: 78 http://deb.debian.org/debian forky/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 79 http://deb.debian.org/debian forky/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 80 http://deb.debian.org/debian forky/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get: 81 http://deb.debian.org/debian forky/main arm64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get: 82 http://deb.debian.org/debian forky/main arm64 libelf1t64 arm64 0.193-3 [189 kB] Get: 83 http://deb.debian.org/debian forky/main arm64 dwz arm64 0.16-2 [100 kB] Get: 84 http://deb.debian.org/debian forky/main arm64 gettext arm64 0.23.1-2+b1 [1612 kB] Get: 85 http://deb.debian.org/debian forky/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 86 http://deb.debian.org/debian forky/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 87 http://deb.debian.org/debian forky/main arm64 debhelper all 13.26 [939 kB] Get: 88 http://deb.debian.org/debian forky/main arm64 dh-python all 6.20250414 [116 kB] Get: 89 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 90 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 91 http://deb.debian.org/debian forky/main arm64 fontconfig-config arm64 2.15.0-2.4 [318 kB] Get: 92 http://deb.debian.org/debian forky/main arm64 fonts-mathjax all 2.7.9+dfsg-1 [2210 kB] Get: 93 http://deb.debian.org/debian forky/main arm64 libgfortran-15-dev arm64 15.2.0-3 [431 kB] Get: 94 http://deb.debian.org/debian forky/main arm64 gfortran-15-aarch64-linux-gnu arm64 15.2.0-3 [77.2 MB] Get: 95 http://deb.debian.org/debian forky/main arm64 gfortran-15 arm64 15.2.0-3 [17.8 kB] Get: 96 http://deb.debian.org/debian forky/main arm64 gfortran-aarch64-linux-gnu arm64 4:15.2.0-1 [1280 B] Get: 97 http://deb.debian.org/debian forky/main arm64 gfortran arm64 4:15.2.0-1 [1428 B] Get: 98 http://deb.debian.org/debian forky/main arm64 libgfortran-14-dev arm64 14.3.0-7 [418 kB] Get: 99 http://deb.debian.org/debian forky/main arm64 gfortran-14-aarch64-linux-gnu arm64 14.3.0-7 [9796 kB] Get: 100 http://deb.debian.org/debian forky/main arm64 gfortran-14 arm64 14.3.0-7 [15.3 kB] Get: 101 http://deb.debian.org/debian forky/main arm64 libnl-3-200 arm64 3.11.0-2 [57.9 kB] Get: 102 http://deb.debian.org/debian forky/main arm64 libnl-route-3-200 arm64 3.11.0-2 [176 kB] Get: 103 http://deb.debian.org/debian forky/main arm64 libibverbs1 arm64 56.1-1 [58.9 kB] Get: 104 http://deb.debian.org/debian forky/main arm64 ibverbs-providers arm64 56.1-1 [333 kB] Get: 105 http://deb.debian.org/debian forky/main arm64 libicu76 arm64 76.1-4 [9524 kB] Get: 106 http://deb.debian.org/debian forky/main arm64 icu-devtools arm64 76.1-4 [200 kB] Get: 107 http://deb.debian.org/debian forky/main arm64 libgssrpc4t64 arm64 1.21.3-5 [57.2 kB] Get: 108 http://deb.debian.org/debian forky/main arm64 libkadm5clnt-mit12 arm64 1.21.3-5 [41.1 kB] Get: 109 http://deb.debian.org/debian forky/main arm64 libkdb5-10t64 arm64 1.21.3-5 [41.3 kB] Get: 110 http://deb.debian.org/debian forky/main arm64 libkadm5srv-mit12 arm64 1.21.3-5 [53.0 kB] Get: 111 http://deb.debian.org/debian forky/main arm64 krb5-multidev arm64 1.21.3-5 [126 kB] Get: 112 http://deb.debian.org/debian forky/main arm64 libadios2-common-c++11-dev all 2.10.2+dfsg1-3 [25.9 kB] Get: 113 http://deb.debian.org/debian forky/main arm64 libadios2-common-core-dev arm64 2.10.2+dfsg1-3 [123 kB] Get: 114 http://deb.debian.org/debian forky/main arm64 librdmacm1t64 arm64 56.1-1 [67.2 kB] Get: 115 http://deb.debian.org/debian forky/main arm64 libfabric1 arm64 2.1.0-1.1 [548 kB] Get: 116 http://deb.debian.org/debian forky/main arm64 libevent-core-2.1-7t64 arm64 2.1.12-stable-10+b1 [126 kB] Get: 117 http://deb.debian.org/debian forky/main arm64 libevent-pthreads-2.1-7t64 arm64 2.1.12-stable-10+b1 [54.4 kB] Get: 118 http://deb.debian.org/debian forky/main arm64 libhwloc15 arm64 2.12.2-1 [142 kB] Get: 119 http://deb.debian.org/debian forky/main arm64 libmunge2 arm64 0.5.16-1 [19.2 kB] Get: 120 http://deb.debian.org/debian forky/main arm64 libpciaccess0 arm64 0.17-3+b3 [51.2 kB] Get: 121 http://deb.debian.org/debian forky/main arm64 libxau6 arm64 1:1.0.11-1 [20.6 kB] Get: 122 http://deb.debian.org/debian forky/main arm64 libxdmcp6 arm64 1:1.1.5-1 [27.8 kB] Get: 123 http://deb.debian.org/debian forky/main arm64 libxcb1 arm64 1.17.0-2+b1 [143 kB] Get: 124 http://deb.debian.org/debian forky/main arm64 libx11-data all 2:1.8.12-1 [343 kB] Get: 125 http://deb.debian.org/debian forky/main arm64 libx11-6 arm64 2:1.8.12-1 [795 kB] Get: 126 http://deb.debian.org/debian forky/main arm64 libxext6 arm64 2:1.3.4-1+b3 [49.2 kB] Get: 127 http://deb.debian.org/debian forky/main arm64 libxnvctrl0 arm64 535.171.04-1+b2 [14.0 kB] Get: 128 http://deb.debian.org/debian forky/main arm64 ocl-icd-libopencl1 arm64 2.3.3-1 [42.7 kB] Get: 129 http://deb.debian.org/debian forky/main arm64 libhwloc-plugins arm64 2.12.2-1 [18.1 kB] Get: 130 http://deb.debian.org/debian forky/main arm64 libpmix2t64 arm64 5.0.7-1 [585 kB] Get: 131 http://deb.debian.org/debian forky/main arm64 libz3-4 arm64 4.13.3-1 [7507 kB] Get: 132 http://deb.debian.org/debian forky/main arm64 libllvm17t64 arm64 1:17.0.6-22+b3 [21.3 MB] Get: 133 http://deb.debian.org/debian forky/main arm64 libamd-comgr2 arm64 6.0+git20231212.4510c28+dfsg-3+b2 [12.1 MB] Get: 134 http://deb.debian.org/debian forky/main arm64 libdrm-common all 2.4.125-2 [8576 B] Get: 135 http://deb.debian.org/debian forky/main arm64 libdrm2 arm64 2.4.125-2 [38.4 kB] Get: 136 http://deb.debian.org/debian forky/main arm64 libdrm-amdgpu1 arm64 2.4.125-2 [22.3 kB] Get: 137 http://deb.debian.org/debian forky/main arm64 libnuma1 arm64 2.0.19-1 [21.6 kB] Get: 138 http://deb.debian.org/debian forky/main arm64 libhsakmt1 arm64 6.2.4+ds-1 [58.3 kB] Get: 139 http://deb.debian.org/debian forky/main arm64 libhsa-runtime64-1 arm64 6.1.2-3 [302 kB] Get: 140 http://deb.debian.org/debian forky/main arm64 libamdhip64-5 arm64 5.7.1-6 [8824 kB] Get: 141 http://deb.debian.org/debian forky/main arm64 libibumad3 arm64 56.1-1 [28.6 kB] Get: 142 http://deb.debian.org/debian forky/main arm64 libibmad5 arm64 56.1-1 [42.4 kB] Get: 143 http://deb.debian.org/debian forky/main arm64 libucx0 arm64 1.18.1+ds-2+b1 [1016 kB] Get: 144 http://deb.debian.org/debian forky/main arm64 libopenmpi40 arm64 5.0.7-1 [2087 kB] Get: 145 http://deb.debian.org/debian forky/main arm64 libaec0 arm64 1.1.4-2 [22.6 kB] Get: 146 http://deb.debian.org/debian forky/main arm64 libsz2 arm64 1.1.4-2 [8072 B] Get: 147 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-310 arm64 1.14.5+repack-3 [1207 kB] Get: 148 http://deb.debian.org/debian forky/main arm64 libpng16-16t64 arm64 1.6.50-1 [275 kB] Get: 149 http://deb.debian.org/debian forky/main arm64 libpugixml1v5 arm64 1.14-2 [80.1 kB] Get: 150 http://deb.debian.org/debian forky/main arm64 libyaml-cpp0.8 arm64 0.8.0+dfsg-7 [119 kB] Get: 151 http://deb.debian.org/debian forky/main arm64 libnorm1t64 arm64 1.5.9+dfsg-3.1+b2 [205 kB] Get: 152 http://deb.debian.org/debian forky/main arm64 libpgm-5.3-0t64 arm64 5.3.128~dfsg-2.1+b1 [152 kB] Get: 153 http://deb.debian.org/debian forky/main arm64 libsodium23 arm64 1.0.18-1+b2 [121 kB] Get: 154 http://deb.debian.org/debian forky/main arm64 libzmq5 arm64 4.3.5-1+b3 [253 kB] Get: 155 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-plugins arm64 2.10.2+dfsg1-3 [15.2 kB] Get: 156 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-core-2.10 arm64 2.10.2+dfsg1-3 [1521 kB] Get: 157 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-c-2.10 arm64 2.10.2+dfsg1-3 [59.6 kB] Get: 158 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-auxiliary-2.10 arm64 2.10.2+dfsg1-3 [373 kB] Get: 159 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-auxiliary-dev arm64 2.10.2+dfsg1-3 [23.4 kB] Get: 160 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-c++11-2.10 arm64 2.10.2+dfsg1-3 [185 kB] Get: 161 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-core-dev arm64 2.10.2+dfsg1-3 [80.0 kB] Get: 162 http://deb.debian.org/debian forky/main arm64 libadios2-mpi-c++11-dev arm64 2.10.2+dfsg1-3 [11.4 kB] Get: 163 http://deb.debian.org/debian forky/main arm64 libaec-dev arm64 1.1.4-2 [20.3 kB] Get: 164 http://deb.debian.org/debian forky/main arm64 libalglib4.2 arm64 4.2.0-2 [1327 kB] Get: 165 http://deb.debian.org/debian forky/main arm64 libsuitesparseconfig7 arm64 1:7.11.0+dfsg-2 [33.3 kB] Get: 166 http://deb.debian.org/debian forky/main arm64 libamd3 arm64 1:7.11.0+dfsg-2 [48.1 kB] Get: 167 http://deb.debian.org/debian forky/main arm64 libann0 arm64 1.1.2+doc-9+b2 [24.1 kB] Get: 168 http://deb.debian.org/debian forky/main arm64 libarpack2t64 arm64 3.9.1-6 [84.2 kB] Get: 169 http://deb.debian.org/debian forky/main arm64 libblas-dev arm64 3.12.1-7 [145 kB] Get: 170 http://deb.debian.org/debian forky/main arm64 liblapack-dev arm64 3.12.1-7 [3829 kB] Get: 171 http://deb.debian.org/debian forky/main arm64 libarpack2-dev arm64 3.9.1-6 [102 kB] Get: 172 http://deb.debian.org/debian forky/main arm64 libbasix0.9 arm64 0.9.0-2+b2 [356 kB] Get: 173 http://deb.debian.org/debian forky/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 174 http://deb.debian.org/debian forky/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 175 http://deb.debian.org/debian forky/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 176 http://deb.debian.org/debian forky/main arm64 pkg-config arm64 1.8.1-4 [14.0 kB] Get: 177 http://deb.debian.org/debian forky/main arm64 libeigen3-dev all 3.4.0-5 [1034 kB] Get: 178 http://deb.debian.org/debian forky/main arm64 libbasix-dev arm64 0.9.0-2+b2 [67.1 kB] Get: 179 http://deb.debian.org/debian forky/main arm64 libstdc++-14-dev arm64 14.3.0-7 [2544 kB] Get: 180 http://deb.debian.org/debian forky/main arm64 libboost1.83-dev arm64 1.83.0-4.2 [10.6 MB] Get: 181 http://deb.debian.org/debian forky/main arm64 libboost-atomic1.83.0 arm64 1.83.0-4.2 [234 kB] Get: 182 http://deb.debian.org/debian forky/main arm64 libboost-atomic1.83-dev arm64 1.83.0-4.2 [235 kB] Get: 183 http://deb.debian.org/debian forky/main arm64 libboost-chrono1.83.0t64 arm64 1.83.0-4.2 [239 kB] Get: 184 http://deb.debian.org/debian forky/main arm64 libboost-chrono1.83-dev arm64 1.83.0-4.2 [245 kB] Get: 185 http://deb.debian.org/debian forky/main arm64 libboost-chrono-dev arm64 1.83.0.2+b2 [4212 B] Get: 186 http://deb.debian.org/debian forky/main arm64 libboost-date-time1.83.0 arm64 1.83.0-4.2 [231 kB] Get: 187 http://deb.debian.org/debian forky/main arm64 libboost-serialization1.83.0 arm64 1.83.0-4.2 [325 kB] Get: 188 http://deb.debian.org/debian forky/main arm64 libboost-serialization1.83-dev arm64 1.83.0-4.2 [373 kB] Get: 189 http://deb.debian.org/debian forky/main arm64 libboost-date-time1.83-dev arm64 1.83.0-4.2 [239 kB] Get: 190 http://deb.debian.org/debian forky/main arm64 libboost-dev arm64 1.83.0.2+b2 [3828 B] Get: 191 http://deb.debian.org/debian forky/main arm64 libboost-filesystem1.83.0 arm64 1.83.0-4.2 [273 kB] Get: 192 http://deb.debian.org/debian forky/main arm64 libboost-system1.83.0 arm64 1.83.0-4.2 [231 kB] Get: 193 http://deb.debian.org/debian forky/main arm64 libboost-system1.83-dev arm64 1.83.0-4.2 [232 kB] Get: 194 http://deb.debian.org/debian forky/main arm64 libboost-filesystem1.83-dev arm64 1.83.0-4.2 [292 kB] Get: 195 http://deb.debian.org/debian forky/main arm64 libboost-filesystem-dev arm64 1.83.0.2+b2 [3616 B] Get: 196 http://deb.debian.org/debian forky/main arm64 libboost-regex1.83.0 arm64 1.83.0-4.2 [314 kB] Get: 197 http://deb.debian.org/debian forky/main arm64 libicu-dev arm64 76.1-4 [10.6 MB] Get: 198 http://deb.debian.org/debian forky/main arm64 libboost-regex1.83-dev arm64 1.83.0-4.2 [335 kB] Get: 199 http://deb.debian.org/debian forky/main arm64 libboost-iostreams1.83-dev arm64 1.83.0-4.2 [261 kB] Get: 200 http://deb.debian.org/debian forky/main arm64 libboost-iostreams-dev arm64 1.83.0.2+b2 [3568 B] Get: 201 http://deb.debian.org/debian forky/main arm64 libboost-math1.83.0 arm64 1.83.0-4.2 [471 kB] Get: 202 http://deb.debian.org/debian forky/main arm64 libboost-math1.83-dev arm64 1.83.0-4.2 [536 kB] Get: 203 http://deb.debian.org/debian forky/main arm64 libboost-math-dev arm64 1.83.0.2+b2 [3784 B] Get: 204 http://deb.debian.org/debian forky/main arm64 libboost-mpi1.83.0 arm64 1.83.0-4.2 [268 kB] Get: 205 http://deb.debian.org/debian forky/main arm64 openmpi-common all 5.0.7-1 [97.2 kB] Get: 206 http://deb.debian.org/debian forky/main arm64 libnl-3-dev arm64 3.11.0-2 [104 kB] Get: 207 http://deb.debian.org/debian forky/main arm64 libnl-route-3-dev arm64 3.11.0-2 [210 kB] Get: 208 http://deb.debian.org/debian forky/main arm64 libibverbs-dev arm64 56.1-1 [642 kB] Get: 209 http://deb.debian.org/debian forky/main arm64 libnuma-dev arm64 2.0.19-1 [37.6 kB] Get: 210 http://deb.debian.org/debian forky/main arm64 libltdl7 arm64 2.5.4-5 [415 kB] Get: 211 http://deb.debian.org/debian forky/main arm64 libltdl-dev arm64 2.5.4-5 [168 kB] Get: 212 http://deb.debian.org/debian forky/main arm64 libhwloc-dev arm64 2.12.2-1 [239 kB] Get: 213 http://deb.debian.org/debian forky/main arm64 libevent-2.1-7t64 arm64 2.1.12-stable-10+b1 [170 kB] Get: 214 http://deb.debian.org/debian forky/main arm64 libevent-extra-2.1-7t64 arm64 2.1.12-stable-10+b1 [102 kB] Get: 215 http://deb.debian.org/debian forky/main arm64 libevent-openssl-2.1-7t64 arm64 2.1.12-stable-10+b1 [60.4 kB] Get: 216 http://deb.debian.org/debian forky/main arm64 libevent-dev arm64 2.1.12-stable-10+b1 [304 kB] Get: 217 http://deb.debian.org/debian forky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Get: 218 http://deb.debian.org/debian forky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 219 http://deb.debian.org/debian forky/main arm64 libpmix-dev arm64 5.0.7-1 [3947 kB] Get: 220 http://deb.debian.org/debian forky/main arm64 libjs-jquery-ui all 1.13.2+dfsg-1 [250 kB] Get: 221 http://deb.debian.org/debian forky/main arm64 openmpi-bin arm64 5.0.7-1 [180 kB] Get: 222 http://deb.debian.org/debian forky/main arm64 libopenmpi-dev arm64 5.0.7-1 [1089 kB] Get: 223 http://deb.debian.org/debian forky/main arm64 mpi-default-dev arm64 1.18 [3372 B] Get: 224 http://deb.debian.org/debian forky/main arm64 libboost-mpi1.83-dev arm64 1.83.0-4.2 [291 kB] Get: 225 http://deb.debian.org/debian forky/main arm64 libboost-mpi-dev arm64 1.83.0.2+b2 [3668 B] Get: 226 http://deb.debian.org/debian forky/main arm64 libboost-program-options1.83.0 arm64 1.83.0-4.2 [331 kB] Get: 227 http://deb.debian.org/debian forky/main arm64 libboost-program-options1.83-dev arm64 1.83.0-4.2 [368 kB] Get: 228 http://deb.debian.org/debian forky/main arm64 libboost-program-options-dev arm64 1.83.0.2+b2 [3600 B] Get: 229 http://deb.debian.org/debian forky/main arm64 libboost-serialization-dev arm64 1.83.0.2+b2 [3816 B] Get: 230 http://deb.debian.org/debian forky/main arm64 libboost-thread1.83.0 arm64 1.83.0-4.2 [266 kB] Get: 231 http://deb.debian.org/debian forky/main arm64 libboost-thread1.83-dev arm64 1.83.0-4.2 [276 kB] Get: 232 http://deb.debian.org/debian forky/main arm64 libboost-thread-dev arm64 1.83.0.2+b2 [3616 B] Get: 233 http://deb.debian.org/debian forky/main arm64 libboost-timer1.83.0 arm64 1.83.0-4.2 [235 kB] Get: 234 http://deb.debian.org/debian forky/main arm64 libboost-timer1.83-dev arm64 1.83.0-4.2 [237 kB] Get: 235 http://deb.debian.org/debian forky/main arm64 libboost-timer-dev arm64 1.83.0.2+b2 [3712 B] Get: 236 http://deb.debian.org/debian forky/main arm64 libbrotli-dev arm64 1.1.0-2+b7 [308 kB] Get: 237 http://deb.debian.org/debian forky/main arm64 libbtf2 arm64 1:7.11.0+dfsg-2 [33.9 kB] Get: 238 http://deb.debian.org/debian forky/main arm64 libc6-dbg arm64 2.41-12 [6679 kB] Get: 239 http://deb.debian.org/debian forky/main arm64 libcamd3 arm64 1:7.11.0+dfsg-2 [44.7 kB] Get: 240 http://deb.debian.org/debian forky/main arm64 libccolamd3 arm64 1:7.11.0+dfsg-2 [47.3 kB] Get: 241 http://deb.debian.org/debian forky/main arm64 libhdf5-310 arm64 1.14.5+repack-3 [1155 kB] Get: 242 http://deb.debian.org/debian forky/main arm64 libcgns3.4 arm64 3.4.0-5+b2 [227 kB] Get: 243 http://deb.debian.org/debian forky/main arm64 libcolamd3 arm64 1:7.11.0+dfsg-2 [41.5 kB] Get: 244 http://deb.debian.org/debian forky/main arm64 libcholmod5 arm64 1:7.11.0+dfsg-2 [563 kB] Get: 245 http://deb.debian.org/debian forky/main arm64 libcombblas2.0.0t64 arm64 2.0.0-6+b2 [258 kB] Get: 246 http://deb.debian.org/debian forky/main arm64 libidn2-dev arm64 2.3.8-4 [102 kB] Get: 247 http://deb.debian.org/debian forky/main arm64 libkrb5-dev arm64 1.21.3-5 [16.1 kB] Get: 248 http://deb.debian.org/debian forky/main arm64 libldap-dev arm64 2.6.10+dfsg-1 [305 kB] Get: 249 http://deb.debian.org/debian forky/main arm64 libnghttp2-dev arm64 1.64.0-1.1+b1 [112 kB] Get: 250 http://deb.debian.org/debian forky/main arm64 libnghttp3-dev arm64 1.8.0-1 [89.4 kB] Get: 251 http://deb.debian.org/debian forky/main arm64 libpsl-dev arm64 0.21.2-1.1+b1 [77.9 kB] Get: 252 http://deb.debian.org/debian forky/main arm64 libgmpxx4ldbl arm64 2:6.3.0+dfsg-5 [329 kB] Get: 253 http://deb.debian.org/debian forky/main arm64 libgmp-dev arm64 2:6.3.0+dfsg-5 [621 kB] Get: 254 http://deb.debian.org/debian forky/main arm64 libunbound8 arm64 1.23.1-1 [561 kB] Get: 255 http://deb.debian.org/debian forky/main arm64 libgnutls-dane0t64 arm64 3.8.9-3 [453 kB] Get: 256 http://deb.debian.org/debian forky/main arm64 libgnutls-openssl27t64 arm64 3.8.9-3 [453 kB] Get: 257 http://deb.debian.org/debian forky/main arm64 libp11-kit-dev arm64 0.25.5-3 [208 kB] Get: 258 http://deb.debian.org/debian forky/main arm64 libtasn1-6-dev arm64 4.20.0-2 [96.7 kB] Get: 259 http://deb.debian.org/debian forky/main arm64 nettle-dev arm64 3.10.1-1 [1325 kB] Get: 260 http://deb.debian.org/debian forky/main arm64 libgnutls28-dev arm64 3.8.9-3 [1416 kB] Get: 261 http://deb.debian.org/debian forky/main arm64 librtmp-dev arm64 2.4+20151223.gitfa8646d.1-3 [173 kB] Get: 262 http://deb.debian.org/debian forky/main arm64 libssl-dev arm64 3.5.2-1 [3386 kB] Get: 263 http://deb.debian.org/debian forky/main arm64 libssh2-1-dev arm64 1.11.1-1 [388 kB] Get: 264 http://deb.debian.org/debian forky/main arm64 libzstd-dev arm64 1.5.7+dfsg-1.1 [335 kB] Get: 265 http://deb.debian.org/debian forky/main arm64 libcurl4-openssl-dev arm64 8.15.0-1 [497 kB] Get: 266 http://deb.debian.org/debian forky/main arm64 libcxsparse4 arm64 1:7.11.0+dfsg-2 [89.4 kB] Get: 267 http://deb.debian.org/debian forky/main arm64 libdeflate0 arm64 1.23-2 [42.4 kB] Get: 268 http://deb.debian.org/debian forky/main arm64 libfmt10 arm64 10.1.1+ds1-4 [121 kB] Get: 269 http://deb.debian.org/debian forky/main arm64 libfftw3-double3 arm64 3.3.10-2+b1 [337 kB] Get: 270 http://deb.debian.org/debian forky/main arm64 libfftw3-long3 arm64 3.3.10-2+b1 [546 kB] Get: 271 http://deb.debian.org/debian forky/main arm64 libfftw3-single3 arm64 3.3.10-2+b1 [517 kB] Get: 272 http://deb.debian.org/debian forky/main arm64 libfftw3-mpi3 arm64 3.3.10-2+b1 [54.3 kB] Get: 273 http://deb.debian.org/debian forky/main arm64 libmetis5 arm64 5.1.0.dfsg-7+b2 [161 kB] Get: 274 http://deb.debian.org/debian forky/main arm64 libptscotch-7.0 arm64 7.0.7-1 [571 kB] Get: 275 http://deb.debian.org/debian forky/main arm64 libsuperlu-dist8 arm64 8.2.1+dfsg1-5+b1 [526 kB] Get: 276 http://deb.debian.org/debian forky/main arm64 libhypre-2.32.0 arm64 2.32.0-4 [1507 kB] Get: 277 http://deb.debian.org/debian forky/main arm64 libklu2 arm64 1:7.11.0+dfsg-2 [92.5 kB] Get: 278 http://deb.debian.org/debian forky/main arm64 mpi-default-bin arm64 1.18 [2576 B] Get: 279 http://deb.debian.org/debian forky/main arm64 libscalapack-openmpi2.2 arm64 2.2.2-1 [1246 kB] Get: 280 http://deb.debian.org/debian forky/main arm64 libmumps-5.7 arm64 5.7.3-3+b1 [1716 kB] Get: 281 http://deb.debian.org/debian forky/main arm64 libspqr4 arm64 1:7.11.0+dfsg-2 [139 kB] Get: 282 http://deb.debian.org/debian forky/main arm64 libsuperlu7 arm64 7.0.1+dfsg1-2 [145 kB] Get: 283 http://deb.debian.org/debian forky/main arm64 libumfpack6 arm64 1:7.11.0+dfsg-2 [240 kB] Get: 284 http://deb.debian.org/debian forky/main arm64 libyaml-0-2 arm64 0.2.5-2 [49.2 kB] Get: 285 http://deb.debian.org/debian forky/main arm64 libpetsc-real3.22 arm64 3.22.5+dfsg1-2+b1 [5541 kB] Get: 286 http://deb.debian.org/debian forky/main arm64 libparpack2t64 arm64 3.9.1-6 [78.2 kB] Get: 287 http://deb.debian.org/debian forky/main arm64 libslepc-real3.22 arm64 3.22.2+dfsg1-1 [955 kB] Get: 288 http://deb.debian.org/debian forky/main arm64 libspdlog1.15 arm64 1:1.15.3+ds-1 [99.9 kB] Get: 289 http://deb.debian.org/debian forky/main arm64 libdolfinx-real0.9 arm64 1:0.9.0-7 [476 kB] Get: 290 http://deb.debian.org/debian forky/main arm64 libjs-mathjax all 2.7.9+dfsg-1 [5667 kB] Get: 291 http://deb.debian.org/debian forky/main arm64 libldl3 arm64 1:7.11.0+dfsg-2 [33.9 kB] Get: 292 http://deb.debian.org/debian forky/main arm64 libsuitesparse-mongoose3 arm64 1:7.11.0+dfsg-2 [54.9 kB] Get: 293 http://deb.debian.org/debian forky/main arm64 librbio4 arm64 1:7.11.0+dfsg-2 [47.4 kB] Get: 294 http://deb.debian.org/debian forky/main arm64 libspex3 arm64 1:7.11.0+dfsg-2 [66.2 kB] Get: 295 http://deb.debian.org/debian forky/main arm64 libparu1 arm64 1:7.11.0+dfsg-2 [71.5 kB] Get: 296 http://deb.debian.org/debian forky/main arm64 libsuitesparse-dev arm64 1:7.11.0+dfsg-2 [1355 kB] Get: 297 http://deb.debian.org/debian forky/main arm64 libscotch-7.0 arm64 7.0.7-1 [367 kB] Get: 298 http://deb.debian.org/debian forky/main arm64 libscotch-dev arm64 7.0.7-1 [1543 kB] Get: 299 http://deb.debian.org/debian forky/main arm64 libptscotch-dev arm64 7.0.7-1 [1315 kB] Get: 300 http://deb.debian.org/debian forky/main arm64 libscalapack-openmpi-dev arm64 2.2.2-1 [11.1 kB] Get: 301 http://deb.debian.org/debian forky/main arm64 libscalapack-mpi-dev arm64 2.2.2-1 [6264 B] Get: 302 http://deb.debian.org/debian forky/main arm64 libfftw3-bin arm64 3.3.10-2+b1 [44.3 kB] Get: 303 http://deb.debian.org/debian forky/main arm64 libfftw3-dev arm64 3.3.10-2+b1 [1280 kB] Get: 304 http://deb.debian.org/debian forky/main arm64 libfftw3-mpi-dev arm64 3.3.10-2+b1 [59.5 kB] Get: 305 http://deb.debian.org/debian forky/main arm64 opencl-c-headers all 3.0~2025.07.22-1 [47.5 kB] Get: 306 http://deb.debian.org/debian forky/main arm64 opencl-clhpp-headers all 3.0~2025.07.22-1 [51.0 kB] Get: 307 http://deb.debian.org/debian forky/main arm64 ocl-icd-opencl-dev arm64 2.3.3-1 [8808 B] Get: 308 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-fortran-310 arm64 1.14.5+repack-3 [110 kB] Get: 309 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-hl-310 arm64 1.14.5+repack-3 [66.2 kB] Get: 310 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-hl-fortran-310 arm64 1.14.5+repack-3 [42.3 kB] Get: 311 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-cpp-310 arm64 1.14.5+repack-3 [121 kB] Get: 312 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-hl-cpp-310 arm64 1.14.5+repack-3 [24.5 kB] Get: 313 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo arm64 1:2.1.5-4 [173 kB] Get: 314 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo-dev arm64 1:2.1.5-4 [293 kB] Get: 315 http://deb.debian.org/debian forky/main arm64 libjpeg-dev arm64 1:2.1.5-4 [72.2 kB] Get: 316 http://deb.debian.org/debian forky/main arm64 libhdf5-openmpi-dev arm64 1.14.5+repack-3 [3335 kB] Get: 317 http://deb.debian.org/debian forky/main arm64 libhdf5-mpi-dev arm64 1.14.5+repack-3 [18.7 kB] Get: 318 http://deb.debian.org/debian forky/main arm64 libsuperlu-dev arm64 7.0.1+dfsg1-2 [22.0 kB] Get: 319 http://deb.debian.org/debian forky/main arm64 libsuperlu-dist-dev arm64 8.2.1+dfsg1-5+b1 [849 kB] Get: 320 http://deb.debian.org/debian forky/main arm64 xorg-sgml-doctools all 1:1.11-1.1 [22.1 kB] Get: 321 http://deb.debian.org/debian forky/main arm64 x11proto-dev all 2024.1-1 [603 kB] Get: 322 http://deb.debian.org/debian forky/main arm64 libxau-dev arm64 1:1.0.11-1 [23.9 kB] Get: 323 http://deb.debian.org/debian forky/main arm64 libxdmcp-dev arm64 1:1.1.5-1 [44.2 kB] Get: 324 http://deb.debian.org/debian forky/main arm64 xtrans-dev all 1.4.0-1 [98.7 kB] Get: 325 http://deb.debian.org/debian forky/main arm64 libxcb1-dev arm64 1.17.0-2+b1 [182 kB] Get: 326 http://deb.debian.org/debian forky/main arm64 libx11-dev arm64 2:1.8.12-1 [883 kB] Get: 327 http://deb.debian.org/debian forky/main arm64 libyaml-dev arm64 0.2.5-2 [61.1 kB] Get: 328 http://deb.debian.org/debian forky/main arm64 libpetsc3.22-dev-common all 3.22.5+dfsg1-2 [310 kB] Get: 329 http://deb.debian.org/debian forky/main arm64 libhypre-dev arm64 2.32.0-4 [1845 kB] Get: 330 http://deb.debian.org/debian forky/main arm64 libmumps-headers-dev all 5.7.3-3 [36.3 kB] Get: 331 http://deb.debian.org/debian forky/main arm64 libmumps-dev arm64 5.7.3-3+b1 [1741 kB] Get: 332 http://deb.debian.org/debian forky/main arm64 valgrind arm64 1:3.24.0-3 [8820 kB] Get: 333 http://deb.debian.org/debian forky/main arm64 valgrind-mpi arm64 1:3.24.0-3 [53.9 kB] Get: 334 http://deb.debian.org/debian forky/main arm64 libpetsc-real3.22-dev arm64 3.22.5+dfsg1-2+b1 [7951 kB] Get: 335 http://deb.debian.org/debian forky/main arm64 libparpack2-dev arm64 3.9.1-6 [93.2 kB] Get: 336 http://deb.debian.org/debian forky/main arm64 libslepc-real3.22-dev arm64 3.22.2+dfsg1-1 [6370 kB] Get: 337 http://deb.debian.org/debian forky/main arm64 libdolfinx-real-dev arm64 1:0.9.0-7 [48.8 kB] Get: 338 http://deb.debian.org/debian forky/main arm64 libpugixml-dev arm64 1.14-2 [103 kB] Get: 339 http://deb.debian.org/debian forky/main arm64 libfmt-dev arm64 10.1.1+ds1-4 [177 kB] Get: 340 http://deb.debian.org/debian forky/main arm64 libspdlog-dev arm64 1:1.15.3+ds-1 [91.9 kB] Get: 341 http://deb.debian.org/debian forky/main arm64 liblzma-dev arm64 5.8.1-1.1 [344 kB] Get: 342 http://deb.debian.org/debian forky/main arm64 libxml2-dev arm64 2.14.5+dfsg-0.2 [709 kB] Get: 343 http://deb.debian.org/debian forky/main arm64 python3-cffi-backend arm64 2.0.0~b1-1 [93.6 kB] Get: 344 http://deb.debian.org/debian forky/main arm64 python3-ply all 3.11-9 [62.9 kB] Get: 345 http://deb.debian.org/debian forky/main arm64 python3-pycparser all 2.22-2 [78.0 kB] Get: 346 http://deb.debian.org/debian forky/main arm64 python3-cffi all 2.0.0~b1-1 [90.3 kB] Get: 347 http://deb.debian.org/debian forky/main arm64 libpython3.13 arm64 3.13.7-1 [1978 kB] Get: 348 http://deb.debian.org/debian forky/main arm64 libexpat1-dev arm64 2.7.1-2 [145 kB] Get: 349 http://deb.debian.org/debian forky/main arm64 libpython3.13-dev arm64 3.13.7-1 [4924 kB] Get: 350 http://deb.debian.org/debian forky/main arm64 libpython3-dev arm64 3.13.5-1 [10.4 kB] Get: 351 http://deb.debian.org/debian forky/main arm64 python3.13-dev arm64 3.13.7-1 [504 kB] Get: 352 http://deb.debian.org/debian forky/main arm64 libjs-sphinxdoc all 8.2.3-6 [27.5 kB] Get: 353 http://deb.debian.org/debian forky/main arm64 python3-dev arm64 3.13.5-1 [26.1 kB] Get: 354 http://deb.debian.org/debian forky/main arm64 python3-ufl all 2024.2.0-3 [150 kB] Get: 355 http://deb.debian.org/debian forky/main arm64 python3-basix arm64 0.9.0-2+b2 [118 kB] Get: 356 http://deb.debian.org/debian forky/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 357 http://deb.debian.org/debian forky/main arm64 python3-more-itertools all 10.8.0-1 [71.7 kB] Get: 358 http://deb.debian.org/debian forky/main arm64 python3-typing-extensions all 4.15.0-1 [92.4 kB] Get: 359 http://deb.debian.org/debian forky/main arm64 python3-typeguard all 4.4.4-1 [37.1 kB] Get: 360 http://deb.debian.org/debian forky/main arm64 python3-inflect all 7.5.0-1 [33.0 kB] Get: 361 http://deb.debian.org/debian forky/main arm64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 362 http://deb.debian.org/debian forky/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 363 http://deb.debian.org/debian forky/main arm64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 364 http://deb.debian.org/debian forky/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 365 http://deb.debian.org/debian forky/main arm64 python3-zipp all 3.23.0-1 [11.0 kB] Get: 366 http://deb.debian.org/debian forky/main arm64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 367 http://deb.debian.org/debian forky/main arm64 python3-ffcx all 1:0.9.0-2 [94.9 kB] Get: 368 http://deb.debian.org/debian forky/main arm64 libdolfinx-dev arm64 1:0.9.0-7 [202 kB] Get: 369 http://deb.debian.org/debian forky/main arm64 libfreetype6 arm64 2.13.3+dfsg-1 [422 kB] Get: 370 http://deb.debian.org/debian forky/main arm64 libfontconfig1 arm64 2.15.0-2.4 [387 kB] Get: 371 http://deb.debian.org/debian forky/main arm64 libxfixes3 arm64 1:6.0.0-2+b4 [20.5 kB] Get: 372 http://deb.debian.org/debian forky/main arm64 libxrender1 arm64 1:0.9.12-1 [27.0 kB] Get: 373 http://deb.debian.org/debian forky/main arm64 libxcursor1 arm64 1:1.2.3-1 [39.3 kB] Get: 374 http://deb.debian.org/debian forky/main arm64 libxft2 arm64 2.3.6-1+b4 [51.6 kB] Get: 375 http://deb.debian.org/debian forky/main arm64 libxinerama1 arm64 2:1.1.4-3+b4 [16.0 kB] Get: 376 http://deb.debian.org/debian forky/main arm64 libfltk1.3t64 arm64 1.3.11-2 [523 kB] Get: 377 http://deb.debian.org/debian forky/main arm64 libglvnd0 arm64 1.7.0-1+b2 [41.6 kB] Get: 378 http://deb.debian.org/debian forky/main arm64 libx11-xcb1 arm64 2:1.8.12-1 [247 kB] Get: 379 http://deb.debian.org/debian forky/main arm64 libxcb-dri3-0 arm64 1.17.0-2+b1 [107 kB] Get: 380 http://deb.debian.org/debian forky/main arm64 libxcb-glx0 arm64 1.17.0-2+b1 [123 kB] Get: 381 http://deb.debian.org/debian forky/main arm64 libxcb-present0 arm64 1.17.0-2+b1 [106 kB] Get: 382 http://deb.debian.org/debian forky/main arm64 libxcb-shm0 arm64 1.17.0-2+b1 [105 kB] Get: 383 http://deb.debian.org/debian forky/main arm64 libxcb-xfixes0 arm64 1.17.0-2+b1 [110 kB] Get: 384 http://deb.debian.org/debian forky/main arm64 libxxf86vm1 arm64 1:1.1.4-1+b4 [19.2 kB] Get: 385 http://deb.debian.org/debian forky/main arm64 libllvm19 arm64 1:19.1.7-3+b2 [23.3 MB] Get: 386 http://deb.debian.org/debian forky/main arm64 libsensors-config all 1:3.6.2-2 [16.2 kB] Get: 387 http://deb.debian.org/debian forky/main arm64 libsensors5 arm64 1:3.6.2-2 [36.4 kB] Get: 388 http://deb.debian.org/debian forky/main arm64 libxcb-randr0 arm64 1.17.0-2+b1 [117 kB] Get: 389 http://deb.debian.org/debian forky/main arm64 libxcb-sync1 arm64 1.17.0-2+b1 [109 kB] Get: 390 http://deb.debian.org/debian forky/main arm64 libxshmfence1 arm64 1.3.3-1 [11.1 kB] Get: 391 http://deb.debian.org/debian forky/main arm64 mesa-libgallium arm64 25.2.2-1 [10.4 MB] Get: 392 http://deb.debian.org/debian forky/main arm64 libgbm1 arm64 25.2.2-1 [45.2 kB] Get: 393 http://deb.debian.org/debian forky/main arm64 libvulkan1 arm64 1.4.321.0-1 [130 kB] Get: 394 http://deb.debian.org/debian forky/main arm64 libgl1-mesa-dri arm64 25.2.2-1 [46.6 kB] Get: 395 http://deb.debian.org/debian forky/main arm64 libglx-mesa0 arm64 25.2.2-1 [109 kB] Get: 396 http://deb.debian.org/debian forky/main arm64 libglx0 arm64 1.7.0-1+b2 [31.1 kB] Get: 397 http://deb.debian.org/debian forky/main arm64 libgl1 arm64 1.7.0-1+b2 [90.9 kB] Get: 398 http://deb.debian.org/debian forky/main arm64 libfltk-gl1.3t64 arm64 1.3.11-2 [61.7 kB] Get: 399 http://deb.debian.org/debian forky/main arm64 libfltk-images1.3t64 arm64 1.3.11-2 [50.7 kB] Get: 400 http://deb.debian.org/debian forky/main arm64 libimath-3-1-29t64 arm64 3.1.12-1+b3 [38.0 kB] Get: 401 http://deb.debian.org/debian forky/main arm64 libjxr0t64 arm64 1.2~git20170615.f752187-5.3 [157 kB] Get: 402 http://deb.debian.org/debian forky/main arm64 libopenexr-3-1-30 arm64 3.1.13-2 [875 kB] Get: 403 http://deb.debian.org/debian forky/main arm64 libopenjp2-7 arm64 2.5.3-2.1 [189 kB] Get: 404 http://deb.debian.org/debian forky/main arm64 liblcms2-2 arm64 2.16-2 [151 kB] Get: 405 http://deb.debian.org/debian forky/main arm64 libraw23t64 arm64 0.21.4-2 [371 kB] Get: 406 http://deb.debian.org/debian forky/main arm64 libjbig0 arm64 2.1-6.1+b2 [30.4 kB] Get: 407 http://deb.debian.org/debian forky/main arm64 liblerc4 arm64 4.0.0+ds-5 [146 kB] Get: 408 http://deb.debian.org/debian forky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [114 kB] Get: 409 http://deb.debian.org/debian forky/main arm64 libwebp7 arm64 1.5.0-0.1 [271 kB] Get: 410 http://deb.debian.org/debian forky/main arm64 libtiff6 arm64 4.7.0-5 [331 kB] Get: 411 http://deb.debian.org/debian forky/main arm64 libwebpmux3 arm64 1.5.0-0.1 [125 kB] Get: 412 http://deb.debian.org/debian forky/main arm64 libfreeimage3 arm64 3.18.0+ds2-11 [276 kB] Get: 413 http://deb.debian.org/debian forky/main arm64 libgl2ps1.4 arm64 1.4.2+dfsg1-2+b1 [37.0 kB] Get: 414 http://deb.debian.org/debian forky/main arm64 libopengl0 arm64 1.7.0-1+b2 [32.1 kB] Get: 415 http://deb.debian.org/debian forky/main arm64 libglu1-mesa arm64 9.0.2-1.1+b3 [162 kB] Get: 416 http://deb.debian.org/debian forky/main arm64 libtbbbind-2-5 arm64 2022.1.0-2 [13.9 kB] Get: 417 http://deb.debian.org/debian forky/main arm64 libtbbmalloc2 arm64 2022.1.0-2 [38.2 kB] Get: 418 http://deb.debian.org/debian forky/main arm64 libtbb12 arm64 2022.1.0-2 [71.3 kB] Get: 419 http://deb.debian.org/debian forky/main arm64 libocct-foundation-7.8 arm64 7.8.1+dfsg1-3 [1346 kB] Get: 420 http://deb.debian.org/debian forky/main arm64 libocct-modeling-data-7.8 arm64 7.8.1+dfsg1-3 [2475 kB] Get: 421 http://deb.debian.org/debian forky/main arm64 libocct-modeling-algorithms-7.8 arm64 7.8.1+dfsg1-3 [7165 kB] Get: 422 http://deb.debian.org/debian forky/main arm64 libtcl8.6 arm64 8.6.17+dfsg-1 [982 kB] Get: 423 http://deb.debian.org/debian forky/main arm64 x11-common all 1:7.7+25 [217 kB] Get: 424 http://deb.debian.org/debian forky/main arm64 libxss1 arm64 1:1.2.3-1+b3 [17.1 kB] Get: 425 http://deb.debian.org/debian forky/main arm64 libtk8.6 arm64 8.6.17-1 [740 kB] Get: 426 http://deb.debian.org/debian forky/main arm64 libocct-draw-7.8 arm64 7.8.1+dfsg1-3 [2279 kB] Get: 427 http://deb.debian.org/debian forky/main arm64 occt-misc all 7.8.1+dfsg1-3 [10.4 MB] Get: 428 http://deb.debian.org/debian forky/main arm64 libocct-visualization-7.8 arm64 7.8.1+dfsg1-3 [1912 kB] Get: 429 http://deb.debian.org/debian forky/main arm64 libocct-ocaf-7.8 arm64 7.8.1+dfsg1-3 [1143 kB] Get: 430 http://deb.debian.org/debian forky/main arm64 libocct-data-exchange-7.8 arm64 7.8.1+dfsg1-3 [4295 kB] Get: 431 http://deb.debian.org/debian forky/main arm64 libvoro++1 arm64 0.5+revert-to-0.4.6+dfsg1-1+b1 [109 kB] Get: 432 http://deb.debian.org/debian forky/main arm64 libgmsh4.14 arm64 4.14.0+ds1-1 [5356 kB] Get: 433 http://deb.debian.org/debian forky/main arm64 libjson-perl all 4.10000-1 [87.5 kB] Get: 434 http://deb.debian.org/debian forky/main arm64 libpython3-all-dev arm64 3.13.5-1 [1068 B] Get: 435 http://deb.debian.org/debian forky/main arm64 robin-map-dev all 1.3.0-1 [29.8 kB] Get: 436 http://deb.debian.org/debian forky/main arm64 nanobind-dev all 2.5.0-1 [165 kB] Get: 437 http://deb.debian.org/debian forky/main arm64 python3-packaging all 25.0-1 [56.6 kB] Get: 438 http://deb.debian.org/debian forky/main arm64 python3-pyproject-hooks all 1.2.0-1 [11.7 kB] Get: 439 http://deb.debian.org/debian forky/main arm64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 440 http://deb.debian.org/debian forky/main arm64 python3-build all 1.2.2-4 [36.2 kB] Get: 441 http://deb.debian.org/debian forky/main arm64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 442 http://deb.debian.org/debian forky/main arm64 pybuild-plugin-pyproject all 6.20250414 [11.8 kB] Get: 443 http://deb.debian.org/debian forky/main arm64 sphinx-common all 8.2.3-6 [619 kB] Get: 444 http://deb.debian.org/debian forky/main arm64 python-petsc4py-doc all 3.22.4-1 [779 kB] Get: 445 http://deb.debian.org/debian forky/main arm64 python3-all arm64 3.13.5-1 [1044 B] Get: 446 http://deb.debian.org/debian forky/main arm64 python3-all-dev arm64 3.13.5-1 [1068 B] Get: 447 http://deb.debian.org/debian forky/main arm64 python3-decorator all 5.2.1-2 [33.0 kB] Get: 448 http://deb.debian.org/debian forky/main arm64 python3-mpi4py arm64 4.1.0-3 [662 kB] Get: 449 http://deb.debian.org/debian forky/main arm64 python3-nanobind all 2.5.0-1 [41.8 kB] Get: 450 http://deb.debian.org/debian forky/main arm64 python3-pusimp all 0.1.1-1 [10.1 kB] Get: 451 http://deb.debian.org/debian forky/main arm64 python3-scipy arm64 1.15.3-1.1 [15.1 MB] Get: 452 http://deb.debian.org/debian forky/main arm64 swig arm64 4.3.0-1 [1406 kB] Get: 453 http://deb.debian.org/debian forky/main arm64 python3-petsc4py-real3.22 arm64 3.22.4-1 [1072 kB] Get: 454 http://deb.debian.org/debian forky/main arm64 python3-petsc4py-real all 3.22.4-1 [11.0 kB] Get: 455 http://deb.debian.org/debian forky/main arm64 python3-petsc4py all 3.22.4-1 [11.1 kB] Get: 456 http://deb.debian.org/debian forky/main arm64 python3-slepc4py-real3.22 arm64 3.22.2-1+b1 [272 kB] Get: 457 http://deb.debian.org/debian forky/main arm64 python3-slepc4py-real all 3.22.2-1 [6636 B] Get: 458 http://deb.debian.org/debian forky/main arm64 python3-slepc4py all 3.22.2-1 [6828 B] Get: 459 http://deb.debian.org/debian forky/main arm64 python3-dolfinx-real arm64 1:0.9.0-7 [1125 kB] Get: 460 http://deb.debian.org/debian forky/main arm64 python3-dolfinx arm64 1:0.9.0-7 [50.1 kB] Get: 461 http://deb.debian.org/debian forky/main arm64 python3-gmsh all 4.14.0+ds1-1 [74.5 kB] Get: 462 http://deb.debian.org/debian forky/main arm64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 463 http://deb.debian.org/debian forky/main arm64 python3-pathspec all 0.12.1-1 [28.1 kB] Get: 464 http://deb.debian.org/debian forky/main arm64 python3-pluggy all 1.6.0-1 [27.1 kB] Get: 465 http://deb.debian.org/debian forky/main arm64 python3-pyproject-metadata all 0.9.1-2 [21.6 kB] Get: 466 http://deb.debian.org/debian forky/main arm64 python3-pytest all 8.3.5-2 [250 kB] Get: 467 http://deb.debian.org/debian forky/main arm64 python3-scikit-build-core all 0.11.1-3 [118 kB] Fetched 477 MB in 2s (230 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20020 files and directories currently installed.) Preparing to unpack .../libexpat1_2.7.1-2_arm64.deb ... Unpacking libexpat1:arm64 (2.7.1-2) ... Selecting previously unselected package libpython3.13-minimal:arm64. Preparing to unpack .../libpython3.13-minimal_3.13.7-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.7-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.7-1_arm64.deb ... Unpacking python3.13-minimal (3.13.7-1) ... Setting up libpython3.13-minimal:arm64 (3.13.7-1) ... Setting up libexpat1:arm64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.7-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20354 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_arm64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.5.2-2_arm64.deb ... Unpacking libffi8:arm64 (3.5.2-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.3-3_all.deb ... Unpacking readline-common (8.3-3) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.3-3_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.3-3) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.7-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.7-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.7-1_arm64.deb ... Unpacking python3.13 (3.13.7-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.5-1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21369 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.5-1_arm64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package python3-numpy-dev:arm64. Preparing to unpack .../001-python3-numpy-dev_1%3a2.2.4+ds-1.2_arm64.deb ... Unpacking python3-numpy-dev:arm64 (1:2.2.4+ds-1.2) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../002-libblas3_3.12.1-7_arm64.deb ... Unpacking libblas3:arm64 (3.12.1-7) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../003-libgfortran5_15.2.0-3_arm64.deb ... Unpacking libgfortran5:arm64 (15.2.0-3) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../004-liblapack3_3.12.1-7_arm64.deb ... Unpacking liblapack3:arm64 (3.12.1-7) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../005-python3-numpy_1%3a2.2.4+ds-1.2_arm64.deb ... Unpacking python3-numpy (1:2.2.4+ds-1.2) ... Selecting previously unselected package libproc2-0:arm64. Preparing to unpack .../006-libproc2-0_2%3a4.0.4-9_arm64.deb ... Unpacking libproc2-0:arm64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../007-procps_2%3a4.0.4-9_arm64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../008-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../009-libmagic-mgc_1%3a5.46-5_arm64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../010-libmagic1t64_1%3a5.46-5_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../011-file_1%3a5.46-5_arm64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../012-gettext-base_0.23.1-2+b1_arm64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../013-libuchardet0_0.0.8-2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../014-groff-base_1.23.0-9_arm64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../015-bsdextrautils_2.41.1-2_arm64.deb ... Unpacking bsdextrautils (2.41.1-2) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../016-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../017-man-db_2.13.1-1_arm64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libedit2:arm64. Preparing to unpack .../018-libedit2_3.1-20250104-1_arm64.deb ... Unpacking libedit2:arm64 (3.1-20250104-1) ... Selecting previously unselected package libcbor0.10:arm64. Preparing to unpack .../019-libcbor0.10_0.10.2-2_arm64.deb ... Unpacking libcbor0.10:arm64 (0.10.2-2) ... Selecting previously unselected package libfido2-1:arm64. Preparing to unpack .../020-libfido2-1_1.16.0-2_arm64.deb ... Unpacking libfido2-1:arm64 (1.16.0-2) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../021-libkrb5support0_1.21.3-5_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-5) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../022-libcom-err2_1.47.2-3+b3_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-3+b3) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../023-libk5crypto3_1.21.3-5_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../024-libkeyutils1_1.6.3-6_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../025-libkrb5-3_1.21.3-5_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../026-libgssapi-krb5-2_1.21.3-5_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-5) ... Selecting previously unselected package openssh-client. Preparing to unpack .../027-openssh-client_1%3a10.0p1-8_arm64.deb ... Unpacking openssh-client (1:10.0p1-8) ... Selecting previously unselected package m4. Preparing to unpack .../028-m4_1.4.20-1_arm64.deb ... Unpacking m4 (1.4.20-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../029-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../030-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../031-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../032-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package cmake-data. Preparing to unpack .../033-cmake-data_4.1.1+really3.31.6-1_all.deb ... Unpacking cmake-data (4.1.1+really3.31.6-1) ... Selecting previously unselected package libxml2-16:arm64. Preparing to unpack .../034-libxml2-16_2.14.5+dfsg-0.2_arm64.deb ... Unpacking libxml2-16:arm64 (2.14.5+dfsg-0.2) ... Selecting previously unselected package libarchive13t64:arm64. Preparing to unpack .../035-libarchive13t64_3.7.4-4+b1_arm64.deb ... Unpacking libarchive13t64:arm64 (3.7.4-4+b1) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../036-libbrotli1_1.1.0-2+b7_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b7) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../037-libunistring5_1.3-2_arm64.deb ... Unpacking libunistring5:arm64 (1.3-2) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../038-libidn2-0_2.3.8-4_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.8-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../039-libsasl2-modules-db_2.1.28+dfsg1-9_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-9) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../040-libsasl2-2_2.1.28+dfsg1-9_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-9) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../041-libldap2_2.6.10+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.10+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../042-libnghttp2-14_1.64.0-1.1+b1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../043-libnghttp3-9_1.8.0-1_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.8.0-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../044-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../045-libp11-kit0_0.25.5-3_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../046-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../047-libgnutls30t64_3.8.9-3_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.9-3) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../048-librtmp1_2.4+20151223.gitfa8646d.1-3_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../049-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl4t64:arm64. Preparing to unpack .../050-libcurl4t64_8.15.0-1_arm64.deb ... Unpacking libcurl4t64:arm64 (8.15.0-1) ... Selecting previously unselected package libjsoncpp26:arm64. Preparing to unpack .../051-libjsoncpp26_1.9.6-4_arm64.deb ... Unpacking libjsoncpp26:arm64 (1.9.6-4) ... Selecting previously unselected package librhash1:arm64. Preparing to unpack .../052-librhash1_1.4.6-1_arm64.deb ... Unpacking librhash1:arm64 (1.4.6-1) ... Selecting previously unselected package libuv1t64:arm64. Preparing to unpack .../053-libuv1t64_1.51.0-2_arm64.deb ... Unpacking libuv1t64:arm64 (1.51.0-2) ... Selecting previously unselected package cmake. Preparing to unpack .../054-cmake_4.1.1+really3.31.6-1_arm64.deb ... Unpacking cmake (4.1.1+really3.31.6-1) ... Selecting previously unselected package comerr-dev:arm64. Preparing to unpack .../055-comerr-dev_2.1-1.47.2-3+b3_arm64.deb ... Unpacking comerr-dev:arm64 (2.1-1.47.2-3+b3) ... Selecting previously unselected package gcc-14-base:arm64. Preparing to unpack .../056-gcc-14-base_14.3.0-7_arm64.deb ... Unpacking gcc-14-base:arm64 (14.3.0-7) ... Selecting previously unselected package cpp-14-aarch64-linux-gnu. Preparing to unpack .../057-cpp-14-aarch64-linux-gnu_14.3.0-7_arm64.deb ... Unpacking cpp-14-aarch64-linux-gnu (14.3.0-7) ... Selecting previously unselected package cpp-14. Preparing to unpack .../058-cpp-14_14.3.0-7_arm64.deb ... Unpacking cpp-14 (14.3.0-7) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../059-libdebhelper-perl_13.26_all.deb ... Unpacking libdebhelper-perl (13.26) ... Selecting previously unselected package libgcc-14-dev:arm64. Preparing to unpack .../060-libgcc-14-dev_14.3.0-7_arm64.deb ... Unpacking libgcc-14-dev:arm64 (14.3.0-7) ... Selecting previously unselected package gcc-14-aarch64-linux-gnu. Preparing to unpack .../061-gcc-14-aarch64-linux-gnu_14.3.0-7_arm64.deb ... Unpacking gcc-14-aarch64-linux-gnu (14.3.0-7) ... Selecting previously unselected package gcc-14. Preparing to unpack .../062-gcc-14_14.3.0-7_arm64.deb ... Unpacking gcc-14 (14.3.0-7) ... Selecting previously unselected package libtool. Preparing to unpack .../063-libtool_2.5.4-5_all.deb ... Unpacking libtool (2.5.4-5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../064-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../065-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../066-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../067-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../068-libelf1t64_0.193-3_arm64.deb ... Unpacking libelf1t64:arm64 (0.193-3) ... Selecting previously unselected package dwz. Preparing to unpack .../069-dwz_0.16-2_arm64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package gettext. Preparing to unpack .../070-gettext_0.23.1-2+b1_arm64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../071-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../072-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../073-debhelper_13.26_all.deb ... Unpacking debhelper (13.26) ... Selecting previously unselected package dh-python. Preparing to unpack .../074-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../075-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../076-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../077-fontconfig-config_2.15.0-2.4_arm64.deb ... Unpacking fontconfig-config (2.15.0-2.4) ... Selecting previously unselected package fonts-mathjax. Preparing to unpack .../078-fonts-mathjax_2.7.9+dfsg-1_all.deb ... Unpacking fonts-mathjax (2.7.9+dfsg-1) ... Selecting previously unselected package libgfortran-15-dev:arm64. Preparing to unpack .../079-libgfortran-15-dev_15.2.0-3_arm64.deb ... Unpacking libgfortran-15-dev:arm64 (15.2.0-3) ... Selecting previously unselected package gfortran-15-aarch64-linux-gnu. Preparing to unpack .../080-gfortran-15-aarch64-linux-gnu_15.2.0-3_arm64.deb ... Unpacking gfortran-15-aarch64-linux-gnu (15.2.0-3) ... Selecting previously unselected package gfortran-15. Preparing to unpack .../081-gfortran-15_15.2.0-3_arm64.deb ... Unpacking gfortran-15 (15.2.0-3) ... Selecting previously unselected package gfortran-aarch64-linux-gnu. Preparing to unpack .../082-gfortran-aarch64-linux-gnu_4%3a15.2.0-1_arm64.deb ... Unpacking gfortran-aarch64-linux-gnu (4:15.2.0-1) ... Selecting previously unselected package gfortran. Preparing to unpack .../083-gfortran_4%3a15.2.0-1_arm64.deb ... Unpacking gfortran (4:15.2.0-1) ... Selecting previously unselected package libgfortran-14-dev:arm64. Preparing to unpack .../084-libgfortran-14-dev_14.3.0-7_arm64.deb ... Unpacking libgfortran-14-dev:arm64 (14.3.0-7) ... Selecting previously unselected package gfortran-14-aarch64-linux-gnu. Preparing to unpack .../085-gfortran-14-aarch64-linux-gnu_14.3.0-7_arm64.deb ... Unpacking gfortran-14-aarch64-linux-gnu (14.3.0-7) ... Selecting previously unselected package gfortran-14. Preparing to unpack .../086-gfortran-14_14.3.0-7_arm64.deb ... Unpacking gfortran-14 (14.3.0-7) ... Selecting previously unselected package libnl-3-200:arm64. Preparing to unpack .../087-libnl-3-200_3.11.0-2_arm64.deb ... Unpacking libnl-3-200:arm64 (3.11.0-2) ... Selecting previously unselected package libnl-route-3-200:arm64. Preparing to unpack .../088-libnl-route-3-200_3.11.0-2_arm64.deb ... Unpacking libnl-route-3-200:arm64 (3.11.0-2) ... Selecting previously unselected package libibverbs1:arm64. Preparing to unpack .../089-libibverbs1_56.1-1_arm64.deb ... Unpacking libibverbs1:arm64 (56.1-1) ... Selecting previously unselected package ibverbs-providers:arm64. Preparing to unpack .../090-ibverbs-providers_56.1-1_arm64.deb ... Unpacking ibverbs-providers:arm64 (56.1-1) ... Selecting previously unselected package libicu76:arm64. Preparing to unpack .../091-libicu76_76.1-4_arm64.deb ... Unpacking libicu76:arm64 (76.1-4) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../092-icu-devtools_76.1-4_arm64.deb ... Unpacking icu-devtools (76.1-4) ... Selecting previously unselected package libgssrpc4t64:arm64. Preparing to unpack .../093-libgssrpc4t64_1.21.3-5_arm64.deb ... Unpacking libgssrpc4t64:arm64 (1.21.3-5) ... Selecting previously unselected package libkadm5clnt-mit12:arm64. Preparing to unpack .../094-libkadm5clnt-mit12_1.21.3-5_arm64.deb ... Unpacking libkadm5clnt-mit12:arm64 (1.21.3-5) ... Selecting previously unselected package libkdb5-10t64:arm64. Preparing to unpack .../095-libkdb5-10t64_1.21.3-5_arm64.deb ... Unpacking libkdb5-10t64:arm64 (1.21.3-5) ... Selecting previously unselected package libkadm5srv-mit12:arm64. Preparing to unpack .../096-libkadm5srv-mit12_1.21.3-5_arm64.deb ... Unpacking libkadm5srv-mit12:arm64 (1.21.3-5) ... Selecting previously unselected package krb5-multidev:arm64. Preparing to unpack .../097-krb5-multidev_1.21.3-5_arm64.deb ... Unpacking krb5-multidev:arm64 (1.21.3-5) ... Selecting previously unselected package libadios2-common-c++11-dev. Preparing to unpack .../098-libadios2-common-c++11-dev_2.10.2+dfsg1-3_all.deb ... Unpacking libadios2-common-c++11-dev (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-common-core-dev:arm64. Preparing to unpack .../099-libadios2-common-core-dev_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-common-core-dev:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package librdmacm1t64:arm64. Preparing to unpack .../100-librdmacm1t64_56.1-1_arm64.deb ... Unpacking librdmacm1t64:arm64 (56.1-1) ... Selecting previously unselected package libfabric1:arm64. Preparing to unpack .../101-libfabric1_2.1.0-1.1_arm64.deb ... Unpacking libfabric1:arm64 (2.1.0-1.1) ... Selecting previously unselected package libevent-core-2.1-7t64:arm64. Preparing to unpack .../102-libevent-core-2.1-7t64_2.1.12-stable-10+b1_arm64.deb ... Unpacking libevent-core-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Selecting previously unselected package libevent-pthreads-2.1-7t64:arm64. Preparing to unpack .../103-libevent-pthreads-2.1-7t64_2.1.12-stable-10+b1_arm64.deb ... Unpacking libevent-pthreads-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Selecting previously unselected package libhwloc15:arm64. Preparing to unpack .../104-libhwloc15_2.12.2-1_arm64.deb ... Unpacking libhwloc15:arm64 (2.12.2-1) ... Selecting previously unselected package libmunge2:arm64. Preparing to unpack .../105-libmunge2_0.5.16-1_arm64.deb ... Unpacking libmunge2:arm64 (0.5.16-1) ... Selecting previously unselected package libpciaccess0:arm64. Preparing to unpack .../106-libpciaccess0_0.17-3+b3_arm64.deb ... Unpacking libpciaccess0:arm64 (0.17-3+b3) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../107-libxau6_1%3a1.0.11-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../108-libxdmcp6_1%3a1.1.5-1_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../109-libxcb1_1.17.0-2+b1_arm64.deb ... Unpacking libxcb1:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../110-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../111-libx11-6_2%3a1.8.12-1_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.12-1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../112-libxext6_2%3a1.3.4-1+b3_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxnvctrl0:arm64. Preparing to unpack .../113-libxnvctrl0_535.171.04-1+b2_arm64.deb ... Unpacking libxnvctrl0:arm64 (535.171.04-1+b2) ... Selecting previously unselected package ocl-icd-libopencl1:arm64. Preparing to unpack .../114-ocl-icd-libopencl1_2.3.3-1_arm64.deb ... Unpacking ocl-icd-libopencl1:arm64 (2.3.3-1) ... Selecting previously unselected package libhwloc-plugins:arm64. Preparing to unpack .../115-libhwloc-plugins_2.12.2-1_arm64.deb ... Unpacking libhwloc-plugins:arm64 (2.12.2-1) ... Selecting previously unselected package libpmix2t64:arm64. Preparing to unpack .../116-libpmix2t64_5.0.7-1_arm64.deb ... Unpacking libpmix2t64:arm64 (5.0.7-1) ... Selecting previously unselected package libz3-4:arm64. Preparing to unpack .../117-libz3-4_4.13.3-1_arm64.deb ... Unpacking libz3-4:arm64 (4.13.3-1) ... Selecting previously unselected package libllvm17t64:arm64. Preparing to unpack .../118-libllvm17t64_1%3a17.0.6-22+b3_arm64.deb ... Unpacking libllvm17t64:arm64 (1:17.0.6-22+b3) ... Selecting previously unselected package libamd-comgr2:arm64. Preparing to unpack .../119-libamd-comgr2_6.0+git20231212.4510c28+dfsg-3+b2_arm64.deb ... Unpacking libamd-comgr2:arm64 (6.0+git20231212.4510c28+dfsg-3+b2) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../120-libdrm-common_2.4.125-2_all.deb ... Unpacking libdrm-common (2.4.125-2) ... Selecting previously unselected package libdrm2:arm64. Preparing to unpack .../121-libdrm2_2.4.125-2_arm64.deb ... Unpacking libdrm2:arm64 (2.4.125-2) ... Selecting previously unselected package libdrm-amdgpu1:arm64. Preparing to unpack .../122-libdrm-amdgpu1_2.4.125-2_arm64.deb ... Unpacking libdrm-amdgpu1:arm64 (2.4.125-2) ... Selecting previously unselected package libnuma1:arm64. Preparing to unpack .../123-libnuma1_2.0.19-1_arm64.deb ... Unpacking libnuma1:arm64 (2.0.19-1) ... Selecting previously unselected package libhsakmt1:arm64. Preparing to unpack .../124-libhsakmt1_6.2.4+ds-1_arm64.deb ... Unpacking libhsakmt1:arm64 (6.2.4+ds-1) ... Selecting previously unselected package libhsa-runtime64-1:arm64. Preparing to unpack .../125-libhsa-runtime64-1_6.1.2-3_arm64.deb ... Unpacking libhsa-runtime64-1:arm64 (6.1.2-3) ... Selecting previously unselected package libamdhip64-5:arm64. Preparing to unpack .../126-libamdhip64-5_5.7.1-6_arm64.deb ... Unpacking libamdhip64-5:arm64 (5.7.1-6) ... Selecting previously unselected package libibumad3:arm64. Preparing to unpack .../127-libibumad3_56.1-1_arm64.deb ... Unpacking libibumad3:arm64 (56.1-1) ... Selecting previously unselected package libibmad5:arm64. Preparing to unpack .../128-libibmad5_56.1-1_arm64.deb ... Unpacking libibmad5:arm64 (56.1-1) ... Selecting previously unselected package libucx0:arm64. Preparing to unpack .../129-libucx0_1.18.1+ds-2+b1_arm64.deb ... Unpacking libucx0:arm64 (1.18.1+ds-2+b1) ... Selecting previously unselected package libopenmpi40:arm64. Preparing to unpack .../130-libopenmpi40_5.0.7-1_arm64.deb ... Unpacking libopenmpi40:arm64 (5.0.7-1) ... Selecting previously unselected package libaec0:arm64. Preparing to unpack .../131-libaec0_1.1.4-2_arm64.deb ... Unpacking libaec0:arm64 (1.1.4-2) ... Selecting previously unselected package libsz2:arm64. Preparing to unpack .../132-libsz2_1.1.4-2_arm64.deb ... Unpacking libsz2:arm64 (1.1.4-2) ... Selecting previously unselected package libhdf5-openmpi-310:arm64. Preparing to unpack .../133-libhdf5-openmpi-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libpng16-16t64:arm64. Preparing to unpack .../134-libpng16-16t64_1.6.50-1_arm64.deb ... Unpacking libpng16-16t64:arm64 (1.6.50-1) ... Selecting previously unselected package libpugixml1v5:arm64. Preparing to unpack .../135-libpugixml1v5_1.14-2_arm64.deb ... Unpacking libpugixml1v5:arm64 (1.14-2) ... Selecting previously unselected package libyaml-cpp0.8:arm64. Preparing to unpack .../136-libyaml-cpp0.8_0.8.0+dfsg-7_arm64.deb ... Unpacking libyaml-cpp0.8:arm64 (0.8.0+dfsg-7) ... Selecting previously unselected package libnorm1t64:arm64. Preparing to unpack .../137-libnorm1t64_1.5.9+dfsg-3.1+b2_arm64.deb ... Unpacking libnorm1t64:arm64 (1.5.9+dfsg-3.1+b2) ... Selecting previously unselected package libpgm-5.3-0t64:arm64. Preparing to unpack .../138-libpgm-5.3-0t64_5.3.128~dfsg-2.1+b1_arm64.deb ... Unpacking libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libsodium23:arm64. Preparing to unpack .../139-libsodium23_1.0.18-1+b2_arm64.deb ... Unpacking libsodium23:arm64 (1.0.18-1+b2) ... Selecting previously unselected package libzmq5:arm64. Preparing to unpack .../140-libzmq5_4.3.5-1+b3_arm64.deb ... Unpacking libzmq5:arm64 (4.3.5-1+b3) ... Selecting previously unselected package libadios2-mpi-plugins:arm64. Preparing to unpack .../141-libadios2-mpi-plugins_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-plugins:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-core-2.10:arm64. Preparing to unpack .../142-libadios2-mpi-core-2.10_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-core-2.10:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-c-2.10:arm64. Preparing to unpack .../143-libadios2-mpi-c-2.10_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-c-2.10:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-auxiliary-2.10:arm64. Preparing to unpack .../144-libadios2-mpi-auxiliary-2.10_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-auxiliary-2.10:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-auxiliary-dev:arm64. Preparing to unpack .../145-libadios2-mpi-auxiliary-dev_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-auxiliary-dev:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-c++11-2.10:arm64. Preparing to unpack .../146-libadios2-mpi-c++11-2.10_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-c++11-2.10:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-core-dev:arm64. Preparing to unpack .../147-libadios2-mpi-core-dev_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-core-dev:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libadios2-mpi-c++11-dev:arm64. Preparing to unpack .../148-libadios2-mpi-c++11-dev_2.10.2+dfsg1-3_arm64.deb ... Unpacking libadios2-mpi-c++11-dev:arm64 (2.10.2+dfsg1-3) ... Selecting previously unselected package libaec-dev:arm64. Preparing to unpack .../149-libaec-dev_1.1.4-2_arm64.deb ... Unpacking libaec-dev:arm64 (1.1.4-2) ... Selecting previously unselected package libalglib4.2:arm64. Preparing to unpack .../150-libalglib4.2_4.2.0-2_arm64.deb ... Unpacking libalglib4.2:arm64 (4.2.0-2) ... Selecting previously unselected package libsuitesparseconfig7:arm64. Preparing to unpack .../151-libsuitesparseconfig7_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libsuitesparseconfig7:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libamd3:arm64. Preparing to unpack .../152-libamd3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libamd3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libann0. Preparing to unpack .../153-libann0_1.1.2+doc-9+b2_arm64.deb ... Unpacking libann0 (1.1.2+doc-9+b2) ... Selecting previously unselected package libarpack2t64:arm64. Preparing to unpack .../154-libarpack2t64_3.9.1-6_arm64.deb ... Unpacking libarpack2t64:arm64 (3.9.1-6) ... Selecting previously unselected package libblas-dev:arm64. Preparing to unpack .../155-libblas-dev_3.12.1-7_arm64.deb ... Unpacking libblas-dev:arm64 (3.12.1-7) ... Selecting previously unselected package liblapack-dev:arm64. Preparing to unpack .../156-liblapack-dev_3.12.1-7_arm64.deb ... Unpacking liblapack-dev:arm64 (3.12.1-7) ... Selecting previously unselected package libarpack2-dev:arm64. Preparing to unpack .../157-libarpack2-dev_3.9.1-6_arm64.deb ... Unpacking libarpack2-dev:arm64 (3.9.1-6) ... Selecting previously unselected package libbasix0.9:arm64. Preparing to unpack .../158-libbasix0.9_0.9.0-2+b2_arm64.deb ... Unpacking libbasix0.9:arm64 (0.9.0-2+b2) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../159-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../160-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../161-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package pkg-config:arm64. Preparing to unpack .../162-pkg-config_1.8.1-4_arm64.deb ... Unpacking pkg-config:arm64 (1.8.1-4) ... Selecting previously unselected package libeigen3-dev. Preparing to unpack .../163-libeigen3-dev_3.4.0-5_all.deb ... Unpacking libeigen3-dev (3.4.0-5) ... Selecting previously unselected package libbasix-dev:arm64. Preparing to unpack .../164-libbasix-dev_0.9.0-2+b2_arm64.deb ... Unpacking libbasix-dev:arm64 (0.9.0-2+b2) ... Selecting previously unselected package libstdc++-14-dev:arm64. Preparing to unpack .../165-libstdc++-14-dev_14.3.0-7_arm64.deb ... Unpacking libstdc++-14-dev:arm64 (14.3.0-7) ... Selecting previously unselected package libboost1.83-dev:arm64. Preparing to unpack .../166-libboost1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-atomic1.83.0:arm64. Preparing to unpack .../167-libboost-atomic1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-atomic1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-atomic1.83-dev:arm64. Preparing to unpack .../168-libboost-atomic1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-atomic1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-chrono1.83.0t64:arm64. Preparing to unpack .../169-libboost-chrono1.83.0t64_1.83.0-4.2_arm64.deb ... Unpacking libboost-chrono1.83.0t64:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-chrono1.83-dev:arm64. Preparing to unpack .../170-libboost-chrono1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-chrono1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-chrono-dev:arm64. Preparing to unpack .../171-libboost-chrono-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-chrono-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-date-time1.83.0:arm64. Preparing to unpack .../172-libboost-date-time1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-date-time1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-serialization1.83.0:arm64. Preparing to unpack .../173-libboost-serialization1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-serialization1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-serialization1.83-dev:arm64. Preparing to unpack .../174-libboost-serialization1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-serialization1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-date-time1.83-dev:arm64. Preparing to unpack .../175-libboost-date-time1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-date-time1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-dev:arm64. Preparing to unpack .../176-libboost-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-filesystem1.83.0:arm64. Preparing to unpack .../177-libboost-filesystem1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-filesystem1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-system1.83.0:arm64. Preparing to unpack .../178-libboost-system1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-system1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-system1.83-dev:arm64. Preparing to unpack .../179-libboost-system1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-system1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-filesystem1.83-dev:arm64. Preparing to unpack .../180-libboost-filesystem1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-filesystem1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-filesystem-dev:arm64. Preparing to unpack .../181-libboost-filesystem-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-filesystem-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-regex1.83.0:arm64. Preparing to unpack .../182-libboost-regex1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-regex1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libicu-dev:arm64. Preparing to unpack .../183-libicu-dev_76.1-4_arm64.deb ... Unpacking libicu-dev:arm64 (76.1-4) ... Selecting previously unselected package libboost-regex1.83-dev:arm64. Preparing to unpack .../184-libboost-regex1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-regex1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-iostreams1.83-dev:arm64. Preparing to unpack .../185-libboost-iostreams1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-iostreams1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-iostreams-dev:arm64. Preparing to unpack .../186-libboost-iostreams-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-iostreams-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-math1.83.0:arm64. Preparing to unpack .../187-libboost-math1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-math1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-math1.83-dev:arm64. Preparing to unpack .../188-libboost-math1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-math1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-math-dev:arm64. Preparing to unpack .../189-libboost-math-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-math-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-mpi1.83.0. Preparing to unpack .../190-libboost-mpi1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-mpi1.83.0 (1.83.0-4.2) ... Selecting previously unselected package openmpi-common. Preparing to unpack .../191-openmpi-common_5.0.7-1_all.deb ... Unpacking openmpi-common (5.0.7-1) ... Selecting previously unselected package libnl-3-dev:arm64. Preparing to unpack .../192-libnl-3-dev_3.11.0-2_arm64.deb ... Unpacking libnl-3-dev:arm64 (3.11.0-2) ... Selecting previously unselected package libnl-route-3-dev:arm64. Preparing to unpack .../193-libnl-route-3-dev_3.11.0-2_arm64.deb ... Unpacking libnl-route-3-dev:arm64 (3.11.0-2) ... Selecting previously unselected package libibverbs-dev:arm64. Preparing to unpack .../194-libibverbs-dev_56.1-1_arm64.deb ... Unpacking libibverbs-dev:arm64 (56.1-1) ... Selecting previously unselected package libnuma-dev:arm64. Preparing to unpack .../195-libnuma-dev_2.0.19-1_arm64.deb ... Unpacking libnuma-dev:arm64 (2.0.19-1) ... Selecting previously unselected package libltdl7:arm64. Preparing to unpack .../196-libltdl7_2.5.4-5_arm64.deb ... Unpacking libltdl7:arm64 (2.5.4-5) ... Selecting previously unselected package libltdl-dev:arm64. Preparing to unpack .../197-libltdl-dev_2.5.4-5_arm64.deb ... Unpacking libltdl-dev:arm64 (2.5.4-5) ... Selecting previously unselected package libhwloc-dev:arm64. Preparing to unpack .../198-libhwloc-dev_2.12.2-1_arm64.deb ... Unpacking libhwloc-dev:arm64 (2.12.2-1) ... Selecting previously unselected package libevent-2.1-7t64:arm64. Preparing to unpack .../199-libevent-2.1-7t64_2.1.12-stable-10+b1_arm64.deb ... Unpacking libevent-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Selecting previously unselected package libevent-extra-2.1-7t64:arm64. Preparing to unpack .../200-libevent-extra-2.1-7t64_2.1.12-stable-10+b1_arm64.deb ... Unpacking libevent-extra-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Selecting previously unselected package libevent-openssl-2.1-7t64:arm64. Preparing to unpack .../201-libevent-openssl-2.1-7t64_2.1.12-stable-10+b1_arm64.deb ... Unpacking libevent-openssl-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Selecting previously unselected package libevent-dev. Preparing to unpack .../202-libevent-dev_2.1.12-stable-10+b1_arm64.deb ... Unpacking libevent-dev (2.1.12-stable-10+b1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../203-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../204-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libpmix-dev:arm64. Preparing to unpack .../205-libpmix-dev_5.0.7-1_arm64.deb ... Unpacking libpmix-dev:arm64 (5.0.7-1) ... Selecting previously unselected package libjs-jquery-ui. Preparing to unpack .../206-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... Selecting previously unselected package openmpi-bin. Preparing to unpack .../207-openmpi-bin_5.0.7-1_arm64.deb ... Unpacking openmpi-bin (5.0.7-1) ... Selecting previously unselected package libopenmpi-dev:arm64. Preparing to unpack .../208-libopenmpi-dev_5.0.7-1_arm64.deb ... Unpacking libopenmpi-dev:arm64 (5.0.7-1) ... Selecting previously unselected package mpi-default-dev. Preparing to unpack .../209-mpi-default-dev_1.18_arm64.deb ... Unpacking mpi-default-dev (1.18) ... Selecting previously unselected package libboost-mpi1.83-dev. Preparing to unpack .../210-libboost-mpi1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-mpi1.83-dev (1.83.0-4.2) ... Selecting previously unselected package libboost-mpi-dev. Preparing to unpack .../211-libboost-mpi-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-mpi-dev (1.83.0.2+b2) ... Selecting previously unselected package libboost-program-options1.83.0:arm64. Preparing to unpack .../212-libboost-program-options1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-program-options1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-program-options1.83-dev:arm64. Preparing to unpack .../213-libboost-program-options1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-program-options1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-program-options-dev:arm64. Preparing to unpack .../214-libboost-program-options-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-program-options-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-serialization-dev:arm64. Preparing to unpack .../215-libboost-serialization-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-serialization-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-thread1.83.0:arm64. Preparing to unpack .../216-libboost-thread1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-thread1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-thread1.83-dev:arm64. Preparing to unpack .../217-libboost-thread1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-thread1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-thread-dev:arm64. Preparing to unpack .../218-libboost-thread-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-thread-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libboost-timer1.83.0:arm64. Preparing to unpack .../219-libboost-timer1.83.0_1.83.0-4.2_arm64.deb ... Unpacking libboost-timer1.83.0:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-timer1.83-dev:arm64. Preparing to unpack .../220-libboost-timer1.83-dev_1.83.0-4.2_arm64.deb ... Unpacking libboost-timer1.83-dev:arm64 (1.83.0-4.2) ... Selecting previously unselected package libboost-timer-dev:arm64. Preparing to unpack .../221-libboost-timer-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-timer-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libbrotli-dev:arm64. Preparing to unpack .../222-libbrotli-dev_1.1.0-2+b7_arm64.deb ... Unpacking libbrotli-dev:arm64 (1.1.0-2+b7) ... Selecting previously unselected package libbtf2:arm64. Preparing to unpack .../223-libbtf2_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libbtf2:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libc6-dbg:arm64. Preparing to unpack .../224-libc6-dbg_2.41-12_arm64.deb ... Unpacking libc6-dbg:arm64 (2.41-12) ... Selecting previously unselected package libcamd3:arm64. Preparing to unpack .../225-libcamd3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libcamd3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libccolamd3:arm64. Preparing to unpack .../226-libccolamd3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libccolamd3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libhdf5-310:arm64. Preparing to unpack .../227-libhdf5-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libcgns3.4:arm64. Preparing to unpack .../228-libcgns3.4_3.4.0-5+b2_arm64.deb ... Unpacking libcgns3.4:arm64 (3.4.0-5+b2) ... Selecting previously unselected package libcolamd3:arm64. Preparing to unpack .../229-libcolamd3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libcolamd3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libcholmod5:arm64. Preparing to unpack .../230-libcholmod5_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libcholmod5:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libcombblas2.0.0t64:arm64. Preparing to unpack .../231-libcombblas2.0.0t64_2.0.0-6+b2_arm64.deb ... Unpacking libcombblas2.0.0t64:arm64 (2.0.0-6+b2) ... Selecting previously unselected package libidn2-dev:arm64. Preparing to unpack .../232-libidn2-dev_2.3.8-4_arm64.deb ... Unpacking libidn2-dev:arm64 (2.3.8-4) ... Selecting previously unselected package libkrb5-dev:arm64. Preparing to unpack .../233-libkrb5-dev_1.21.3-5_arm64.deb ... Unpacking libkrb5-dev:arm64 (1.21.3-5) ... Selecting previously unselected package libldap-dev:arm64. Preparing to unpack .../234-libldap-dev_2.6.10+dfsg-1_arm64.deb ... Unpacking libldap-dev:arm64 (2.6.10+dfsg-1) ... Selecting previously unselected package libnghttp2-dev:arm64. Preparing to unpack .../235-libnghttp2-dev_1.64.0-1.1+b1_arm64.deb ... Unpacking libnghttp2-dev:arm64 (1.64.0-1.1+b1) ... Selecting previously unselected package libnghttp3-dev:arm64. Preparing to unpack .../236-libnghttp3-dev_1.8.0-1_arm64.deb ... Unpacking libnghttp3-dev:arm64 (1.8.0-1) ... Selecting previously unselected package libpsl-dev:arm64. Preparing to unpack .../237-libpsl-dev_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl-dev:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package libgmpxx4ldbl:arm64. Preparing to unpack .../238-libgmpxx4ldbl_2%3a6.3.0+dfsg-5_arm64.deb ... Unpacking libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package libgmp-dev:arm64. Preparing to unpack .../239-libgmp-dev_2%3a6.3.0+dfsg-5_arm64.deb ... Unpacking libgmp-dev:arm64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package libunbound8:arm64. Preparing to unpack .../240-libunbound8_1.23.1-1_arm64.deb ... Unpacking libunbound8:arm64 (1.23.1-1) ... Selecting previously unselected package libgnutls-dane0t64:arm64. Preparing to unpack .../241-libgnutls-dane0t64_3.8.9-3_arm64.deb ... Unpacking libgnutls-dane0t64:arm64 (3.8.9-3) ... Selecting previously unselected package libgnutls-openssl27t64:arm64. Preparing to unpack .../242-libgnutls-openssl27t64_3.8.9-3_arm64.deb ... Unpacking libgnutls-openssl27t64:arm64 (3.8.9-3) ... Selecting previously unselected package libp11-kit-dev:arm64. Preparing to unpack .../243-libp11-kit-dev_0.25.5-3_arm64.deb ... Unpacking libp11-kit-dev:arm64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6-dev:arm64. Preparing to unpack .../244-libtasn1-6-dev_4.20.0-2_arm64.deb ... Unpacking libtasn1-6-dev:arm64 (4.20.0-2) ... Selecting previously unselected package nettle-dev:arm64. Preparing to unpack .../245-nettle-dev_3.10.1-1_arm64.deb ... Unpacking nettle-dev:arm64 (3.10.1-1) ... Selecting previously unselected package libgnutls28-dev:arm64. Preparing to unpack .../246-libgnutls28-dev_3.8.9-3_arm64.deb ... Unpacking libgnutls28-dev:arm64 (3.8.9-3) ... Selecting previously unselected package librtmp-dev:arm64. Preparing to unpack .../247-librtmp-dev_2.4+20151223.gitfa8646d.1-3_arm64.deb ... Unpacking librtmp-dev:arm64 (2.4+20151223.gitfa8646d.1-3) ... Selecting previously unselected package libssl-dev:arm64. Preparing to unpack .../248-libssl-dev_3.5.2-1_arm64.deb ... Unpacking libssl-dev:arm64 (3.5.2-1) ... Selecting previously unselected package libssh2-1-dev:arm64. Preparing to unpack .../249-libssh2-1-dev_1.11.1-1_arm64.deb ... Unpacking libssh2-1-dev:arm64 (1.11.1-1) ... Selecting previously unselected package libzstd-dev:arm64. Preparing to unpack .../250-libzstd-dev_1.5.7+dfsg-1.1_arm64.deb ... Unpacking libzstd-dev:arm64 (1.5.7+dfsg-1.1) ... Selecting previously unselected package libcurl4-openssl-dev:arm64. Preparing to unpack .../251-libcurl4-openssl-dev_8.15.0-1_arm64.deb ... Unpacking libcurl4-openssl-dev:arm64 (8.15.0-1) ... Selecting previously unselected package libcxsparse4:arm64. Preparing to unpack .../252-libcxsparse4_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libcxsparse4:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libdeflate0:arm64. Preparing to unpack .../253-libdeflate0_1.23-2_arm64.deb ... Unpacking libdeflate0:arm64 (1.23-2) ... Selecting previously unselected package libfmt10:arm64. Preparing to unpack .../254-libfmt10_10.1.1+ds1-4_arm64.deb ... Unpacking libfmt10:arm64 (10.1.1+ds1-4) ... Selecting previously unselected package libfftw3-double3:arm64. Preparing to unpack .../255-libfftw3-double3_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-double3:arm64 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-long3:arm64. Preparing to unpack .../256-libfftw3-long3_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-long3:arm64 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-single3:arm64. Preparing to unpack .../257-libfftw3-single3_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-single3:arm64 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-mpi3:arm64. Preparing to unpack .../258-libfftw3-mpi3_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-mpi3:arm64 (3.3.10-2+b1) ... Selecting previously unselected package libmetis5:arm64. Preparing to unpack .../259-libmetis5_5.1.0.dfsg-7+b2_arm64.deb ... Unpacking libmetis5:arm64 (5.1.0.dfsg-7+b2) ... Selecting previously unselected package libptscotch-7.0:arm64. Preparing to unpack .../260-libptscotch-7.0_7.0.7-1_arm64.deb ... Unpacking libptscotch-7.0:arm64 (7.0.7-1) ... Selecting previously unselected package libsuperlu-dist8:arm64. Preparing to unpack .../261-libsuperlu-dist8_8.2.1+dfsg1-5+b1_arm64.deb ... Unpacking libsuperlu-dist8:arm64 (8.2.1+dfsg1-5+b1) ... Selecting previously unselected package libhypre-2.32.0:arm64. Preparing to unpack .../262-libhypre-2.32.0_2.32.0-4_arm64.deb ... Unpacking libhypre-2.32.0:arm64 (2.32.0-4) ... Selecting previously unselected package libklu2:arm64. Preparing to unpack .../263-libklu2_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libklu2:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package mpi-default-bin. Preparing to unpack .../264-mpi-default-bin_1.18_arm64.deb ... Unpacking mpi-default-bin (1.18) ... Selecting previously unselected package libscalapack-openmpi2.2:arm64. Preparing to unpack .../265-libscalapack-openmpi2.2_2.2.2-1_arm64.deb ... Unpacking libscalapack-openmpi2.2:arm64 (2.2.2-1) ... Selecting previously unselected package libmumps-5.7:arm64. Preparing to unpack .../266-libmumps-5.7_5.7.3-3+b1_arm64.deb ... Unpacking libmumps-5.7:arm64 (5.7.3-3+b1) ... Selecting previously unselected package libspqr4:arm64. Preparing to unpack .../267-libspqr4_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libspqr4:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libsuperlu7:arm64. Preparing to unpack .../268-libsuperlu7_7.0.1+dfsg1-2_arm64.deb ... Unpacking libsuperlu7:arm64 (7.0.1+dfsg1-2) ... Selecting previously unselected package libumfpack6:arm64. Preparing to unpack .../269-libumfpack6_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libumfpack6:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libyaml-0-2:arm64. Preparing to unpack .../270-libyaml-0-2_0.2.5-2_arm64.deb ... Unpacking libyaml-0-2:arm64 (0.2.5-2) ... Selecting previously unselected package libpetsc-real3.22:arm64. Preparing to unpack .../271-libpetsc-real3.22_3.22.5+dfsg1-2+b1_arm64.deb ... Unpacking libpetsc-real3.22:arm64 (3.22.5+dfsg1-2+b1) ... Selecting previously unselected package libparpack2t64:arm64. Preparing to unpack .../272-libparpack2t64_3.9.1-6_arm64.deb ... Unpacking libparpack2t64:arm64 (3.9.1-6) ... Selecting previously unselected package libslepc-real3.22. Preparing to unpack .../273-libslepc-real3.22_3.22.2+dfsg1-1_arm64.deb ... Unpacking libslepc-real3.22 (3.22.2+dfsg1-1) ... Selecting previously unselected package libspdlog1.15:arm64. Preparing to unpack .../274-libspdlog1.15_1%3a1.15.3+ds-1_arm64.deb ... Unpacking libspdlog1.15:arm64 (1:1.15.3+ds-1) ... Selecting previously unselected package libdolfinx-real0.9:arm64. Preparing to unpack .../275-libdolfinx-real0.9_1%3a0.9.0-7_arm64.deb ... Unpacking libdolfinx-real0.9:arm64 (1:0.9.0-7) ... Selecting previously unselected package libjs-mathjax. Preparing to unpack .../276-libjs-mathjax_2.7.9+dfsg-1_all.deb ... Unpacking libjs-mathjax (2.7.9+dfsg-1) ... Selecting previously unselected package libldl3:arm64. Preparing to unpack .../277-libldl3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libldl3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libsuitesparse-mongoose3:arm64. Preparing to unpack .../278-libsuitesparse-mongoose3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libsuitesparse-mongoose3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package librbio4:arm64. Preparing to unpack .../279-librbio4_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking librbio4:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libspex3:arm64. Preparing to unpack .../280-libspex3_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libspex3:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libparu1:arm64. Preparing to unpack .../281-libparu1_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libparu1:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libsuitesparse-dev:arm64. Preparing to unpack .../282-libsuitesparse-dev_1%3a7.11.0+dfsg-2_arm64.deb ... Unpacking libsuitesparse-dev:arm64 (1:7.11.0+dfsg-2) ... Selecting previously unselected package libscotch-7.0:arm64. Preparing to unpack .../283-libscotch-7.0_7.0.7-1_arm64.deb ... Unpacking libscotch-7.0:arm64 (7.0.7-1) ... Selecting previously unselected package libscotch-dev. Preparing to unpack .../284-libscotch-dev_7.0.7-1_arm64.deb ... Unpacking libscotch-dev (7.0.7-1) ... Selecting previously unselected package libptscotch-dev. Preparing to unpack .../285-libptscotch-dev_7.0.7-1_arm64.deb ... Unpacking libptscotch-dev (7.0.7-1) ... Selecting previously unselected package libscalapack-openmpi-dev:arm64. Preparing to unpack .../286-libscalapack-openmpi-dev_2.2.2-1_arm64.deb ... Unpacking libscalapack-openmpi-dev:arm64 (2.2.2-1) ... Selecting previously unselected package libscalapack-mpi-dev:arm64. Preparing to unpack .../287-libscalapack-mpi-dev_2.2.2-1_arm64.deb ... Unpacking libscalapack-mpi-dev:arm64 (2.2.2-1) ... Selecting previously unselected package libfftw3-bin. Preparing to unpack .../288-libfftw3-bin_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-bin (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-dev:arm64. Preparing to unpack .../289-libfftw3-dev_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-dev:arm64 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-mpi-dev:arm64. Preparing to unpack .../290-libfftw3-mpi-dev_3.3.10-2+b1_arm64.deb ... Unpacking libfftw3-mpi-dev:arm64 (3.3.10-2+b1) ... Selecting previously unselected package opencl-c-headers. Preparing to unpack .../291-opencl-c-headers_3.0~2025.07.22-1_all.deb ... Unpacking opencl-c-headers (3.0~2025.07.22-1) ... Selecting previously unselected package opencl-clhpp-headers. Preparing to unpack .../292-opencl-clhpp-headers_3.0~2025.07.22-1_all.deb ... Unpacking opencl-clhpp-headers (3.0~2025.07.22-1) ... Selecting previously unselected package ocl-icd-opencl-dev:arm64. Preparing to unpack .../293-ocl-icd-opencl-dev_2.3.3-1_arm64.deb ... Unpacking ocl-icd-opencl-dev:arm64 (2.3.3-1) ... Selecting previously unselected package libhdf5-openmpi-fortran-310:arm64. Preparing to unpack .../294-libhdf5-openmpi-fortran-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-fortran-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libhdf5-openmpi-hl-310:arm64. Preparing to unpack .../295-libhdf5-openmpi-hl-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-hl-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libhdf5-openmpi-hl-fortran-310:arm64. Preparing to unpack .../296-libhdf5-openmpi-hl-fortran-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-hl-fortran-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libhdf5-openmpi-cpp-310:arm64. Preparing to unpack .../297-libhdf5-openmpi-cpp-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-cpp-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libhdf5-openmpi-hl-cpp-310:arm64. Preparing to unpack .../298-libhdf5-openmpi-hl-cpp-310_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-hl-cpp-310:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../299-libjpeg62-turbo_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:2.1.5-4) ... Selecting previously unselected package libjpeg62-turbo-dev:arm64. Preparing to unpack .../300-libjpeg62-turbo-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libjpeg-dev:arm64. Preparing to unpack .../301-libjpeg-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libhdf5-openmpi-dev. Preparing to unpack .../302-libhdf5-openmpi-dev_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-openmpi-dev (1.14.5+repack-3) ... Selecting previously unselected package libhdf5-mpi-dev:arm64. Preparing to unpack .../303-libhdf5-mpi-dev_1.14.5+repack-3_arm64.deb ... Unpacking libhdf5-mpi-dev:arm64 (1.14.5+repack-3) ... Selecting previously unselected package libsuperlu-dev:arm64. Preparing to unpack .../304-libsuperlu-dev_7.0.1+dfsg1-2_arm64.deb ... Unpacking libsuperlu-dev:arm64 (7.0.1+dfsg1-2) ... Selecting previously unselected package libsuperlu-dist-dev:arm64. Preparing to unpack .../305-libsuperlu-dist-dev_8.2.1+dfsg1-5+b1_arm64.deb ... Unpacking libsuperlu-dist-dev:arm64 (8.2.1+dfsg1-5+b1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../306-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1.1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../307-x11proto-dev_2024.1-1_all.deb ... Unpacking x11proto-dev (2024.1-1) ... Selecting previously unselected package libxau-dev:arm64. Preparing to unpack .../308-libxau-dev_1%3a1.0.11-1_arm64.deb ... Unpacking libxau-dev:arm64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp-dev:arm64. Preparing to unpack .../309-libxdmcp-dev_1%3a1.1.5-1_arm64.deb ... Unpacking libxdmcp-dev:arm64 (1:1.1.5-1) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../310-xtrans-dev_1.4.0-1_all.deb ... Unpacking xtrans-dev (1.4.0-1) ... Selecting previously unselected package libxcb1-dev:arm64. Preparing to unpack .../311-libxcb1-dev_1.17.0-2+b1_arm64.deb ... Unpacking libxcb1-dev:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-dev:arm64. Preparing to unpack .../312-libx11-dev_2%3a1.8.12-1_arm64.deb ... Unpacking libx11-dev:arm64 (2:1.8.12-1) ... Selecting previously unselected package libyaml-dev:arm64. Preparing to unpack .../313-libyaml-dev_0.2.5-2_arm64.deb ... Unpacking libyaml-dev:arm64 (0.2.5-2) ... Selecting previously unselected package libpetsc3.22-dev-common. Preparing to unpack .../314-libpetsc3.22-dev-common_3.22.5+dfsg1-2_all.deb ... Unpacking libpetsc3.22-dev-common (3.22.5+dfsg1-2) ... Selecting previously unselected package libhypre-dev:arm64. Preparing to unpack .../315-libhypre-dev_2.32.0-4_arm64.deb ... Unpacking libhypre-dev:arm64 (2.32.0-4) ... Selecting previously unselected package libmumps-headers-dev. Preparing to unpack .../316-libmumps-headers-dev_5.7.3-3_all.deb ... Unpacking libmumps-headers-dev (5.7.3-3) ... Selecting previously unselected package libmumps-dev:arm64. Preparing to unpack .../317-libmumps-dev_5.7.3-3+b1_arm64.deb ... Unpacking libmumps-dev:arm64 (5.7.3-3+b1) ... Selecting previously unselected package valgrind. Preparing to unpack .../318-valgrind_1%3a3.24.0-3_arm64.deb ... Unpacking valgrind (1:3.24.0-3) ... Selecting previously unselected package valgrind-mpi. Preparing to unpack .../319-valgrind-mpi_1%3a3.24.0-3_arm64.deb ... Unpacking valgrind-mpi (1:3.24.0-3) ... Selecting previously unselected package libpetsc-real3.22-dev:arm64. Preparing to unpack .../320-libpetsc-real3.22-dev_3.22.5+dfsg1-2+b1_arm64.deb ... Unpacking libpetsc-real3.22-dev:arm64 (3.22.5+dfsg1-2+b1) ... Selecting previously unselected package libparpack2-dev:arm64. Preparing to unpack .../321-libparpack2-dev_3.9.1-6_arm64.deb ... Unpacking libparpack2-dev:arm64 (3.9.1-6) ... Selecting previously unselected package libslepc-real3.22-dev. Preparing to unpack .../322-libslepc-real3.22-dev_3.22.2+dfsg1-1_arm64.deb ... Unpacking libslepc-real3.22-dev (3.22.2+dfsg1-1) ... Selecting previously unselected package libdolfinx-real-dev:arm64. Preparing to unpack .../323-libdolfinx-real-dev_1%3a0.9.0-7_arm64.deb ... Unpacking libdolfinx-real-dev:arm64 (1:0.9.0-7) ... Selecting previously unselected package libpugixml-dev:arm64. Preparing to unpack .../324-libpugixml-dev_1.14-2_arm64.deb ... Unpacking libpugixml-dev:arm64 (1.14-2) ... Selecting previously unselected package libfmt-dev:arm64. Preparing to unpack .../325-libfmt-dev_10.1.1+ds1-4_arm64.deb ... Unpacking libfmt-dev:arm64 (10.1.1+ds1-4) ... Selecting previously unselected package libspdlog-dev:arm64. Preparing to unpack .../326-libspdlog-dev_1%3a1.15.3+ds-1_arm64.deb ... Unpacking libspdlog-dev:arm64 (1:1.15.3+ds-1) ... Selecting previously unselected package liblzma-dev:arm64. Preparing to unpack .../327-liblzma-dev_5.8.1-1.1_arm64.deb ... Unpacking liblzma-dev:arm64 (5.8.1-1.1) ... Selecting previously unselected package libxml2-dev:arm64. Preparing to unpack .../328-libxml2-dev_2.14.5+dfsg-0.2_arm64.deb ... Unpacking libxml2-dev:arm64 (2.14.5+dfsg-0.2) ... Selecting previously unselected package python3-cffi-backend:arm64. Preparing to unpack .../329-python3-cffi-backend_2.0.0~b1-1_arm64.deb ... Unpacking python3-cffi-backend:arm64 (2.0.0~b1-1) ... Selecting previously unselected package python3-ply. Preparing to unpack .../330-python3-ply_3.11-9_all.deb ... Unpacking python3-ply (3.11-9) ... Selecting previously unselected package python3-pycparser. Preparing to unpack .../331-python3-pycparser_2.22-2_all.deb ... Unpacking python3-pycparser (2.22-2) ... Selecting previously unselected package python3-cffi. Preparing to unpack .../332-python3-cffi_2.0.0~b1-1_all.deb ... Unpacking python3-cffi (2.0.0~b1-1) ... Selecting previously unselected package libpython3.13:arm64. Preparing to unpack .../333-libpython3.13_3.13.7-1_arm64.deb ... Unpacking libpython3.13:arm64 (3.13.7-1) ... Selecting previously unselected package libexpat1-dev:arm64. Preparing to unpack .../334-libexpat1-dev_2.7.1-2_arm64.deb ... Unpacking libexpat1-dev:arm64 (2.7.1-2) ... Selecting previously unselected package libpython3.13-dev:arm64. Preparing to unpack .../335-libpython3.13-dev_3.13.7-1_arm64.deb ... Unpacking libpython3.13-dev:arm64 (3.13.7-1) ... Selecting previously unselected package libpython3-dev:arm64. Preparing to unpack .../336-libpython3-dev_3.13.5-1_arm64.deb ... Unpacking libpython3-dev:arm64 (3.13.5-1) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../337-python3.13-dev_3.13.7-1_arm64.deb ... Unpacking python3.13-dev (3.13.7-1) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../338-libjs-sphinxdoc_8.2.3-6_all.deb ... Unpacking libjs-sphinxdoc (8.2.3-6) ... Selecting previously unselected package python3-dev. Preparing to unpack .../339-python3-dev_3.13.5-1_arm64.deb ... Unpacking python3-dev (3.13.5-1) ... Selecting previously unselected package python3-ufl. Preparing to unpack .../340-python3-ufl_2024.2.0-3_all.deb ... Unpacking python3-ufl (2024.2.0-3) ... Selecting previously unselected package python3-basix. Preparing to unpack .../341-python3-basix_0.9.0-2+b2_arm64.deb ... Unpacking python3-basix (0.9.0-2+b2) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../342-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../343-python3-more-itertools_10.8.0-1_all.deb ... Unpacking python3-more-itertools (10.8.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../344-python3-typing-extensions_4.15.0-1_all.deb ... Unpacking python3-typing-extensions (4.15.0-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../345-python3-typeguard_4.4.4-1_all.deb ... Unpacking python3-typeguard (4.4.4-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../346-python3-inflect_7.5.0-1_all.deb ... Unpacking python3-inflect (7.5.0-1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../347-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../348-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../349-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../350-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../351-python3-zipp_3.23.0-1_all.deb ... Unpacking python3-zipp (3.23.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../352-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-ffcx. Preparing to unpack .../353-python3-ffcx_1%3a0.9.0-2_all.deb ... Unpacking python3-ffcx (1:0.9.0-2) ... Selecting previously unselected package libdolfinx-dev:arm64. Preparing to unpack .../354-libdolfinx-dev_1%3a0.9.0-7_arm64.deb ... Unpacking libdolfinx-dev:arm64 (1:0.9.0-7) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../355-libfreetype6_2.13.3+dfsg-1_arm64.deb ... Unpacking libfreetype6:arm64 (2.13.3+dfsg-1) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../356-libfontconfig1_2.15.0-2.4_arm64.deb ... Unpacking libfontconfig1:arm64 (2.15.0-2.4) ... Selecting previously unselected package libxfixes3:arm64. Preparing to unpack .../357-libxfixes3_1%3a6.0.0-2+b4_arm64.deb ... Unpacking libxfixes3:arm64 (1:6.0.0-2+b4) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../358-libxrender1_1%3a0.9.12-1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.12-1) ... Selecting previously unselected package libxcursor1:arm64. Preparing to unpack .../359-libxcursor1_1%3a1.2.3-1_arm64.deb ... Unpacking libxcursor1:arm64 (1:1.2.3-1) ... Selecting previously unselected package libxft2:arm64. Preparing to unpack .../360-libxft2_2.3.6-1+b4_arm64.deb ... Unpacking libxft2:arm64 (2.3.6-1+b4) ... Selecting previously unselected package libxinerama1:arm64. Preparing to unpack .../361-libxinerama1_2%3a1.1.4-3+b4_arm64.deb ... Unpacking libxinerama1:arm64 (2:1.1.4-3+b4) ... Selecting previously unselected package libfltk1.3t64:arm64. Preparing to unpack .../362-libfltk1.3t64_1.3.11-2_arm64.deb ... Unpacking libfltk1.3t64:arm64 (1.3.11-2) ... Selecting previously unselected package libglvnd0:arm64. Preparing to unpack .../363-libglvnd0_1.7.0-1+b2_arm64.deb ... Unpacking libglvnd0:arm64 (1.7.0-1+b2) ... Selecting previously unselected package libx11-xcb1:arm64. Preparing to unpack .../364-libx11-xcb1_2%3a1.8.12-1_arm64.deb ... Unpacking libx11-xcb1:arm64 (2:1.8.12-1) ... Selecting previously unselected package libxcb-dri3-0:arm64. Preparing to unpack .../365-libxcb-dri3-0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-dri3-0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-glx0:arm64. Preparing to unpack .../366-libxcb-glx0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-glx0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-present0:arm64. Preparing to unpack .../367-libxcb-present0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-present0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../368-libxcb-shm0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-xfixes0:arm64. Preparing to unpack .../369-libxcb-xfixes0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-xfixes0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxxf86vm1:arm64. Preparing to unpack .../370-libxxf86vm1_1%3a1.1.4-1+b4_arm64.deb ... Unpacking libxxf86vm1:arm64 (1:1.1.4-1+b4) ... Selecting previously unselected package libllvm19:arm64. Preparing to unpack .../371-libllvm19_1%3a19.1.7-3+b2_arm64.deb ... Unpacking libllvm19:arm64 (1:19.1.7-3+b2) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../372-libsensors-config_1%3a3.6.2-2_all.deb ... Unpacking libsensors-config (1:3.6.2-2) ... Selecting previously unselected package libsensors5:arm64. Preparing to unpack .../373-libsensors5_1%3a3.6.2-2_arm64.deb ... Unpacking libsensors5:arm64 (1:3.6.2-2) ... Selecting previously unselected package libxcb-randr0:arm64. Preparing to unpack .../374-libxcb-randr0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-randr0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-sync1:arm64. Preparing to unpack .../375-libxcb-sync1_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-sync1:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxshmfence1:arm64. Preparing to unpack .../376-libxshmfence1_1.3.3-1_arm64.deb ... Unpacking libxshmfence1:arm64 (1.3.3-1) ... Selecting previously unselected package mesa-libgallium:arm64. Preparing to unpack .../377-mesa-libgallium_25.2.2-1_arm64.deb ... Unpacking mesa-libgallium:arm64 (25.2.2-1) ... Selecting previously unselected package libgbm1:arm64. Preparing to unpack .../378-libgbm1_25.2.2-1_arm64.deb ... Unpacking libgbm1:arm64 (25.2.2-1) ... Selecting previously unselected package libvulkan1:arm64. Preparing to unpack .../379-libvulkan1_1.4.321.0-1_arm64.deb ... Unpacking libvulkan1:arm64 (1.4.321.0-1) ... Selecting previously unselected package libgl1-mesa-dri:arm64. Preparing to unpack .../380-libgl1-mesa-dri_25.2.2-1_arm64.deb ... Unpacking libgl1-mesa-dri:arm64 (25.2.2-1) ... Selecting previously unselected package libglx-mesa0:arm64. Preparing to unpack .../381-libglx-mesa0_25.2.2-1_arm64.deb ... Unpacking libglx-mesa0:arm64 (25.2.2-1) ... Selecting previously unselected package libglx0:arm64. Preparing to unpack .../382-libglx0_1.7.0-1+b2_arm64.deb ... Unpacking libglx0:arm64 (1.7.0-1+b2) ... Selecting previously unselected package libgl1:arm64. Preparing to unpack .../383-libgl1_1.7.0-1+b2_arm64.deb ... Unpacking libgl1:arm64 (1.7.0-1+b2) ... Selecting previously unselected package libfltk-gl1.3t64:arm64. Preparing to unpack .../384-libfltk-gl1.3t64_1.3.11-2_arm64.deb ... Unpacking libfltk-gl1.3t64:arm64 (1.3.11-2) ... Selecting previously unselected package libfltk-images1.3t64:arm64. Preparing to unpack .../385-libfltk-images1.3t64_1.3.11-2_arm64.deb ... Unpacking libfltk-images1.3t64:arm64 (1.3.11-2) ... Selecting previously unselected package libimath-3-1-29t64:arm64. Preparing to unpack .../386-libimath-3-1-29t64_3.1.12-1+b3_arm64.deb ... Unpacking libimath-3-1-29t64:arm64 (3.1.12-1+b3) ... Selecting previously unselected package libjxr0t64:arm64. Preparing to unpack .../387-libjxr0t64_1.2~git20170615.f752187-5.3_arm64.deb ... Unpacking libjxr0t64:arm64 (1.2~git20170615.f752187-5.3) ... Selecting previously unselected package libopenexr-3-1-30:arm64. Preparing to unpack .../388-libopenexr-3-1-30_3.1.13-2_arm64.deb ... Unpacking libopenexr-3-1-30:arm64 (3.1.13-2) ... Selecting previously unselected package libopenjp2-7:arm64. Preparing to unpack .../389-libopenjp2-7_2.5.3-2.1_arm64.deb ... Unpacking libopenjp2-7:arm64 (2.5.3-2.1) ... Selecting previously unselected package liblcms2-2:arm64. Preparing to unpack .../390-liblcms2-2_2.16-2_arm64.deb ... Unpacking liblcms2-2:arm64 (2.16-2) ... Selecting previously unselected package libraw23t64:arm64. Preparing to unpack .../391-libraw23t64_0.21.4-2_arm64.deb ... Unpacking libraw23t64:arm64 (0.21.4-2) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../392-libjbig0_2.1-6.1+b2_arm64.deb ... Unpacking libjbig0:arm64 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:arm64. Preparing to unpack .../393-liblerc4_4.0.0+ds-5_arm64.deb ... Unpacking liblerc4:arm64 (4.0.0+ds-5) ... Selecting previously unselected package libsharpyuv0:arm64. Preparing to unpack .../394-libsharpyuv0_1.5.0-0.1_arm64.deb ... Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... Selecting previously unselected package libwebp7:arm64. Preparing to unpack .../395-libwebp7_1.5.0-0.1_arm64.deb ... Unpacking libwebp7:arm64 (1.5.0-0.1) ... Selecting previously unselected package libtiff6:arm64. Preparing to unpack .../396-libtiff6_4.7.0-5_arm64.deb ... Unpacking libtiff6:arm64 (4.7.0-5) ... Selecting previously unselected package libwebpmux3:arm64. Preparing to unpack .../397-libwebpmux3_1.5.0-0.1_arm64.deb ... Unpacking libwebpmux3:arm64 (1.5.0-0.1) ... Selecting previously unselected package libfreeimage3:arm64. Preparing to unpack .../398-libfreeimage3_3.18.0+ds2-11_arm64.deb ... Unpacking libfreeimage3:arm64 (3.18.0+ds2-11) ... Selecting previously unselected package libgl2ps1.4. Preparing to unpack .../399-libgl2ps1.4_1.4.2+dfsg1-2+b1_arm64.deb ... Unpacking libgl2ps1.4 (1.4.2+dfsg1-2+b1) ... Selecting previously unselected package libopengl0:arm64. Preparing to unpack .../400-libopengl0_1.7.0-1+b2_arm64.deb ... Unpacking libopengl0:arm64 (1.7.0-1+b2) ... Selecting previously unselected package libglu1-mesa:arm64. Preparing to unpack .../401-libglu1-mesa_9.0.2-1.1+b3_arm64.deb ... Unpacking libglu1-mesa:arm64 (9.0.2-1.1+b3) ... Selecting previously unselected package libtbbbind-2-5:arm64. Preparing to unpack .../402-libtbbbind-2-5_2022.1.0-2_arm64.deb ... Unpacking libtbbbind-2-5:arm64 (2022.1.0-2) ... Selecting previously unselected package libtbbmalloc2:arm64. Preparing to unpack .../403-libtbbmalloc2_2022.1.0-2_arm64.deb ... Unpacking libtbbmalloc2:arm64 (2022.1.0-2) ... Selecting previously unselected package libtbb12:arm64. Preparing to unpack .../404-libtbb12_2022.1.0-2_arm64.deb ... Unpacking libtbb12:arm64 (2022.1.0-2) ... Selecting previously unselected package libocct-foundation-7.8:arm64. Preparing to unpack .../405-libocct-foundation-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-foundation-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package libocct-modeling-data-7.8:arm64. Preparing to unpack .../406-libocct-modeling-data-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-modeling-data-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package libocct-modeling-algorithms-7.8:arm64. Preparing to unpack .../407-libocct-modeling-algorithms-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-modeling-algorithms-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package libtcl8.6:arm64. Preparing to unpack .../408-libtcl8.6_8.6.17+dfsg-1_arm64.deb ... Unpacking libtcl8.6:arm64 (8.6.17+dfsg-1) ... Selecting previously unselected package x11-common. Preparing to unpack .../409-x11-common_1%3a7.7+25_all.deb ... Unpacking x11-common (1:7.7+25) ... Selecting previously unselected package libxss1:arm64. Preparing to unpack .../410-libxss1_1%3a1.2.3-1+b3_arm64.deb ... Unpacking libxss1:arm64 (1:1.2.3-1+b3) ... Selecting previously unselected package libtk8.6:arm64. Preparing to unpack .../411-libtk8.6_8.6.17-1_arm64.deb ... Unpacking libtk8.6:arm64 (8.6.17-1) ... Selecting previously unselected package libocct-draw-7.8:arm64. Preparing to unpack .../412-libocct-draw-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-draw-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package occt-misc. Preparing to unpack .../413-occt-misc_7.8.1+dfsg1-3_all.deb ... Unpacking occt-misc (7.8.1+dfsg1-3) ... Selecting previously unselected package libocct-visualization-7.8:arm64. Preparing to unpack .../414-libocct-visualization-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-visualization-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package libocct-ocaf-7.8:arm64. Preparing to unpack .../415-libocct-ocaf-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-ocaf-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package libocct-data-exchange-7.8:arm64. Preparing to unpack .../416-libocct-data-exchange-7.8_7.8.1+dfsg1-3_arm64.deb ... Unpacking libocct-data-exchange-7.8:arm64 (7.8.1+dfsg1-3) ... Selecting previously unselected package libvoro++1. Preparing to unpack .../417-libvoro++1_0.5+revert-to-0.4.6+dfsg1-1+b1_arm64.deb ... Unpacking libvoro++1 (0.5+revert-to-0.4.6+dfsg1-1+b1) ... Selecting previously unselected package libgmsh4.14:arm64. Preparing to unpack .../418-libgmsh4.14_4.14.0+ds1-1_arm64.deb ... Unpacking libgmsh4.14:arm64 (4.14.0+ds1-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../419-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libpython3-all-dev:arm64. Preparing to unpack .../420-libpython3-all-dev_3.13.5-1_arm64.deb ... Unpacking libpython3-all-dev:arm64 (3.13.5-1) ... Selecting previously unselected package robin-map-dev. Preparing to unpack .../421-robin-map-dev_1.3.0-1_all.deb ... Unpacking robin-map-dev (1.3.0-1) ... Selecting previously unselected package nanobind-dev. Preparing to unpack .../422-nanobind-dev_2.5.0-1_all.deb ... Unpacking nanobind-dev (2.5.0-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../423-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../424-python3-pyproject-hooks_1.2.0-1_all.deb ... Unpacking python3-pyproject-hooks (1.2.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../425-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-build. Preparing to unpack .../426-python3-build_1.2.2-4_all.deb ... Unpacking python3-build (1.2.2-4) ... Selecting previously unselected package python3-installer. Preparing to unpack .../427-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../428-pybuild-plugin-pyproject_6.20250414_all.deb ... Unpacking pybuild-plugin-pyproject (6.20250414) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../429-sphinx-common_8.2.3-6_all.deb ... Unpacking sphinx-common (8.2.3-6) ... Selecting previously unselected package python-petsc4py-doc. Preparing to unpack .../430-python-petsc4py-doc_3.22.4-1_all.deb ... Unpacking python-petsc4py-doc (3.22.4-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../431-python3-all_3.13.5-1_arm64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../432-python3-all-dev_3.13.5-1_arm64.deb ... Unpacking python3-all-dev (3.13.5-1) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../433-python3-decorator_5.2.1-2_all.deb ... Unpacking python3-decorator (5.2.1-2) ... Selecting previously unselected package python3-mpi4py. Preparing to unpack .../434-python3-mpi4py_4.1.0-3_arm64.deb ... Unpacking python3-mpi4py (4.1.0-3) ... Selecting previously unselected package python3-nanobind. Preparing to unpack .../435-python3-nanobind_2.5.0-1_all.deb ... Unpacking python3-nanobind (2.5.0-1) ... Selecting previously unselected package python3-pusimp. Preparing to unpack .../436-python3-pusimp_0.1.1-1_all.deb ... Unpacking python3-pusimp (0.1.1-1) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../437-python3-scipy_1.15.3-1.1_arm64.deb ... Unpacking python3-scipy (1.15.3-1.1) ... Selecting previously unselected package swig. Preparing to unpack .../438-swig_4.3.0-1_arm64.deb ... Unpacking swig (4.3.0-1) ... Selecting previously unselected package python3-petsc4py-real3.22. Preparing to unpack .../439-python3-petsc4py-real3.22_3.22.4-1_arm64.deb ... Unpacking python3-petsc4py-real3.22 (3.22.4-1) ... Selecting previously unselected package python3-petsc4py-real. Preparing to unpack .../440-python3-petsc4py-real_3.22.4-1_all.deb ... Unpacking python3-petsc4py-real (3.22.4-1) ... Selecting previously unselected package python3-petsc4py. Preparing to unpack .../441-python3-petsc4py_3.22.4-1_all.deb ... Unpacking python3-petsc4py (3.22.4-1) ... Selecting previously unselected package python3-slepc4py-real3.22. Preparing to unpack .../442-python3-slepc4py-real3.22_3.22.2-1+b1_arm64.deb ... Unpacking python3-slepc4py-real3.22 (3.22.2-1+b1) ... Selecting previously unselected package python3-slepc4py-real. Preparing to unpack .../443-python3-slepc4py-real_3.22.2-1_all.deb ... Unpacking python3-slepc4py-real (3.22.2-1) ... Selecting previously unselected package python3-slepc4py. Preparing to unpack .../444-python3-slepc4py_3.22.2-1_all.deb ... Unpacking python3-slepc4py (3.22.2-1) ... Selecting previously unselected package python3-dolfinx-real. Preparing to unpack .../445-python3-dolfinx-real_1%3a0.9.0-7_arm64.deb ... Unpacking python3-dolfinx-real (1:0.9.0-7) ... Selecting previously unselected package python3-dolfinx:arm64. Preparing to unpack .../446-python3-dolfinx_1%3a0.9.0-7_arm64.deb ... Unpacking python3-dolfinx:arm64 (1:0.9.0-7) ... Selecting previously unselected package python3-gmsh. Preparing to unpack .../447-python3-gmsh_4.14.0+ds1-1_all.deb ... Unpacking python3-gmsh (4.14.0+ds1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../448-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-pathspec. Preparing to unpack .../449-python3-pathspec_0.12.1-1_all.deb ... Unpacking python3-pathspec (0.12.1-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../450-python3-pluggy_1.6.0-1_all.deb ... Unpacking python3-pluggy (1.6.0-1) ... Selecting previously unselected package python3-pyproject-metadata. Preparing to unpack .../451-python3-pyproject-metadata_0.9.1-2_all.deb ... Unpacking python3-pyproject-metadata (0.9.1-2) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../452-python3-pytest_8.3.5-2_all.deb ... Unpacking python3-pytest (8.3.5-2) ... Selecting previously unselected package python3-scikit-build-core. Preparing to unpack .../453-python3-scikit-build-core_0.11.1-3_all.deb ... Unpacking python3-scikit-build-core (0.11.1-3) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up liblcms2-2:arm64 (2.16-2) ... Setting up libtbbmalloc2:arm64 (2022.1.0-2) ... Setting up libboost-program-options1.83.0:arm64 (1.83.0-4.2) ... Setting up libnorm1t64:arm64 (1.5.9+dfsg-3.1+b2) ... Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... Setting up libpciaccess0:arm64 (0.17-3+b3) ... Setting up libxau6:arm64 (1:1.0.11-1) ... Setting up libxdmcp6:arm64 (1:1.1.5-1) ... Setting up libkeyutils1:arm64 (1.6.3-6) ... Setting up libadios2-common-c++11-dev (2.10.2+dfsg1-3) ... Setting up libxcb1:arm64 (1.17.0-2+b1) ... Setting up libalglib4.2:arm64 (4.2.0-2) ... Setting up fonts-mathjax (2.7.9+dfsg-1) ... Setting up libfftw3-single3:arm64 (3.3.10-2+b1) ... Setting up libsodium23:arm64 (1.0.18-1+b2) ... Setting up swig (4.3.0-1) ... Setting up libxcb-xfixes0:arm64 (1.17.0-2+b1) ... Setting up libzstd-dev:arm64 (1.5.7+dfsg-1.1) ... Setting up liblerc4:arm64 (4.0.0+ds-5) ... Setting up bsdextrautils (2.41.1-2) ... Setting up libjs-mathjax (2.7.9+dfsg-1) ... Setting up libboost-date-time1.83.0:arm64 (1.83.0-4.2) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libboost-timer1.83.0:arm64 (1.83.0-4.2) ... Setting up gcc-14-base:arm64 (14.3.0-7) ... Setting up libcbor0.10:arm64 (0.10.2-2) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:arm64 (0.2.5-2) ... Setting up libglvnd0:arm64 (1.7.0-1+b2) ... Setting up libxml2-16:arm64 (2.14.5+dfsg-0.2) ... Setting up libscotch-7.0:arm64 (7.0.7-1) ... Setting up libyaml-cpp0.8:arm64 (0.8.0+dfsg-7) ... Setting up libboost-regex1.83.0:arm64 (1.83.0-4.2) ... Setting up libxcb-glx0:arm64 (1.17.0-2+b1) ... Setting up libdebhelper-perl (13.26) ... Setting up libbrotli1:arm64 (1.1.0-2+b7) ... Setting up libedit2:arm64 (3.1-20250104-1) ... Setting up libboost-system1.83.0:arm64 (1.83.0-4.2) ... Setting up libuv1t64:arm64 (1.51.0-2) ... Setting up libmagic1t64:arm64 (1:5.46-5) ... Setting up libadios2-common-core-dev:arm64 (2.10.2+dfsg1-3) ... Setting up x11-common (1:7.7+25) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libsensors-config (1:3.6.2-2) ... Setting up libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Setting up libibumad3:arm64 (56.1-1) ... Setting up libdeflate0:arm64 (1.23-2) ... Setting up libboost-thread1.83.0:arm64 (1.83.0-4.2) ... Setting up libfftw3-long3:arm64 (3.3.10-2+b1) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-1) ... Setting up libevent-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Setting up libmetis5:arm64 (5.1.0.dfsg-7+b2) ... Setting up libxcb-shm0:arm64 (1.17.0-2+b1) ... Setting up libibmad5:arm64 (56.1-1) ... Setting up libcom-err2:arm64 (1.47.2-3+b3) ... Setting up libldl3:arm64 (1:7.11.0+dfsg-2) ... Setting up file (1:5.46-5) ... Setting up libboost-filesystem1.83.0:arm64 (1.83.0-4.2) ... Setting up libjbig0:arm64 (2.1-6.1+b2) ... Setting up libaec0:arm64 (1.1.4-2) ... Setting up libpugixml1v5:arm64 (1.14-2) ... Setting up libopengl0:arm64 (1.7.0-1+b2) ... Setting up libelf1t64:arm64 (0.193-3) ... Setting up occt-misc (7.8.1+dfsg1-3) ... Setting up libc6-dbg:arm64 (2.41-12) ... Setting up libkrb5support0:arm64 (1.21.3-5) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-9) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Oct 17 08:37:29 UTC 2026. Universal Time is now: Sat Oct 17 08:37:29 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libboost-atomic1.83.0:arm64 (1.83.0-4.2) ... Setting up libxcb-present0:arm64 (1.17.0-2+b1) ... Setting up libboost-serialization1.83.0:arm64 (1.83.0-4.2) ... Setting up libbtf2:arm64 (1:7.11.0+dfsg-2) ... Setting up libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1+b1) ... Setting up xtrans-dev (1.4.0-1) ... Setting up autotools-dev (20240727.1) ... Setting up libz3-4:arm64 (4.13.3-1) ... Setting up libblas3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libunbound8:arm64 (1.23.1-1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-5) ... Setting up libmunge2:arm64 (0.5.16-1) ... Setting up libexpat1-dev:arm64 (2.7.1-2) ... Setting up libjpeg62-turbo:arm64 (1:2.1.5-4) ... Setting up libjxr0t64:arm64 (1.2~git20170615.f752187-5.3) ... Setting up libx11-data (2:1.8.12-1) ... Setting up libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Setting up libboost-chrono1.83.0t64:arm64 (1.83.0-4.2) ... Setting up libxcb-sync1:arm64 (1.17.0-2+b1) ... Setting up libjsoncpp26:arm64 (1.9.6-4) ... Setting up libann0 (1.1.2+doc-9+b2) ... Setting up libproc2-0:arm64 (2:4.0.4-9) ... Setting up comerr-dev:arm64 (2.1-1.47.2-3+b3) ... Setting up libunistring5:arm64 (1.3-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libssl-dev:arm64 (3.5.2-1) ... Setting up libpng16-16t64:arm64 (1.6.50-1) ... Setting up libhwloc15:arm64 (2.12.2-1) ... Setting up libimath-3-1-29t64:arm64 (3.1.12-1+b3) ... Setting up python3-numpy-dev:arm64 (1:2.2.4+ds-1.2) ... Setting up libtcl8.6:arm64 (8.6.17+dfsg-1) ... Setting up autopoint (0.23.1-2) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libsensors5:arm64 (1:3.6.2-2) ... Setting up libk5crypto3:arm64 (1.21.3-5) ... Setting up libltdl7:arm64 (2.5.4-5) ... Setting up opencl-c-headers (3.0~2025.07.22-1) ... Setting up libfftw3-double3:arm64 (3.3.10-2+b1) ... Setting up libjs-sphinxdoc (8.2.3-6) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-9) ... Setting up libgfortran5:arm64 (15.2.0-3) ... Setting up libraw23t64:arm64 (0.21.4-2) ... Setting up libvulkan1:arm64 (1.4.321.0-1) ... Setting up autoconf (2.72-3.1) ... Setting up libnghttp3-9:arm64 (1.8.0-1) ... Setting up libwebp7:arm64 (1.5.0-0.1) ... Setting up libnghttp3-dev:arm64 (1.8.0-1) ... Setting up libmumps-headers-dev (5.7.3-3) ... Setting up liblzma-dev:arm64 (5.8.1-1.1) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up robin-map-dev (1.3.0-1) ... Setting up libffi8:arm64 (3.5.2-2) ... Setting up libnuma1:arm64 (2.0.19-1) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up cpp-14-aarch64-linux-gnu (14.3.0-7) ... Setting up ocl-icd-libopencl1:arm64 (2.3.3-1) ... Setting up libxshmfence1:arm64 (1.3.3-1) ... Setting up libtiff6:arm64 (4.7.0-5) ... Setting up libxcb-randr0:arm64 (1.17.0-2+b1) ... Setting up libuchardet0:arm64 (0.0.8-2) ... Setting up procps (2:4.0.4-9) ... Setting up libjson-perl (4.10000-1) ... Setting up libnl-3-200:arm64 (3.11.0-2) ... Setting up openmpi-common (5.0.7-1) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up libsuitesparseconfig7:arm64 (1:7.11.0+dfsg-2) ... Setting up libopenjp2-7:arm64 (2.5.3-2.1) ... Setting up libx11-6:arm64 (2:1.8.12-1) ... Setting up xorg-sgml-doctools (1:1.11-1.1) ... Setting up netbase (6.5) ... Setting up cmake-data (4.1.1+really3.31.6-1) ... Setting up librhash1:arm64 (1.4.6-1) ... Setting up libkrb5-3:arm64 (1.21.3-5) ... Setting up libevent-core-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Setting up libglu1-mesa:arm64 (9.0.2-1.1+b3) ... Setting up libicu76:arm64 (76.1-4) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up libboost-math1.83.0:arm64 (1.83.0-4.2) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libgcc-14-dev:arm64 (14.3.0-7) ... Setting up libfido2-1:arm64 (1.16.0-2) ... Setting up valgrind (1:3.24.0-3) ... Setting up libvoro++1 (0.5+revert-to-0.4.6+dfsg1-1+b1) ... Setting up libtasn1-6-dev:arm64 (4.20.0-2) ... Setting up libwebpmux3:arm64 (1.5.0-0.1) ... Setting up libstdc++-14-dev:arm64 (14.3.0-7) ... Setting up libdrm-common (2.4.125-2) ... Setting up valgrind-mpi (1:3.24.0-3) ... Setting up libarchive13t64:arm64 (3.7.4-4+b1) ... Setting up readline-common (8.3-3) ... Setting up libldap2:arm64 (2.6.10+dfsg-1) ... Setting up libbrotli-dev:arm64 (1.1.0-2+b7) ... Setting up libfmt10:arm64 (10.1.1+ds1-4) ... Setting up libblas-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode Setting up libsz2:arm64 (1.1.4-2) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libgfortran-14-dev:arm64 (14.3.0-7) ... Setting up x11proto-dev (2024.1-1) ... Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up libxcb-dri3-0:arm64 (1.17.0-2+b1) ... Setting up libllvm19:arm64 (1:19.1.7-3+b2) ... Setting up libx11-xcb1:arm64 (2:1.8.12-1) ... Setting up liblapack3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libboost1.83-dev:arm64 (1.83.0-4.2) ... Setting up gettext (0.23.1-2+b1) ... Setting up libarpack2t64:arm64 (3.9.1-6) ... Setting up libgmp-dev:arm64 (2:6.3.0+dfsg-5) ... Setting up libamd3:arm64 (1:7.11.0+dfsg-2) ... Setting up libxau-dev:arm64 (1:1.0.11-1) ... Setting up libboost-chrono1.83-dev:arm64 (1.83.0-4.2) ... Setting up nettle-dev:arm64 (3.10.1-1) ... Setting up libxrender1:arm64 (1:0.9.12-1) ... Setting up libyaml-dev:arm64 (0.2.5-2) ... Setting up libboost-math1.83-dev:arm64 (1.83.0-4.2) ... Setting up libtool (2.5.4-5) ... Setting up libcolamd3:arm64 (1:7.11.0+dfsg-2) ... Setting up libspex3:arm64 (1:7.11.0+dfsg-2) ... Setting up libboost-chrono-dev:arm64 (1.83.0.2+b2) ... Setting up libfftw3-bin (3.3.10-2+b1) ... Setting up libsuitesparse-mongoose3:arm64 (1:7.11.0+dfsg-2) ... Setting up libevent-pthreads-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Setting up fontconfig-config (2.15.0-2.4) ... Setting up libboost-math-dev:arm64 (1.83.0.2+b2) ... Setting up libevent-openssl-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Setting up libpugixml-dev:arm64 (1.14-2) ... Setting up libboost-program-options1.83-dev:arm64 (1.83.0-4.2) ... Setting up libaec-dev:arm64 (1.1.4-2) ... Setting up libcxsparse4:arm64 (1:7.11.0+dfsg-2) ... Setting up libboost-serialization1.83-dev:arm64 (1.83.0-4.2) ... Setting up libjpeg-dev:arm64 (1:2.1.5-4) ... Setting up libxext6:arm64 (2:1.3.4-1+b3) ... Setting up libidn2-0:arm64 (2.3.8-4) ... Setting up libgfortran-15-dev:arm64 (15.2.0-3) ... Setting up libcamd3:arm64 (1:7.11.0+dfsg-2) ... Setting up libsuperlu7:arm64 (7.0.1+dfsg1-2) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up libxxf86vm1:arm64 (1:1.1.4-1+b4) ... Setting up libtbbbind-2-5:arm64 (2022.1.0-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libnuma-dev:arm64 (2.0.19-1) ... Setting up libnl-route-3-200:arm64 (3.11.0-2) ... Setting up libxnvctrl0:arm64 (535.171.04-1+b2) ... Setting up dh-autoreconf (20) ... Setting up libltdl-dev:arm64 (2.5.4-5) ... Setting up libxdmcp-dev:arm64 (1:1.1.5-1) ... Setting up libxml2-dev:arm64 (2.14.5+dfsg-0.2) ... Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... Setting up libboost-timer1.83-dev:arm64 (1.83.0-4.2) ... Setting up libllvm17t64:arm64 (1:17.0.6-22+b3) ... Setting up libfreetype6:arm64 (2.13.3+dfsg-1) ... Setting up libboost-program-options-dev:arm64 (1.83.0.2+b2) ... Setting up gfortran-15-aarch64-linux-gnu (15.2.0-3) ... Setting up libxfixes3:arm64 (1:6.0.0-2+b4) ... Setting up librbio4:arm64 (1:7.11.0+dfsg-2) ... Setting up libboost-date-time1.83-dev:arm64 (1.83.0-4.2) ... Setting up libldap-dev:arm64 (2.6.10+dfsg-1) ... Setting up sphinx-common (8.2.3-6) ... Setting up libopenexr-3-1-30:arm64 (3.1.13-2) ... Setting up libp11-kit0:arm64 (0.25.5-3) ... Setting up libxinerama1:arm64 (2:1.1.4-3+b4) ... Setting up opencl-clhpp-headers (3.0~2025.07.22-1) ... Setting up liblapack-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode Setting up libeigen3-dev (3.4.0-5) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-5) ... Setting up libfmt-dev:arm64 (10.1.1+ds1-4) ... Setting up icu-devtools (76.1-4) ... Setting up pkg-config:arm64 (1.8.1-4) ... Setting up libboost-serialization-dev:arm64 (1.83.0.2+b2) ... Setting up libspdlog1.15:arm64 (1:1.15.3+ds-1) ... Setting up libssh2-1-dev:arm64 (1.11.1-1) ... Setting up libidn2-dev:arm64 (2.3.8-4) ... Setting up ocl-icd-opencl-dev:arm64 (2.3.3-1) ... Setting up libboost-atomic1.83-dev:arm64 (1.83.0-4.2) ... Setting up cpp-14 (14.3.0-7) ... Setting up libevent-extra-2.1-7t64:arm64 (2.1.12-stable-10+b1) ... Setting up libccolamd3:arm64 (1:7.11.0+dfsg-2) ... Setting up libreadline8t64:arm64 (8.3-3) ... Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up libdrm2:arm64 (2.4.125-2) ... Setting up libnl-3-dev:arm64 (3.11.0-2) ... Setting up libbasix0.9:arm64 (0.9.0-2+b2) ... Setting up groff-base (1.23.0-9) ... Setting up gfortran-aarch64-linux-gnu (4:15.2.0-1) ... Setting up libhwloc-dev:arm64 (2.12.2-1) ... Setting up libboost-dev:arm64 (1.83.0.2+b2) ... Setting up gcc-14-aarch64-linux-gnu (14.3.0-7) ... Setting up libamd-comgr2:arm64 (6.0+git20231212.4510c28+dfsg-3+b2) ... Setting up libxss1:arm64 (1:1.2.3-1+b3) ... Setting up libfontconfig1:arm64 (2.15.0-2.4) ... Setting up libboost-system1.83-dev:arm64 (1.83.0-4.2) ... Setting up libsuperlu-dev:arm64 (7.0.1+dfsg1-2) ... Setting up libbasix-dev:arm64 (0.9.0-2+b2) ... Setting up libpython3.13-stdlib:arm64 (3.13.7-1) ... Setting up libfftw3-dev:arm64 (3.3.10-2+b1) ... Setting up libicu-dev:arm64 (76.1-4) ... Setting up libboost-timer-dev:arm64 (1.83.0.2+b2) ... Setting up libp11-kit-dev:arm64 (0.25.5-3) ... Setting up gfortran-15 (15.2.0-3) ... Setting up libpython3-stdlib:arm64 (3.13.5-1) ... Setting up libdrm-amdgpu1:arm64 (2.4.125-2) ... Setting up libpython3.13:arm64 (3.13.7-1) ... Setting up libgnutls30t64:arm64 (3.8.9-3) ... Setting up libboost-thread1.83-dev:arm64 (1.83.0-4.2) ... Setting up libgnutls-openssl27t64:arm64 (3.8.9-3) ... Setting up libnghttp2-dev:arm64 (1.64.0-1.1+b1) ... Setting up mesa-libgallium:arm64 (25.2.2-1) ... Setting up libibverbs1:arm64 (56.1-1) ... Setting up libcholmod5:arm64 (1:7.11.0+dfsg-2) ... Setting up libfreeimage3:arm64 (3.18.0+ds2-11) ... Setting up libxft2:arm64 (2.3.6-1+b4) ... Setting up libarpack2-dev:arm64 (3.9.1-6) ... Setting up libxcb1-dev:arm64 (1.17.0-2+b1) ... Setting up libzmq5:arm64 (4.3.5-1+b3) ... Setting up libgbm1:arm64 (25.2.2-1) ... Setting up ibverbs-providers:arm64 (56.1-1) ... Setting up libspqr4:arm64 (1:7.11.0+dfsg-2) ... Setting up python3.13 (3.13.7-1) ... Setting up openssh-client (1:10.0p1-8) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libtk8.6:arm64 (8.6.17-1) ... Setting up libxcursor1:arm64 (1:1.2.3-1) ... Setting up nanobind-dev (2.5.0-1) ... Setting up libgl1-mesa-dri:arm64 (25.2.2-1) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up libx11-dev:arm64 (2:1.8.12-1) ... Setting up python3 (3.13.5-1) ... /usr/share/petsc/3.22/lib/petsc/bin/petsc_tas_analysis.py:779: SyntaxWarning: invalid escape sequence '\l' axMeshConv.set(xlabel='Problem Size $\log N$', ylabel='Error $\log |x - x^*|$', title='Mesh Convergence') /usr/share/petsc/3.22/lib/petsc/bin/petsc_tas_analysis.py:779: SyntaxWarning: invalid escape sequence '\l' axMeshConv.set(xlabel='Problem Size $\log N$', ylabel='Error $\log |x - x^*|$', title='Mesh Convergence') /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:253: SyntaxWarning: invalid escape sequence '\d' print("\documentclass{article}") /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:256: SyntaxWarning: invalid escape sequence '\c' print("\centering") /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:259: SyntaxWarning: invalid escape sequence '\m' print(" & & \multicolumn{4}{c}{--------------- Percent of -------------} & \\\\") /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:261: SyntaxWarning: invalid escape sequence '\h' print("\hline") /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:321: SyntaxWarning: invalid escape sequence '\e' print("\end{tabular}") /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:322: SyntaxWarning: invalid escape sequence '\e' print("\end{table}") /usr/share/petsc/3.22/lib/petsc/bin/petsclogformat.py:323: SyntaxWarning: invalid escape sequence '\e' print("\end{document}") Setting up libtbb12:arm64 (2022.1.0-2) ... Setting up libboost-filesystem1.83-dev:arm64 (1.83.0-4.2) ... Setting up python3-zipp (3.23.0-1) ... Setting up python-petsc4py-doc (3.22.4-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up libhwloc-plugins:arm64 (2.12.2-1) ... Setting up libspdlog-dev:arm64 (1:1.15.3+ds-1) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up gfortran (4:15.2.0-1) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up gcc-14 (14.3.0-7) ... Setting up libpsl-dev:arm64 (0.21.2-1.1+b1) ... Setting up libnl-route-3-dev:arm64 (3.11.0-2) ... Setting up python3-decorator (5.2.1-2) ... Setting up python3-packaging (25.0-1) ... Setting up python3-pyproject-hooks (1.2.0-1) ... Setting up libgnutls-dane0t64:arm64 (3.8.9-3) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Setting up libklu2:arm64 (1:7.11.0+dfsg-2) ... Setting up libgssrpc4t64:arm64 (1.21.3-5) ... Setting up libpython3.13-dev:arm64 (3.13.7-1) ... Setting up libevent-dev (2.1.12-stable-10+b1) ... Setting up libocct-foundation-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libboost-regex1.83-dev:arm64 (1.83.0-4.2) ... Setting up python3-typing-extensions (4.15.0-1) ... Setting up libpmix2t64:arm64 (5.0.7-1) ... Setting up python3-numpy (1:2.2.4+ds-1.2) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-pluggy (1.6.0-1) ... Setting up libumfpack6:arm64 (1:7.11.0+dfsg-2) ... Setting up gfortran-14-aarch64-linux-gnu (14.3.0-7) ... Setting up librdmacm1t64:arm64 (56.1-1) ... Setting up gfortran-14 (14.3.0-7) ... Setting up python3-pathspec (0.12.1-1) ... Setting up libfltk1.3t64:arm64 (1.3.11-2) ... Setting up python3-pusimp (0.1.1-1) ... Setting up libboost-filesystem-dev:arm64 (1.83.0.2+b2) ... Setting up libpmix-dev:arm64 (5.0.7-1) ... Setting up libhsakmt1:arm64 (6.2.4+ds-1) ... Setting up python3-cffi-backend:arm64 (2.0.0~b1-1) ... Setting up libboost-thread-dev:arm64 (1.83.0.2+b2) ... Setting up libkadm5clnt-mit12:arm64 (1.21.3-5) ... Setting up dh-python (6.20250414) ... Setting up libgnutls28-dev:arm64 (3.8.9-3) ... Setting up python3-more-itertools (10.8.0-1) ... Setting up libfabric1:arm64 (2.1.0-1.1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up libfltk-images1.3t64:arm64 (1.3.11-2) ... Setting up python3-nanobind (2.5.0-1) ... Setting up libglx-mesa0:arm64 (25.2.2-1) ... Setting up python3-scipy (1.15.3-1.1) ... Setting up libpython3-dev:arm64 (3.13.5-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-ufl (2024.2.0-3) ... Setting up libglx0:arm64 (1.7.0-1+b2) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up libcurl4t64:arm64 (8.15.0-1) ... Setting up libkdb5-10t64:arm64 (1.21.3-5) ... Setting up python3-pyproject-metadata (0.9.1-2) ... Setting up python3.13-dev (3.13.7-1) ... Setting up libboost-iostreams1.83-dev:arm64 (1.83.0-4.2) ... Setting up python3-pytest (8.3.5-2) ... Setting up python3-ply (3.11-9) ... Setting up python3-typeguard (4.4.4-1) ... Setting up python3-all (3.13.5-1) ... Setting up debhelper (13.26) ... Setting up libocct-modeling-data-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libboost-iostreams-dev:arm64 (1.83.0.2+b2) ... Setting up libibverbs-dev:arm64 (56.1-1) ... Setting up libparu1:arm64 (1:7.11.0+dfsg-2) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-pycparser (2.22-2) ... Setting up python3-inflect (7.5.0-1) ... Setting up libgl1:arm64 (1.7.0-1+b2) ... Setting up libpython3-all-dev:arm64 (3.13.5-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-dev (3.13.5-1) ... Setting up librtmp-dev:arm64 (2.4+20151223.gitfa8646d.1-3) ... Setting up libhdf5-310:arm64 (1.14.5+repack-3) ... Setting up libhsa-runtime64-1:arm64 (6.1.2-3) ... Setting up libkadm5srv-mit12:arm64 (1.21.3-5) ... Setting up cmake (4.1.1+really3.31.6-1) ... Setting up python3-build (1.2.2-4) ... Setting up python3-basix (0.9.0-2+b2) ... Setting up krb5-multidev:arm64 (1.21.3-5) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up python3-all-dev (3.13.5-1) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up libocct-modeling-algorithms-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libsuitesparse-dev:arm64 (1:7.11.0+dfsg-2) ... Setting up python3-scikit-build-core (0.11.1-3) ... Setting up pybuild-plugin-pyproject (6.20250414) ... Setting up python3-cffi (2.0.0~b1-1) ... Setting up libgl2ps1.4 (1.4.2+dfsg1-2+b1) ... Setting up python3-ffcx (1:0.9.0-2) ... Setting up libfltk-gl1.3t64:arm64 (1.3.11-2) ... Setting up libkrb5-dev:arm64 (1.21.3-5) ... Setting up libamdhip64-5:arm64 (5.7.1-6) ... Setting up libcurl4-openssl-dev:arm64 (8.15.0-1) ... Setting up libcgns3.4:arm64 (3.4.0-5+b2) ... Setting up libucx0:arm64 (1.18.1+ds-2+b1) ... Setting up libopenmpi40:arm64 (5.0.7-1) ... Setting up libptscotch-7.0:arm64 (7.0.7-1) ... Setting up libcombblas2.0.0t64:arm64 (2.0.0-6+b2) ... Setting up libfftw3-mpi3:arm64 (3.3.10-2+b1) ... Setting up libhdf5-openmpi-310:arm64 (1.14.5+repack-3) ... Setting up libhdf5-openmpi-fortran-310:arm64 (1.14.5+repack-3) ... Setting up libparpack2t64:arm64 (3.9.1-6) ... Setting up libboost-mpi1.83.0 (1.83.0-4.2) ... Setting up openmpi-bin (5.0.7-1) ... update-alternatives: using /usr/bin/mpirun.openmpi to provide /usr/bin/mpirun (mpirun) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/mpiexec.1.gz because associated file /usr/share/man/man1/mpiexec.openmpi.1.gz (of link group mpirun) doesn't exist update-alternatives: using /usr/bin/mpicc.openmpi to provide /usr/bin/mpicc (mpi) in auto mode Setting up libhdf5-openmpi-hl-310:arm64 (1.14.5+repack-3) ... Setting up libhdf5-openmpi-hl-fortran-310:arm64 (1.14.5+repack-3) ... Setting up libhdf5-openmpi-hl-cpp-310:arm64 (1.14.5+repack-3) ... Setting up libsuperlu-dist8:arm64 (8.2.1+dfsg1-5+b1) ... Setting up libhdf5-openmpi-cpp-310:arm64 (1.14.5+repack-3) ... Setting up libfftw3-mpi-dev:arm64 (3.3.10-2+b1) ... Setting up mpi-default-bin (1.18) ... Setting up libhypre-2.32.0:arm64 (2.32.0-4) ... Setting up python3-mpi4py (4.1.0-3) ... Setting up libsuperlu-dist-dev:arm64 (8.2.1+dfsg1-5+b1) ... Setting up libopenmpi-dev:arm64 (5.0.7-1) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/openmpi/include to provide /usr/include/aarch64-linux-gnu/mpi (mpi-aarch64-linux-gnu) in auto mode Setting up libhdf5-openmpi-dev (1.14.5+repack-3) ... update-alternatives: using /usr/bin/h5pcc.openmpi to provide /usr/bin/h5pcc (h5pcc) in auto mode update-alternatives: using /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5-openmpi.pc to provide /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode update-alternatives: updating alternative /usr/bin/mpicc.openmpi because link group mpi has changed slave links update-alternatives: using /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5-mpi.pc to provide /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode Setting up libscalapack-openmpi2.2:arm64 (2.2.2-1) ... Setting up libmumps-5.7:arm64 (5.7.3-3+b1) ... Setting up libscalapack-openmpi-dev:arm64 (2.2.2-1) ... Setting up mpi-default-dev (1.18) ... Setting up libscalapack-mpi-dev:arm64 (2.2.2-1) ... Setting up libmumps-dev:arm64 (5.7.3-3+b1) ... Setting up libscotch-dev (7.0.7-1) ... Setting up libparpack2-dev:arm64 (3.9.1-6) ... Setting up libpetsc-real3.22:arm64 (3.22.5+dfsg1-2+b1) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/libpetsc_real.so.3.22.5 to provide /usr/lib/aarch64-linux-gnu/libpetsc.so.3.22 (libpetsc.so.3.22) in auto mode Setting up libhypre-dev:arm64 (2.32.0-4) ... Setting up libptscotch-dev (7.0.7-1) ... Setting up python3-petsc4py-real3.22 (3.22.4-1) ... Setting up libboost-mpi1.83-dev (1.83.0-4.2) ... Setting up libboost-mpi-dev (1.83.0.2+b2) ... Setting up libhdf5-mpi-dev:arm64 (1.14.5+repack-3) ... Setting up libpetsc3.22-dev-common (3.22.5+dfsg1-2) ... Setting up python3-petsc4py (3.22.4-1) ... Setting up libslepc-real3.22 (3.22.2+dfsg1-1) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/libslepc_real.so.3.22.2 to provide /usr/lib/aarch64-linux-gnu/libslepc.so.3.22 (libslepc.so.3.22) in auto mode Setting up python3-petsc4py-real (3.22.4-1) ... Setting up libpetsc-real3.22-dev:arm64 (3.22.5+dfsg1-2+b1) ... update-alternatives: error: no alternatives for petsc update-alternatives: using /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real to provide /usr/lib/petsc (petsc) in auto mode update-alternatives: using /usr/lib/aarch64-linux-gnu/libpetsc_real.so.3.22.5 to provide /usr/lib/aarch64-linux-gnu/libpetsc_real.so (libpetsc_real.so) in auto mode update-alternatives: using /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real to provide /usr/lib/petscdir/3.22 (petsc3.22) in auto mode Setting up python3-slepc4py-real3.22 (3.22.2-1+b1) ... Setting up python3-slepc4py (3.22.2-1) ... Setting up libslepc-real3.22-dev (3.22.2+dfsg1-1) ... update-alternatives: error: no alternatives for slepc update-alternatives: using /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real to provide /usr/lib/slepc (slepc) in auto mode update-alternatives: using /usr/lib/aarch64-linux-gnu/libslepc_real.so.3.22.2 to provide /usr/lib/aarch64-linux-gnu/libslepc_real.so (libslepc_real.so) in auto mode update-alternatives: using /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real to provide /usr/lib/slepcdir/3.22 (slepc3.22) in auto mode Setting up python3-slepc4py-real (3.22.2-1) ... Setting up libadios2-mpi-plugins:arm64 (2.10.2+dfsg1-3) ... Setting up libocct-ocaf-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libocct-draw-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libocct-visualization-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libadios2-mpi-core-2.10:arm64 (2.10.2+dfsg1-3) ... Setting up libadios2-mpi-c++11-2.10:arm64 (2.10.2+dfsg1-3) ... Setting up libadios2-mpi-c-2.10:arm64 (2.10.2+dfsg1-3) ... Setting up libocct-data-exchange-7.8:arm64 (7.8.1+dfsg1-3) ... Setting up libadios2-mpi-auxiliary-2.10:arm64 (2.10.2+dfsg1-3) ... Setting up libdolfinx-real0.9:arm64 (1:0.9.0-7) ... Setting up libgmsh4.14:arm64 (4.14.0+ds1-1) ... Setting up python3-gmsh (4.14.0+ds1-1) ... Setting up libdolfinx-real-dev:arm64 (1:0.9.0-7) ... Setting up libadios2-mpi-auxiliary-dev:arm64 (2.10.2+dfsg1-3) ... Setting up libadios2-mpi-core-dev:arm64 (2.10.2+dfsg1-3) ... Setting up libadios2-mpi-c++11-dev:arm64 (2.10.2+dfsg1-3) ... Setting up libdolfinx-dev:arm64 (1:0.9.0-7) ... Setting up python3-dolfinx-real (1:0.9.0-7) ... Setting up python3-dolfinx:arm64 (1:0.9.0-7) ... Processing triggers for libc-bin (2.41-12) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/dolfinx-mpc-0.9.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../dolfinx-mpc_0.9.1-2_source.changes dpkg-buildpackage: info: source package dolfinx-mpc dpkg-buildpackage: info: source version 0.9.1-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Drew Parsons dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem=cmake dh_auto_clean -O--buildsystem=cmake dh_autoreconf_clean -O--buildsystem=cmake debian/rules execute_before_dh_clean make[1]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1' rm -rf .pybuild rm -rf python/build rm -rf python/dolfinx_mpc.egg-info rm -rf python/LICENSE rm -rf python/.pytest_cache make[1]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1' dh_clean -O--buildsystem=cmake debian/rules binary dh binary --buildsystem=cmake dh_update_autotools_config -O--buildsystem=cmake dh_autoreconf -O--buildsystem=cmake debian/rules override_dh_auto_configure make[1]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1' dh_auto_configure --sourcedir=cpp cd obj-aarch64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb PKG_CONFIG=/usr/bin/pkg-config cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/aarch64-linux-gnu ../cpp -- The C compiler identification is GNU 15.2.0 -- The CXX compiler identification is GNU 15.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found MPI_C: /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1") -- Found MPI_CXX: /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1") -- Found MPI: TRUE (found version "3.1") -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found Boost 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/Boost-1.83.0 -- Requested configuration: REQUIRED COMPONENTS timer -- Found boost_headers 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/boost_headers-1.83.0 -- Found boost_timer 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/boost_timer-1.83.0 -- [x] libboost_timer.so.1.83.0 -- [ ] libboost_timer.a -- Adding boost_timer dependencies: headers -- Checking for Basix hints with /usr/bin/python3 -- Adding /usr/lib/python3/dist-packages/basix to Basix search hints -- HDF5: Using hdf5 compiler wrapper to determine C configuration -- Found HDF5: /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so (found version "1.14.5") found components: C -- HDF5_DIR: HDF5_DIR-NOTFOUND -- HDF5_DEFINITIONS: -- HDF5_INCLUDE_DIRS: /usr/include/hdf5/openmpi -- HDF5_LIBRARIES: /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so -- HDF5_HL_LIBRARIES: -- HDF5_C_DEFINITIONS: -- HDF5_C_INCLUDE_DIR: -- HDF5_C_INCLUDE_DIRS: /usr/include/hdf5/openmpi -- HDF5_C_LIBRARY: -- HDF5_C_LIBRARIES: /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so -- HDF5_C_HL_LIBRARY: -- HDF5_C_HL_LIBRARIES: -- Defined targets (if any): -- ... hdf5::hdf5 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for one of the modules 'PETSc;petsc' -- Looking for PETSC_USE_COMPLEX -- Looking for PETSC_USE_COMPLEX - not found -- Checking for one of the modules 'SLEPc;slepc' -- Found ADIOS2: /usr/lib/aarch64-linux-gnu/cmake/adios2/mpi/adios2-config.cmake (found suitable version "2.10.2", minimum required is "2.8.1") found components: CXX -- The following features have been enabled: * BUILD_SHARED_LIBS, Build DOLFINX_MPC with shared libraries. -- The following REQUIRED packages have been found: * Threads * boost_headers (required version == 1.83.0) * boost_timer (required version == 1.83.0) * Boost (required version >= 1.70) * PkgConfig * DOLFINX (required version >= 0.9.0.0), New generation Dynamic Object-oriented Library for - FINite element computation, Main dependency of library -- The following features have been disabled: * CMAKE_INSTALL_RPATH_USE_LINK_PATH, Add paths to linker search and installed rpath. -- Configuring done (3.5s) -- Generating done (0.0s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY FETCHCONTENT_FULLY_DISCONNECTED -- Build files have been written to: /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu make[1]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1' dh_auto_build -O--buildsystem=cmake cd obj-aarch64-linux-gnu && make -j12 "INSTALL=install --strip-program=true" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' /usr/bin/cmake -S/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -B/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu/CMakeFiles /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[2]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' make -f CMakeFiles/dolfinx_mpc.dir/build.make CMakeFiles/dolfinx_mpc.dir/depend make[3]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' cd /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/dolfinx-mpc-0.9.1/cpp /build/reproducible-path/dolfinx-mpc-0.9.1/cpp /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu/CMakeFiles/dolfinx_mpc.dir/DependInfo.cmake "--color=" make[3]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' make -f CMakeFiles/dolfinx_mpc.dir/build.make CMakeFiles/dolfinx_mpc.dir/build make[3]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' [ 16%] Building CXX object CMakeFiles/dolfinx_mpc.dir/assemble_utils.cpp.o /usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_TIMER_DYN_LINK -DBOOST_TIMER_NO_LIB -DDOLFINX_MPC_VERSION=\"0.9.0.0\" -DDOLFINX_VERSION=\"0.9.0\" -DFMT_SHARED -DHAS_ADIOS2 -DHAS_PETSC -DHAS_PTSCOTCH -DHAS_SLEPC -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -Ddolfinx_mpc_EXPORTS -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp/dolfinx_mpc -isystem /usr/lib/python3/dist-packages/ffcx/codegeneration -isystem /usr/lib/aarch64-linux-gnu/openmpi/include -isystem /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi -isystem /usr/include/hdf5/openmpi -isystem /usr/include/adios2/build/mpi -isystem /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/include -isystem /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/include -g -O2 -ffile-prefix-map=/build/reproducible-path/dolfinx-mpc-0.9.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++20 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/dolfinx_mpc.dir/assemble_utils.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/assemble_utils.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/assemble_utils.cpp.o -c /build/reproducible-path/dolfinx-mpc-0.9.1/cpp/assemble_utils.cpp [ 50%] Building CXX object CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o [ 50%] Building CXX object CMakeFiles/dolfinx_mpc.dir/utils.cpp.o /usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_TIMER_DYN_LINK -DBOOST_TIMER_NO_LIB -DDOLFINX_MPC_VERSION=\"0.9.0.0\" -DDOLFINX_VERSION=\"0.9.0\" -DFMT_SHARED -DHAS_ADIOS2 -DHAS_PETSC -DHAS_PTSCOTCH -DHAS_SLEPC -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -Ddolfinx_mpc_EXPORTS -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp/dolfinx_mpc -isystem /usr/lib/python3/dist-packages/ffcx/codegeneration -isystem /usr/lib/aarch64-linux-gnu/openmpi/include -isystem /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi -isystem /usr/include/hdf5/openmpi -isystem /usr/include/adios2/build/mpi -isystem /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/include -isystem /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/include -g -O2 -ffile-prefix-map=/build/reproducible-path/dolfinx-mpc-0.9.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++20 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o -c /build/reproducible-path/dolfinx-mpc-0.9.1/cpp/assemble_matrix.cpp [ 83%] Building CXX object CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o [ 83%] Building CXX object CMakeFiles/dolfinx_mpc.dir/mpi_utils.cpp.o /usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_TIMER_DYN_LINK -DBOOST_TIMER_NO_LIB -DDOLFINX_MPC_VERSION=\"0.9.0.0\" -DDOLFINX_VERSION=\"0.9.0\" -DFMT_SHARED -DHAS_ADIOS2 -DHAS_PETSC -DHAS_PTSCOTCH -DHAS_SLEPC -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -Ddolfinx_mpc_EXPORTS -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp/dolfinx_mpc -isystem /usr/lib/python3/dist-packages/ffcx/codegeneration -isystem /usr/lib/aarch64-linux-gnu/openmpi/include -isystem /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi -isystem /usr/include/hdf5/openmpi -isystem /usr/include/adios2/build/mpi -isystem /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/include -isystem /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/include -g -O2 -ffile-prefix-map=/build/reproducible-path/dolfinx-mpc-0.9.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++20 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/dolfinx_mpc.dir/utils.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/utils.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/utils.cpp.o -c /build/reproducible-path/dolfinx-mpc-0.9.1/cpp/utils.cpp /usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_TIMER_DYN_LINK -DBOOST_TIMER_NO_LIB -DDOLFINX_MPC_VERSION=\"0.9.0.0\" -DDOLFINX_VERSION=\"0.9.0\" -DFMT_SHARED -DHAS_ADIOS2 -DHAS_PETSC -DHAS_PTSCOTCH -DHAS_SLEPC -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -Ddolfinx_mpc_EXPORTS -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp/dolfinx_mpc -isystem /usr/lib/python3/dist-packages/ffcx/codegeneration -isystem /usr/lib/aarch64-linux-gnu/openmpi/include -isystem /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi -isystem /usr/include/hdf5/openmpi -isystem /usr/include/adios2/build/mpi -isystem /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/include -isystem /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/include -g -O2 -ffile-prefix-map=/build/reproducible-path/dolfinx-mpc-0.9.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++20 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/dolfinx_mpc.dir/mpi_utils.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/mpi_utils.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/mpi_utils.cpp.o -c /build/reproducible-path/dolfinx-mpc-0.9.1/cpp/mpi_utils.cpp /usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_TIMER_DYN_LINK -DBOOST_TIMER_NO_LIB -DDOLFINX_MPC_VERSION=\"0.9.0.0\" -DDOLFINX_VERSION=\"0.9.0\" -DFMT_SHARED -DHAS_ADIOS2 -DHAS_PETSC -DHAS_PTSCOTCH -DHAS_SLEPC -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -Ddolfinx_mpc_EXPORTS -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -I/build/reproducible-path/dolfinx-mpc-0.9.1/cpp/dolfinx_mpc -isystem /usr/lib/python3/dist-packages/ffcx/codegeneration -isystem /usr/lib/aarch64-linux-gnu/openmpi/include -isystem /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi -isystem /usr/include/hdf5/openmpi -isystem /usr/include/adios2/build/mpi -isystem /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/include -isystem /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/include -g -O2 -ffile-prefix-map=/build/reproducible-path/dolfinx-mpc-0.9.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++20 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o -c /build/reproducible-path/dolfinx-mpc-0.9.1/cpp/assemble_vector.cpp [100%] Linking CXX shared library libdolfinx_mpc.so /usr/bin/cmake -E cmake_link_script CMakeFiles/dolfinx_mpc.dir/link.txt --verbose=1 /usr/lib/aarch64-linux-gnu/libdolfinx_real.so.0.9.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libpugixml.so.1.14: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libbasix.so.0.9.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libboost_timer.so.1.83.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libspdlog.so.1.15.3: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libfmt.so.10.1.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libadios2_mpi_cxx11_mpi.so.2.10.2: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libadios2_mpi_cxx11.so.2.10.2: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/lib/libslepc_real.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/lib/libpetsc_real.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/libstdc++.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/dolfinx-mpc-0.9.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--dependency-file=CMakeFiles/dolfinx_mpc.dir/link.d -Wl,-z,relro -shared -Wl,-soname,libdolfinx_mpc.so.0.9 -o libdolfinx_mpc.so.0.9.0.0 CMakeFiles/dolfinx_mpc.dir/utils.cpp.o CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o CMakeFiles/dolfinx_mpc.dir/assemble_utils.cpp.o CMakeFiles/dolfinx_mpc.dir/mpi_utils.cpp.o -Wl,-rpath,/usr/lib/aarch64-linux-gnu/hdf5/openmpi:/usr/lib/aarch64-linux-gnu/openmpi/lib:/usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/lib:/usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/lib: /usr/lib/aarch64-linux-gnu/libdolfinx_real.so.0.9.0 /usr/lib/aarch64-linux-gnu/libpugixml.so.1.14 /usr/lib/aarch64-linux-gnu/libbasix.so.0.9.0 /usr/lib/aarch64-linux-gnu/libboost_timer.so.1.83.0 /usr/lib/aarch64-linux-gnu/libspdlog.so.1.15.3 /usr/lib/aarch64-linux-gnu/libfmt.so.10.1.0 /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so /usr/lib/aarch64-linux-gnu/libadios2_mpi_cxx11_mpi.so.2.10.2 /usr/lib/aarch64-linux-gnu/libadios2_mpi_cxx11.so.2.10.2 /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/lib/libslepc_real.so /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/lib/libpetsc_real.so /usr/bin/cmake -E cmake_symlink_library libdolfinx_mpc.so.0.9.0.0 libdolfinx_mpc.so.0.9 libdolfinx_mpc.so make[3]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' [100%] Built target dolfinx_mpc make[2]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu/CMakeFiles 0 make[1]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' dh_auto_test -O--buildsystem=cmake create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=cmake dh_prep -O--buildsystem=cmake dh_auto_install -O--buildsystem=cmake cd obj-aarch64-linux-gnu && make -j12 install DESTDIR=/build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' /usr/bin/cmake -S/build/reproducible-path/dolfinx-mpc-0.9.1/cpp -B/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 preinstall make[2]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' make[2]: Nothing to be done for 'preinstall'. make[2]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' Install the project... /usr/bin/cmake -P cmake_install.cmake -- Install configuration: "None" -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/dolfinx_mpc.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/assemble_utils.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/mpi_utils.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/ContactConstraint.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/utils.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/MultiPointConstraint.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/SlipConstraint.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/PeriodicConstraint.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/assemble_matrix.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/assemble_vector.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/lifting.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/include/dolfinx_mpc/mpc_helpers.h -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/libdolfinx_mpc.so.0.9.0.0 -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/libdolfinx_mpc.so.0.9 -- Set non-toolchain portion of runtime path of "/build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/libdolfinx_mpc.so.0.9.0.0" to "" -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/libdolfinx_mpc.so -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/cmake/dolfinx_mpc/DOLFINX_MPCTargets.cmake -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/cmake/dolfinx_mpc/DOLFINX_MPCTargets-none.cmake -- Installing: /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/cmake/dolfinx_mpc/DOLFINX_MPCConfig.cmake make[1]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1/obj-aarch64-linux-gnu' debian/rules execute_after_dh_auto_install make[1]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1' cp LICENSE python LD_LIBRARY_PATH=/build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu \ CMAKE_PREFIX_PATH=/build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/cmake \ pybuild --dir=/build/reproducible-path/dolfinx-mpc-0.9.1/python --name=dolfinx_mpc --disable test I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/dolfinx-mpc-0.9.1/.pybuild/cpython3_3.13_dolfinx_mpc * Building wheel... *** scikit-build-core 0.11.1 using CMake 3.31.6 (wheel) *** Configuring CMake... loading initial cache file /tmp/tmpjm4a1mrf/build/CMakeInit.txt -- The C compiler identification is GNU 15.2.0 -- The CXX compiler identification is GNU 15.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Python: /usr/bin/python3.13 (found version "3.13.7") found components: Interpreter Development Development.Module Development.Embed -- Found Basix at /usr/lib/aarch64-linux-gnu/cmake/basix -- Found MPI_C: /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1") -- Found MPI_CXX: /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1") -- Found MPI: TRUE (found version "3.1") -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found Boost 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/Boost-1.83.0 -- Requested configuration: REQUIRED COMPONENTS timer -- Found boost_headers 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/boost_headers-1.83.0 -- Found boost_timer 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/boost_timer-1.83.0 -- [x] libboost_timer.so.1.83.0 -- [ ] libboost_timer.a -- Adding boost_timer dependencies: headers -- Checking for Basix hints with /usr/bin/python3.13 -- Adding /usr/lib/python3/dist-packages/basix to Basix search hints -- HDF5: Using hdf5 compiler wrapper to determine C configuration -- Found HDF5: /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so (found version "1.14.5") found components: C -- HDF5_DIR: HDF5_DIR-NOTFOUND -- HDF5_DEFINITIONS: -- HDF5_INCLUDE_DIRS: /usr/include/hdf5/openmpi -- HDF5_LIBRARIES: /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so -- HDF5_HL_LIBRARIES: -- HDF5_C_DEFINITIONS: -- HDF5_C_INCLUDE_DIR: -- HDF5_C_INCLUDE_DIRS: /usr/include/hdf5/openmpi -- HDF5_C_LIBRARY: -- HDF5_C_LIBRARIES: /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so -- HDF5_C_HL_LIBRARY: -- HDF5_C_HL_LIBRARIES: -- Defined targets (if any): -- ... hdf5::hdf5 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for one of the modules 'PETSc;petsc' -- Looking for PETSC_USE_COMPLEX -- Looking for PETSC_USE_COMPLEX - not found -- Checking for one of the modules 'SLEPc;slepc' -- Found ADIOS2: /usr/lib/aarch64-linux-gnu/cmake/adios2/mpi/adios2-config.cmake (found suitable version "2.10.2", minimum required is "2.8.1") found components: CXX -- Found DOLFINx at /usr/lib/aarch64-linux-gnu/cmake/dolfinx -- Found Boost 1.83.0 at /usr/lib/aarch64-linux-gnu/cmake/Boost-1.83.0 -- Requested configuration: REQUIRED COMPONENTS timer -- Checking for Basix hints with /usr/bin/python3.13 -- Adding /usr/lib/python3/dist-packages/basix to Basix search hints -- Found DOLFINx_MPC at /build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu/cmake/dolfinx_mpc -- Found petsc4py include directory at /usr/lib/petsc/lib/python3/dist-packages/petsc4py/include -- Adding /usr/lib/petsc/lib/python3/dist-packages/dolfinx/wrappers to include directories -- Configuring done (5.3s) -- Generating done (0.0s) -- Build files have been written to: /tmp/tmpjm4a1mrf/build *** Building project with Unix Makefiles... gmake[2]: Entering directory '/tmp/tmpjm4a1mrf/build' [ 6%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_internals.cpp.o [ 13%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_func.cpp.o [ 20%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_type.cpp.o [ 26%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_enum.cpp.o [ 33%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_ndarray.cpp.o [ 40%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_static_property.cpp.o [ 46%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/nb_ft.cpp.o [ 53%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/common.cpp.o [ 60%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/error.cpp.o [ 66%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/trampoline.cpp.o [ 73%] Building CXX object CMakeFiles/nanobind-static.dir/usr/share/nanobind/src/implicit.cpp.o [ 80%] Linking CXX static library libnanobind-static.a [ 80%] Built target nanobind-static [ 86%] Building CXX object CMakeFiles/cpp.dir/dolfinx_mpc/dolfinx_mpc.cpp.o [ 93%] Building CXX object CMakeFiles/cpp.dir/dolfinx_mpc/mpc.cpp.o [100%] Linking CXX shared module cpp.cpython-313-aarch64-linux-gnu.so /usr/lib/aarch64-linux-gnu/libdolfinx_real.so.0.9.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libpugixml.so.1.14: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libbasix.so.0.9.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libboost_timer.so.1.83.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libspdlog.so.1.15.3: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libfmt.so.10.1.0: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/hdf5/openmpi/libhdf5.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libadios2_mpi_cxx11_mpi.so.2.10.2: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/libadios2_mpi_cxx11.so.2.10.2: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/aarch64-linux-gnu/openmpi/lib/libmpi.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/slepcdir/slepc3.22/aarch64-linux-gnu-real/lib/libslepc_real.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/petscdir/petsc3.22/aarch64-linux-gnu-real/lib/libpetsc_real.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/libstdc++.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. [100%] Built target cpp gmake[2]: Leaving directory '/tmp/tmpjm4a1mrf/build' *** Installing project into wheel... -- Install configuration: "Release" -- Installing: /tmp/tmpjm4a1mrf/wheel/platlib/dolfinx_mpc/cpp.cpython-313-aarch64-linux-gnu.so *** Making wheel... *** Created dolfinx_mpc-0.9.0-cp313-cp313-linux_aarch64.whl Successfully built dolfinx_mpc-0.9.0-cp313-cp313-linux_aarch64.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module I: pybuild plugin_pyproject:178: Copying package built for python3.13 to destdir make[1]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1' dh_install -O--buildsystem=cmake dh_installdocs -O--buildsystem=cmake dh_installchangelogs -O--buildsystem=cmake debian/rules execute_before_dh_python3 make[1]: Entering directory '/build/reproducible-path/dolfinx-mpc-0.9.1' cd python/tests; \ for pyver in 3.13; do \ LD_LIBRARY_PATH=/build/reproducible-path/dolfinx-mpc-0.9.1/debian/tmp/usr/lib/aarch64-linux-gnu \ PYTHONPATH=/build/reproducible-path/dolfinx-mpc-0.9.1/debian/python3-dolfinx-mpc/usr/lib/python${pyver}/dist-packages \ XDG_CACHE_HOME=/build/reproducible-path/dolfinx-mpc-0.9.1/.pybuild/.cache \ python${pyver} -m pytest ; \ done ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.3.5, pluggy-1.6.0 rootdir: /build/reproducible-path/dolfinx-mpc-0.9.1/python configfile: pyproject.toml plugins: typeguard-4.4.4 collected 72 items test_cube_contact.py FF [ 2%] test_integration_domains.py F [ 4%] test_lifting.py F [ 5%] test_linear_problem.py FF [ 8%] test_matrix_assembly.py FFFFFFFFFFFFFFFFFFFFFFFF [ 41%] test_mpc_pipeline.py FFFF [ 47%] test_nonlinear_assembly.py FFFFFFFFFFFF [ 63%] test_rectangular_assembly.py FFFF [ 69%] test_surface_integral.py FF [ 72%] test_vector_assembly.py FFFFFFFFFFFF [ 88%] test_vector_poisson.py FFFFFFFF [100%] =================================== FAILURES =================================== _________________________ test_cube_contact[True-C++] __________________________ generate_hex_boxes = (, ) nonslip = True get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("nonslip", [True, False]) def test_cube_contact(generate_hex_boxes, nonslip, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers comm = MPI.COMM_WORLD root = 0 # Generate mesh mesh_data = generate_hex_boxes mesh, mt = mesh_data fdim = mesh.topology.dim - 1 # Create functionspaces V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) # Helper for orienting traction # Bottom boundary is fixed in all directions u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bottom_dofs = fem.locate_dofs_topological(V, fdim, mt.find(5)) bc_bottom = fem.dirichletbc(u_bc, bottom_dofs) g_vec = [0, 0, -4.25e-1] if not nonslip: # Helper for orienting traction r_matrix = dolfinx_mpc.utils.rotation_matrix([1 / np.sqrt(2), 1 / np.sqrt(2), 0], -theta) # Top boundary has a given deformation normal to the interface g_vec = np.dot(r_matrix, [0, 0, -4.25e-1]) # Top boundary has a given deformation normal to the interface def top_v(x): values = np.empty((3, x.shape[1])) values[0] = g_vec[0] values[1] = g_vec[1] values[2] = g_vec[2] return values u_top = fem.Function(V) u_top.interpolate(top_v) top_dofs = fem.locate_dofs_topological(V, fdim, mt.find(3)) bc_top = fem.dirichletbc(u_top, top_dofs) bcs = [bc_bottom, bc_top] # Elasticity parameters E = 1.0e3 nu = 0 mu = fem.Constant(mesh, default_scalar_type(E / (2.0 * (1.0 + nu)))) lmbda = fem.Constant(mesh, default_scalar_type(E * nu / ((1.0 + nu) * (1.0 - 2.0 * nu)))) # Stress computation def sigma(v): return 2.0 * mu * ufl.sym(ufl.grad(v)) + lmbda * ufl.tr(ufl.sym(ufl.grad(v))) * ufl.Identity(len(v)) # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(sigma(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(fem.Constant(mesh, default_scalar_type((0, 0, 0))), v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Create LU solver solver = PETSc.KSP().create(comm) solver.setType("preonly") solver.setTolerances(rtol=1.0e-14) solver.getPC().setType("lu") # Create MPC contact condition and assemble matrices mpc = dolfinx_mpc.MultiPointConstraint(V) if nonslip: with Timer("~Contact: Create non-elastic constraint"): > mpc.create_contact_inelastic_condition(mt, 4, 9, eps2=500 * np.finfo(default_scalar_type).resolution) test_cube_contact.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = meshtags = , slave_marker = 4 master_marker = 9, eps2 = 5e-13 def create_contact_inelastic_condition( self, meshtags: _cpp.mesh.MeshTags_int32, slave_marker: int, master_marker: int, eps2: float = 1e-20, ): """ Create a contact inelastic condition between two sets of facets marker with individual markers. The interfaces should be within machine precision of eachother, but the vertices does not need to align. The condition created is :math:`u_s = u_m` where `s` is the restriction to the slave facets, `m` to the master facets. Args: meshtags: The meshtags of the set of facets to tie together slave_marker: The marker of the slave facets master_marker: The marker of the master facets eps2: The tolerance for the squared distance between cells to be considered as a collision """ if isinstance(eps2, numpy.generic): # nanobind conversion of numpy dtypes to general Python types eps2 = eps2.item() # type: ignore > mpc_data = dolfinx_mpc.cpp.mpc.create_contact_inelastic_condition( self.V._cpp_object, meshtags._cpp_object, slave_marker, master_marker, eps2 ) E TypeError: create_contact_inelastic_condition(): incompatible function arguments. The following argument types are supported: E 1. create_contact_inelastic_condition(arg0: dolfinx::fem::FunctionSpace, arg1: dolfinx::mesh::MeshTags, arg2: int, arg3: int, arg4: float, /) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_contact_inelastic_condition(arg0: dolfinx::fem::FunctionSpace, arg1: dolfinx::mesh::MeshTags, arg2: int, arg3: int, arg4: float, /) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_contact_inelastic_condition(arg0: dolfinx::fem::FunctionSpace, arg1: dolfinx::mesh::MeshTags, arg2: int, arg3: int, arg4: float, /) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_contact_inelastic_condition(arg0: dolfinx::fem::FunctionSpace, arg1: dolfinx::mesh::MeshTags, arg2: int, arg3: int, arg4: float, /) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, dolfinx.cpp.mesh.MeshTags_int32, int, int, float ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:461: TypeError ---------------------------- Captured stdout setup ----------------------------- Info : Clearing all models and views... Info : Done clearing all models and views ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. _________________________ test_cube_contact[False-C++] _________________________ generate_hex_boxes = (, ) nonslip = False get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("nonslip", [True, False]) def test_cube_contact(generate_hex_boxes, nonslip, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers comm = MPI.COMM_WORLD root = 0 # Generate mesh mesh_data = generate_hex_boxes mesh, mt = mesh_data fdim = mesh.topology.dim - 1 # Create functionspaces V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) # Helper for orienting traction # Bottom boundary is fixed in all directions u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bottom_dofs = fem.locate_dofs_topological(V, fdim, mt.find(5)) bc_bottom = fem.dirichletbc(u_bc, bottom_dofs) g_vec = [0, 0, -4.25e-1] if not nonslip: # Helper for orienting traction r_matrix = dolfinx_mpc.utils.rotation_matrix([1 / np.sqrt(2), 1 / np.sqrt(2), 0], -theta) # Top boundary has a given deformation normal to the interface g_vec = np.dot(r_matrix, [0, 0, -4.25e-1]) # Top boundary has a given deformation normal to the interface def top_v(x): values = np.empty((3, x.shape[1])) values[0] = g_vec[0] values[1] = g_vec[1] values[2] = g_vec[2] return values u_top = fem.Function(V) u_top.interpolate(top_v) top_dofs = fem.locate_dofs_topological(V, fdim, mt.find(3)) bc_top = fem.dirichletbc(u_top, top_dofs) bcs = [bc_bottom, bc_top] # Elasticity parameters E = 1.0e3 nu = 0 mu = fem.Constant(mesh, default_scalar_type(E / (2.0 * (1.0 + nu)))) lmbda = fem.Constant(mesh, default_scalar_type(E * nu / ((1.0 + nu) * (1.0 - 2.0 * nu)))) # Stress computation def sigma(v): return 2.0 * mu * ufl.sym(ufl.grad(v)) + lmbda * ufl.tr(ufl.sym(ufl.grad(v))) * ufl.Identity(len(v)) # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(sigma(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(fem.Constant(mesh, default_scalar_type((0, 0, 0))), v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Create LU solver solver = PETSc.KSP().create(comm) solver.setType("preonly") solver.setTolerances(rtol=1.0e-14) solver.getPC().setType("lu") # Create MPC contact condition and assemble matrices mpc = dolfinx_mpc.MultiPointConstraint(V) if nonslip: with Timer("~Contact: Create non-elastic constraint"): mpc.create_contact_inelastic_condition(mt, 4, 9, eps2=500 * np.finfo(default_scalar_type).resolution) else: with Timer("~Contact: Create contact constraint"): > nh = dolfinx_mpc.utils.create_normal_approximation(V, mt, 4) test_cube_contact.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ V = FunctionSpace(Mesh(blocked element (Basix element (P, hexahedron, 1, equispaced, unset, False, float64, []), (3,)), 1), blocked element (Basix element (P, hexahedron, 1, gll_warped, unset, False, float64, []), (3,))) mt = , value = 4 def create_normal_approximation(V: _fem.FunctionSpace, mt: _cpp.mesh.MeshTags_int32, value: int): """ Creates a normal approximation for the dofs in the closure of the attached entities. Where a dof is attached to entities facets, an average is computed Args: V: The function space mt: The meshtag containing the indices value: Value for the entities in the mesh tag to compute normal on Returns: nh: The normal vector """ nh = _fem.Function(V) > n_cpp = dolfinx_mpc.cpp.mpc.create_normal_approximation(V._cpp_object, mt.dim, mt.find(value)) E TypeError: create_normal_approximation(): incompatible function arguments. The following argument types are supported: E 1. create_normal_approximation(arg0: dolfinx::fem::FunctionSpace, arg1: int, arg2: ndarray[dtype=int32, shape=(*), order='C'], /) -> dolfinx::fem::Function E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, int, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/utils/mpc_utils.py:438: TypeError ---------------------------- Captured stdout setup ----------------------------- Info : Clearing all models and views... Info : Done clearing all models and views ____________________________ test_cell_domains[C++] ____________________________ get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) def test_cell_domains(get_assemblers): # noqa: F811 """ Periodic MPC conditions over integral with different cell subdomains """ assemble_matrix, assemble_vector = get_assemblers N = 5 # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 15, N) V = fem.functionspace(mesh, ("Lagrange", 1)) def left_side(x): return x[0] < 0.5 tdim = mesh.topology.dim num_cells = mesh.topology.index_map(tdim).size_local cells = np.arange(num_cells, dtype=np.int32) mesh.topology.create_connectivity(tdim, tdim) cell_midpoints = compute_midpoints(mesh, tdim, cells) values = np.ones_like(cells) # All cells on right side marked one, all other with 1 values += left_side(cell_midpoints.T) ct = meshtags(mesh, mesh.topology.dim, cells, values) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) c1 = fem.Constant(mesh, default_scalar_type(2)) c2 = fem.Constant(mesh, default_scalar_type(10)) dx = ufl.Measure("dx", domain=mesh, subdomain_data=ct) a = ( c1 * ufl.inner(ufl.grad(u), ufl.grad(v)) * dx(1) + c2 * ufl.inner(ufl.grad(u), ufl.grad(v)) * dx(2) + 0.87 * ufl.inner(u, v) * dx(1) ) rhs = ufl.inner(x[1], v) * dx(1) + ufl.inner(fem.Constant(mesh, default_scalar_type(1)), v) * dx(2) bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Generate reference matrices A_org = fem.petsc.assemble_matrix(bilinear_form) A_org.assemble() L_org = fem.petsc.assemble_vector(linear_form) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {} for i in range(0, N + 1): s_m_c[l2b([1, i / N])] = {l2b([0, i / N]): 1} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_integration_domains.py:80: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ______________________________ test_lifting[C++] _______________________________ get_assemblers = (, ) @pytest.mark.skipif(MPI.COMM_WORLD.size > 1, reason="This test should only be run in serial.") @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) def test_lifting(get_assemblers): # noqa: F811 """ Test MPC lifting operation on a single cell """ assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 1, CellType.quadrilateral) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = x[1] * ufl.sin(2 * ufl.pi * x[0]) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Create Dirichlet boundary condition u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(2.3) u_bc.x.petsc_vec.destroy() def dirichletboundary(x): return np.isclose(x[0], 1) mesh.topology.create_connectivity(2, 1) geometrical_dofs = fem.locate_dofs_geometrical(V, dirichletboundary) bc = fem.dirichletbc(u_bc, geometrical_dofs) bcs = [bc] # Generate reference matrices A_org = fem.petsc.assemble_matrix(bilinear_form, bcs=bcs) A_org.assemble() L_org = fem.petsc.assemble_vector(linear_form) fem.petsc.apply_lifting(L_org, [bilinear_form], [bcs]) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) fem.petsc.set_bc(L_org, bcs) # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([0, 0]): {l2b([0, 1]): 1}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_lifting.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. _____________________________ test_pipeline[True] ______________________________ u_from_mpc = True @pytest.mark.parametrize("u_from_mpc", [True, False]) def test_pipeline(u_from_mpc): # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 5) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) d = fem.Constant(mesh, default_scalar_type(0.08)) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx - d * ufl.inner(u, v) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Generate reference matrices A_org = fem.petsc.assemble_matrix(bilinear_form) A_org.assemble() L_org = fem.petsc.assemble_vector(linear_form) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) # Create multipoint constraint def periodic_relation(x): out_x = np.copy(x) out_x[0] = 1 - x[0] return out_x def PeriodicBoundary(x): return np.isclose(x[0], 1) facets = locate_entities_boundary(mesh, mesh.topology.dim - 1, PeriodicBoundary) arg_sort = np.argsort(facets) mt = meshtags(mesh, mesh.topology.dim - 1, facets[arg_sort], np.full(len(facets), 2, dtype=np.int32)) mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_topological(V, mt, 2, periodic_relation, [], 1.0) test_linear_problem.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 4), Basix element (P, triangle, 1, gll_warped, unset, False, float64, [])) meshtag = , tag = 2 relation = .periodic_relation at 0xffff8ee41da0> bcs = [], scale = 1.0 def create_periodic_constraint_topological( self, V: _fem.FunctionSpace, meshtag: _mesh.MeshTags, tag: int, relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create periodic condition for all closure dofs of on all entities in `meshtag` with value `tag`. :math:`u(x_i) = scale * u(relation(x_i))` for all of :math:`x_i` on marked entities. Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. meshtag: MeshTag for entity to apply the periodic condition on tag: Tag indicating which entities should be slaves relation: Lambda-function describing the geometrical relation bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ bcs_ = [bc._cpp_object for bc in bcs] if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_topological( self.V._cpp_object, meshtag._cpp_object, tag, relation, bcs_, scale, False E TypeError: create_periodic_constraint_topological(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, dolfinx.cpp.mesh.MeshTags_int32, int, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:250: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. _____________________________ test_pipeline[False] _____________________________ u_from_mpc = False @pytest.mark.parametrize("u_from_mpc", [True, False]) def test_pipeline(u_from_mpc): # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 5) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) d = fem.Constant(mesh, default_scalar_type(0.08)) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx - d * ufl.inner(u, v) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Generate reference matrices A_org = fem.petsc.assemble_matrix(bilinear_form) A_org.assemble() L_org = fem.petsc.assemble_vector(linear_form) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) # Create multipoint constraint def periodic_relation(x): out_x = np.copy(x) out_x[0] = 1 - x[0] return out_x def PeriodicBoundary(x): return np.isclose(x[0], 1) facets = locate_entities_boundary(mesh, mesh.topology.dim - 1, PeriodicBoundary) arg_sort = np.argsort(facets) mt = meshtags(mesh, mesh.topology.dim - 1, facets[arg_sort], np.full(len(facets), 2, dtype=np.int32)) mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_topological(V, mt, 2, periodic_relation, [], 1.0) test_linear_problem.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 5), Basix element (P, triangle, 1, gll_warped, unset, False, float64, [])) meshtag = , tag = 2 relation = .periodic_relation at 0xffff8ee43f60> bcs = [], scale = 1.0 def create_periodic_constraint_topological( self, V: _fem.FunctionSpace, meshtag: _mesh.MeshTags, tag: int, relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create periodic condition for all closure dofs of on all entities in `meshtag` with value `tag`. :math:`u(x_i) = scale * u(relation(x_i))` for all of :math:`x_i` on marked entities. Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. meshtag: MeshTag for entity to apply the periodic condition on tag: Tag indicating which entities should be slaves relation: Lambda-function describing the geometrical relation bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ bcs_ = [bc._cpp_object for bc in bcs] if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_topological( self.V._cpp_object, meshtag._cpp_object, tag, relation, bcs_, scale, False E TypeError: create_periodic_constraint_topological(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace, meshtags: dolfinx::mesh::MeshTags, dim: int, relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, dolfinx.cpp.mesh.MeshTags_int32, int, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:250: TypeError ________ test_mpc_assembly[CellType.quadrilateral-1-master_point0-C++] _________ master_point = [1, 1], degree = 1, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_mpc_assembly[CellType.quadrilateral-1-master_point1-C++] _________ master_point = [0, 1], degree = 1, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_mpc_assembly[CellType.quadrilateral-2-master_point0-C++] _________ master_point = [1, 1], degree = 2, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ________ test_mpc_assembly[CellType.quadrilateral-2-master_point1-C++] _________ master_point = [0, 1], degree = 2, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_mpc_assembly[CellType.quadrilateral-3-master_point0-C++] _________ master_point = [1, 1], degree = 3, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ________ test_mpc_assembly[CellType.quadrilateral-3-master_point1-C++] _________ master_point = [0, 1], degree = 3, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-1-master_point0-C++] ___________ master_point = [1, 1], degree = 1, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ___________ test_mpc_assembly[CellType.triangle-1-master_point1-C++] ___________ master_point = [0, 1], degree = 1, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-2-master_point0-C++] ___________ master_point = [1, 1], degree = 2, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ___________ test_mpc_assembly[CellType.triangle-2-master_point1-C++] ___________ master_point = [0, 1], degree = 2, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-3-master_point0-C++] ___________ master_point = [1, 1], degree = 3, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ___________ test_mpc_assembly[CellType.triangle-3-master_point1-C++] ___________ master_point = [0, 1], degree = 3, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 5, 3, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Test against generated code and general assembler u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx bilinear_form = fem.form(a) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_slave_on_same_cell[CellType.triangle-1-master_point0-C++] ________ master_point = [1, 1], degree = 1, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_slave_on_same_cell[CellType.triangle-1-master_point1-C++] ________ master_point = [0, 1], degree = 1, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_slave_on_same_cell[CellType.triangle-2-master_point0-C++] ________ master_point = [1, 1], degree = 2, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_slave_on_same_cell[CellType.triangle-2-master_point1-C++] ________ master_point = [0, 1], degree = 2, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_slave_on_same_cell[CellType.triangle-3-master_point0-C++] ________ master_point = [1, 1], degree = 3, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_slave_on_same_cell[CellType.triangle-3-master_point1-C++] ________ master_point = [0, 1], degree = 3, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _____ test_slave_on_same_cell[CellType.quadrilateral-1-master_point0-C++] ______ master_point = [1, 1], degree = 1, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _____ test_slave_on_same_cell[CellType.quadrilateral-1-master_point1-C++] ______ master_point = [0, 1], degree = 1, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _____ test_slave_on_same_cell[CellType.quadrilateral-2-master_point0-C++] ______ master_point = [1, 1], degree = 2, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _____ test_slave_on_same_cell[CellType.quadrilateral-2-master_point1-C++] ______ master_point = [0, 1], degree = 2, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _____ test_slave_on_same_cell[CellType.quadrilateral-3-master_point0-C++] ______ master_point = [1, 1], degree = 3, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _____ test_slave_on_same_cell[CellType.quadrilateral-3-master_point1-C++] ______ master_point = [0, 1], degree = 3, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.triangle, CellType.quadrilateral]) def test_slave_on_same_cell(master_point, degree, celltype, get_assemblers): # noqa: F811 assemble_matrix, _ = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 1, 8, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Build master slave map s_m_c = { np.array([1, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array([0, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.43, np.array([1, 1], dtype=mesh.geometry.x.dtype).tobytes(): 0.11, }, np.array([0, 0], dtype=mesh.geometry.x.dtype).tobytes(): { np.array(master_point, dtype=mesh.geometry.x.dtype).tobytes(): 0.69 }, } with Timer("~TEST: MPC INIT"): mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_matrix_assembly.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_pipeline[master_point0-C++] _______________________ master_point = [1, 1] get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) def test_pipeline(master_point, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) d = fem.Constant(mesh, default_scalar_type(1.5)) c = fem.Constant(mesh, default_scalar_type(2)) x = ufl.SpatialCoordinate(mesh) f = c * ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) g = fem.Function(V) g.interpolate(lambda x: np.sin(x[0]) * x[1]) h = fem.Function(V) h.interpolate(lambda x: 2 + x[1] * x[0]) a = d * g * ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = h * ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Generate reference matrices A_org = fem.petsc.assemble_matrix(bilinear_form) A_org.assemble() L_org = fem.petsc.assemble_vector(linear_form) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_mpc_pipeline.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. _______________________ test_pipeline[master_point1-C++] _______________________ master_point = [0, 1] get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) def test_pipeline(master_point, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) d = fem.Constant(mesh, default_scalar_type(1.5)) c = fem.Constant(mesh, default_scalar_type(2)) x = ufl.SpatialCoordinate(mesh) f = c * ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) g = fem.Function(V) g.interpolate(lambda x: np.sin(x[0]) * x[1]) h = fem.Function(V) h.interpolate(lambda x: 2 + x[1] * x[0]) a = d * g * ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = h * ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Generate reference matrices A_org = fem.petsc.assemble_matrix(bilinear_form) A_org.assemble() L_org = fem.petsc.assemble_vector(linear_form) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_mpc_pipeline.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ______________________ test_linearproblem[master_point0] _______________________ master_point = [1, 1] @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) def test_linearproblem(master_point): # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) d = fem.Constant(mesh, default_scalar_type(1.5)) c = fem.Constant(mesh, default_scalar_type(2)) x = ufl.SpatialCoordinate(mesh) f = c * ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) g = fem.Function(V) g.interpolate(lambda x: np.sin(x[0]) * x[1]) h = fem.Function(V) h.interpolate(lambda x: 2 + x[1] * x[0]) a = d * g * ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = h * ufl.inner(f, v) * ufl.dx # Generate reference matrices A_org = fem.petsc.assemble_matrix(fem.form(a)) A_org.assemble() L_org = fem.petsc.assemble_vector(fem.form(rhs)) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_mpc_pipeline.py:153: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ______________________ test_linearproblem[master_point1] _______________________ master_point = [0, 1] @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) def test_linearproblem(master_point): # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5) V = fem.functionspace(mesh, ("Lagrange", 1)) # Solve Problem without MPC for reference u = ufl.TrialFunction(V) v = ufl.TestFunction(V) d = fem.Constant(mesh, default_scalar_type(1.5)) c = fem.Constant(mesh, default_scalar_type(2)) x = ufl.SpatialCoordinate(mesh) f = c * ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) g = fem.Function(V) g.interpolate(lambda x: np.sin(x[0]) * x[1]) h = fem.Function(V) h.interpolate(lambda x: 2 + x[1] * x[0]) a = d * g * ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = h * ufl.inner(f, v) * ufl.dx # Generate reference matrices A_org = fem.petsc.assemble_matrix(fem.form(a)) A_org.assemble() L_org = fem.petsc.assemble_vector(fem.form(rhs)) L_org.ghostUpdate(addv=PETSc.InsertMode.ADD_VALUES, mode=PETSc.ScatterMode.REVERSE) # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_mpc_pipeline.py:153: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError __________________________ test_nonlinear_poisson[1] ___________________________ poly_order = 1 @pytest.mark.skipif( np.issubdtype(dolfinx.default_scalar_type, np.complexfloating), reason="This test does not work in complex mode.", ) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_nonlinear_poisson(poly_order): # Solve a standard Poisson problem with known solution which has # rotational symmetry of pi/2 at (x, y) = (0.5, 0.5). Therefore we may # impose MPCs on those DoFs which lie on the symmetry plane(s) and test # our numerical approximation. We do not impose any constraints at the # rotationally degenerate point (x, y) = (0.5, 0.5). N_vals = np.array([4, 8, 16], dtype=np.int32) l2_error = np.zeros_like(N_vals, dtype=np.double) for run_no, N in enumerate(N_vals): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N) V = dolfinx.fem.functionspace(mesh, ("Lagrange", poly_order)) u_bc = dolfinx.fem.Function(V) u_bc.x.array[:] = 0.0 mesh.topology.create_connectivity(mesh.topology.dim - 1, mesh.topology.dim) facets = dolfinx.mesh.exterior_facet_indices(mesh.topology) topological_dofs = dolfinx.fem.locate_dofs_topological(V, 1, facets) zero = np.array(0, dtype=dolfinx.default_scalar_type) bc = dolfinx.fem.dirichletbc(zero, topological_dofs, V) bcs = [bc] # Define variational problem u = dolfinx.fem.Function(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) u_soln = ufl.sin(ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) f = -ufl.div((1 + u_soln**2) * ufl.grad(u_soln)) F = ufl.inner((1 + u**2) * ufl.grad(u), ufl.grad(v)) * ufl.dx - ufl.inner(f, v) * ufl.dx J = ufl.derivative(F, u) # -- Impose the pi/2 rotational symmetry of the solution as a constraint, # -- except at the centre DoF def periodic_boundary(x): eps = 1000 * np.finfo(x.dtype).resolution return np.isclose(x[0], 0.5, atol=eps) & ((x[1] < 0.5 - eps) | (x[1] > 0.5 + eps)) def periodic_relation(x): out_x = np.zeros_like(x) out_x[0] = x[1] out_x[1] = x[0] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, bcs) test_nonlinear_assembly.py:160: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 34), Basix element (P, triangle, 1, gll_warped, unset, False, float64, [])) indicator = .periodic_boundary at 0xffff8ef10fe0> relation = .periodic_relation at 0xffff8ef13880> bcs = [] scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError __________________________ test_nonlinear_poisson[2] ___________________________ poly_order = 2 @pytest.mark.skipif( np.issubdtype(dolfinx.default_scalar_type, np.complexfloating), reason="This test does not work in complex mode.", ) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_nonlinear_poisson(poly_order): # Solve a standard Poisson problem with known solution which has # rotational symmetry of pi/2 at (x, y) = (0.5, 0.5). Therefore we may # impose MPCs on those DoFs which lie on the symmetry plane(s) and test # our numerical approximation. We do not impose any constraints at the # rotationally degenerate point (x, y) = (0.5, 0.5). N_vals = np.array([4, 8, 16], dtype=np.int32) l2_error = np.zeros_like(N_vals, dtype=np.double) for run_no, N in enumerate(N_vals): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N) V = dolfinx.fem.functionspace(mesh, ("Lagrange", poly_order)) u_bc = dolfinx.fem.Function(V) u_bc.x.array[:] = 0.0 mesh.topology.create_connectivity(mesh.topology.dim - 1, mesh.topology.dim) facets = dolfinx.mesh.exterior_facet_indices(mesh.topology) topological_dofs = dolfinx.fem.locate_dofs_topological(V, 1, facets) zero = np.array(0, dtype=dolfinx.default_scalar_type) bc = dolfinx.fem.dirichletbc(zero, topological_dofs, V) bcs = [bc] # Define variational problem u = dolfinx.fem.Function(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) u_soln = ufl.sin(ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) f = -ufl.div((1 + u_soln**2) * ufl.grad(u_soln)) F = ufl.inner((1 + u**2) * ufl.grad(u), ufl.grad(v)) * ufl.dx - ufl.inner(f, v) * ufl.dx J = ufl.derivative(F, u) # -- Impose the pi/2 rotational symmetry of the solution as a constraint, # -- except at the centre DoF def periodic_boundary(x): eps = 1000 * np.finfo(x.dtype).resolution return np.isclose(x[0], 0.5, atol=eps) & ((x[1] < 0.5 - eps) | (x[1] > 0.5 + eps)) def periodic_relation(x): out_x = np.zeros_like(x) out_x[0] = x[1] out_x[1] = x[0] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, bcs) test_nonlinear_assembly.py:160: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 35), Basix element (P, triangle, 2, gll_warped, unset, False, float64, [])) indicator = .periodic_boundary at 0xffff8ed99c60> relation = .periodic_relation at 0xffff8ed994e0> bcs = [] scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError __________________________ test_nonlinear_poisson[3] ___________________________ poly_order = 3 @pytest.mark.skipif( np.issubdtype(dolfinx.default_scalar_type, np.complexfloating), reason="This test does not work in complex mode.", ) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_nonlinear_poisson(poly_order): # Solve a standard Poisson problem with known solution which has # rotational symmetry of pi/2 at (x, y) = (0.5, 0.5). Therefore we may # impose MPCs on those DoFs which lie on the symmetry plane(s) and test # our numerical approximation. We do not impose any constraints at the # rotationally degenerate point (x, y) = (0.5, 0.5). N_vals = np.array([4, 8, 16], dtype=np.int32) l2_error = np.zeros_like(N_vals, dtype=np.double) for run_no, N in enumerate(N_vals): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N) V = dolfinx.fem.functionspace(mesh, ("Lagrange", poly_order)) u_bc = dolfinx.fem.Function(V) u_bc.x.array[:] = 0.0 mesh.topology.create_connectivity(mesh.topology.dim - 1, mesh.topology.dim) facets = dolfinx.mesh.exterior_facet_indices(mesh.topology) topological_dofs = dolfinx.fem.locate_dofs_topological(V, 1, facets) zero = np.array(0, dtype=dolfinx.default_scalar_type) bc = dolfinx.fem.dirichletbc(zero, topological_dofs, V) bcs = [bc] # Define variational problem u = dolfinx.fem.Function(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) u_soln = ufl.sin(ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) f = -ufl.div((1 + u_soln**2) * ufl.grad(u_soln)) F = ufl.inner((1 + u**2) * ufl.grad(u), ufl.grad(v)) * ufl.dx - ufl.inner(f, v) * ufl.dx J = ufl.derivative(F, u) # -- Impose the pi/2 rotational symmetry of the solution as a constraint, # -- except at the centre DoF def periodic_boundary(x): eps = 1000 * np.finfo(x.dtype).resolution return np.isclose(x[0], 0.5, atol=eps) & ((x[1] < 0.5 - eps) | (x[1] > 0.5 + eps)) def periodic_relation(x): out_x = np.zeros_like(x) out_x[0] = x[1] out_x[1] = x[0] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, bcs) test_nonlinear_assembly.py:160: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 36), Basix element (P, triangle, 3, gll_warped, unset, False, float64, [])) indicator = .periodic_boundary at 0xffff8ed991c0> relation = .periodic_relation at 0xffff8ed99580> bcs = [] scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[1-0] _____________________________ tensor_order = 0, poly_order = 1 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 37), Basix element (P, triangle, 1, gll_warped, unset, False, float64, [])) indicator = .periodic_boundary at 0xffff8ed9a160> relation = .periodic_relation at 0xffff8ed99f80> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[1-1] _____________________________ tensor_order = 1, poly_order = 1 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 38), blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,))) indicator = .periodic_boundary at 0xffff8fdba840> relation = .periodic_relation at 0xffff8ef11b20> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[1-2] _____________________________ tensor_order = 2, poly_order = 1 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 39), blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2, 2))) indicator = .periodic_boundary at 0xffff8ef10ae0> relation = .periodic_relation at 0xffff8ef10b80> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[2-0] _____________________________ tensor_order = 0, poly_order = 2 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 40), Basix element (P, triangle, 2, gll_warped, unset, False, float64, [])) indicator = .periodic_boundary at 0xffff8ed9a840> relation = .periodic_relation at 0xffff8ed9a340> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[2-1] _____________________________ tensor_order = 1, poly_order = 2 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 41), blocked element (Basix element (P, triangle, 2, gll_warped, unset, False, float64, []), (2,))) indicator = .periodic_boundary at 0xffff8ed9a700> relation = .periodic_relation at 0xffff8ed9a660> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[2-2] _____________________________ tensor_order = 2, poly_order = 2 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 42), blocked element (Basix element (P, triangle, 2, gll_warped, unset, False, float64, []), (2, 2))) indicator = .periodic_boundary at 0xffff8ed9b2e0> relation = .periodic_relation at 0xffff8ed9b240> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[3-0] _____________________________ tensor_order = 0, poly_order = 3 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 43), Basix element (P, triangle, 3, gll_warped, unset, False, float64, [])) indicator = .periodic_boundary at 0xffff8ed9b880> relation = .periodic_relation at 0xffff8ed98e00> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[3-1] _____________________________ tensor_order = 1, poly_order = 3 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 44), blocked element (Basix element (P, triangle, 3, gll_warped, unset, False, float64, []), (2,))) indicator = .periodic_boundary at 0xffff8ed99620> relation = .periodic_relation at 0xffff8ed996c0> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________________________ test_homogenize[3-2] _____________________________ tensor_order = 2, poly_order = 3 @pytest.mark.parametrize("tensor_order", [0, 1, 2]) @pytest.mark.parametrize("poly_order", [1, 2, 3]) def test_homogenize(tensor_order, poly_order): mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 8, 8) if tensor_order == 0: shape = () elif tensor_order == 1: shape = (mesh.geometry.dim,) elif tensor_order == 2: shape = (mesh.geometry.dim, mesh.geometry.dim) else: pytest.xfail("Unknown tensor order") cellname = mesh.ufl_cell().cellname() el = basix.ufl.element(basix.ElementFamily.P, cellname, poly_order, shape=shape, dtype=mesh.geometry.x.dtype) V = dolfinx.fem.functionspace(mesh, el) def periodic_boundary(x): return np.isclose(x[0], 0.0) def periodic_relation(x): out_x = np.zeros(x.shape) out_x[0] = 1.0 - x[0] out_x[1] = x[1] out_x[2] = x[2] return out_x mpc = dolfinx_mpc.MultiPointConstraint(V) > mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, []) test_nonlinear_assembly.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 45), blocked element (Basix element (P, triangle, 3, gll_warped, unset, False, float64, []), (2, 2))) indicator = .periodic_boundary at 0xffff8ed9bba0> relation = .periodic_relation at 0xffff8ed9bb00> bcs = [], scale = 1.0 def create_periodic_constraint_geometrical( self, V: _fem.FunctionSpace, indicator: Callable[[numpy.ndarray], numpy.ndarray], relation: Callable[[numpy.ndarray], numpy.ndarray], bcs: List[_fem.DirichletBC], scale: _float_classes = default_scalar_type(1.0), ): """ Create a periodic condition for all degrees of freedom whose physical location satisfies :math:`indicator(x_i)==True`, i.e. :math:`u(x_i) = scale * u(relation(x_i))` for all :math:`x_i` Args: V: The function space to assign the condition to. Should either be the space of the MPC or a sub space. indicator: Lambda-function to locate degrees of freedom that should be slaves relation: Lambda-function describing the geometrical relation to master dofs bcs: Dirichlet boundary conditions for the problem (Periodic constraints will be ignored for these dofs) scale: Float for scaling bc """ if isinstance(scale, numpy.generic): # nanobind conversion of numpy dtypes to general Python types scale = scale.item() # type: ignore bcs = [] if bcs is None else [bc._cpp_object for bc in bcs] if V is self.V: > mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical( self.V._cpp_object, indicator, relation, bcs, scale, False E TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported: E 1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float E 2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float32, shape=(*, *), writable=False]], numpy.ndarray[dtype=float32, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float E 3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double E 4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace, indicator: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], ndarray[dtype=bool, shape=(*), order='C']], relation: collections.abc.Callable[[numpy.ndarray[dtype=float64, shape=(*, *), writable=False]], numpy.ndarray[dtype=float64, shape=(*, *)]], bcs: collections.abc.Sequence[dolfinx::fem::DirichletBC, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:286: TypeError _____________ test_mixed_element[GhostMode.none-CellType.triangle] _____________ cell_type = CellType.triangle, ghost_mode = GhostMode.none @pytest.mark.parametrize("cell_type", (dolfinx.cpp.mesh.CellType.triangle, dolfinx.cpp.mesh.CellType.quadrilateral)) @pytest.mark.parametrize("ghost_mode", (dolfinx.cpp.mesh.GhostMode.none, dolfinx.cpp.mesh.GhostMode.shared_facet)) def test_mixed_element(cell_type, ghost_mode): N = 4 mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N, cell_type=cell_type, ghost_mode=ghost_mode) # Inlet velocity Dirichlet BC bc_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 0.0, atol=500 * np.finfo(x.dtype).resolution), ) other_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 1.0, atol=500 * np.finfo(x.dtype).resolution), ) arg_sort = np.argsort(other_facets) mt = dolfinx.mesh.meshtags(mesh, mesh.topology.dim - 1, other_facets[arg_sort], np.full_like(other_facets, 1)) # Rotate the mesh to induce more interesting slip BCs th = np.pi / 4.0 rot = np.array([[np.cos(th), -np.sin(th)], [np.sin(th), np.cos(th)]]) gdim = mesh.geometry.dim mesh.geometry.x[:, :gdim] = (rot @ mesh.geometry.x[:, :gdim].T).T # Create the function space cellname = mesh.ufl_cell().cellname() Ve = basix.ufl.element( basix.ElementFamily.P, cellname, 2, shape=(mesh.geometry.dim,), dtype=dolfinx.default_real_type ) Qe = basix.ufl.element(basix.ElementFamily.P, cellname, 1, dtype=dolfinx.default_real_type) V = dolfinx.fem.functionspace(mesh, Ve) Q = dolfinx.fem.functionspace(mesh, Qe) W = dolfinx.fem.functionspace(mesh, basix.ufl.mixed_element([Ve, Qe])) inlet_velocity = dolfinx.fem.Function(V) inlet_velocity.interpolate( lambda x: np.zeros((mesh.geometry.dim, x[0].shape[0]), dtype=dolfinx.default_scalar_type) ) inlet_velocity.x.scatter_forward() # -- Nested assembly dofs = dolfinx.fem.locate_dofs_topological(V, 1, bc_facets) bc1 = dolfinx.fem.dirichletbc(inlet_velocity, dofs) # Collect Dirichlet boundary conditions bcs = [bc1] mpc_v = dolfinx_mpc.MultiPointConstraint(V) > n_approx = dolfinx_mpc.utils.create_normal_approximation(V, mt, 1) test_rectangular_assembly.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 46), blocked element (Basix element (P, triangle, 2, gll_warped, unset, False, float64, []), (2,))) mt = , value = 1 def create_normal_approximation(V: _fem.FunctionSpace, mt: _cpp.mesh.MeshTags_int32, value: int): """ Creates a normal approximation for the dofs in the closure of the attached entities. Where a dof is attached to entities facets, an average is computed Args: V: The function space mt: The meshtag containing the indices value: Value for the entities in the mesh tag to compute normal on Returns: nh: The normal vector """ nh = _fem.Function(V) > n_cpp = dolfinx_mpc.cpp.mpc.create_normal_approximation(V._cpp_object, mt.dim, mt.find(value)) E TypeError: create_normal_approximation(): incompatible function arguments. The following argument types are supported: E 1. create_normal_approximation(arg0: dolfinx::fem::FunctionSpace, arg1: int, arg2: ndarray[dtype=int32, shape=(*), order='C'], /) -> dolfinx::fem::Function E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, int, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/utils/mpc_utils.py:438: TypeError __________ test_mixed_element[GhostMode.none-CellType.quadrilateral] ___________ cell_type = CellType.quadrilateral, ghost_mode = GhostMode.none @pytest.mark.parametrize("cell_type", (dolfinx.cpp.mesh.CellType.triangle, dolfinx.cpp.mesh.CellType.quadrilateral)) @pytest.mark.parametrize("ghost_mode", (dolfinx.cpp.mesh.GhostMode.none, dolfinx.cpp.mesh.GhostMode.shared_facet)) def test_mixed_element(cell_type, ghost_mode): N = 4 mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N, cell_type=cell_type, ghost_mode=ghost_mode) # Inlet velocity Dirichlet BC bc_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 0.0, atol=500 * np.finfo(x.dtype).resolution), ) other_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 1.0, atol=500 * np.finfo(x.dtype).resolution), ) arg_sort = np.argsort(other_facets) mt = dolfinx.mesh.meshtags(mesh, mesh.topology.dim - 1, other_facets[arg_sort], np.full_like(other_facets, 1)) # Rotate the mesh to induce more interesting slip BCs th = np.pi / 4.0 rot = np.array([[np.cos(th), -np.sin(th)], [np.sin(th), np.cos(th)]]) gdim = mesh.geometry.dim mesh.geometry.x[:, :gdim] = (rot @ mesh.geometry.x[:, :gdim].T).T # Create the function space cellname = mesh.ufl_cell().cellname() Ve = basix.ufl.element( basix.ElementFamily.P, cellname, 2, shape=(mesh.geometry.dim,), dtype=dolfinx.default_real_type ) Qe = basix.ufl.element(basix.ElementFamily.P, cellname, 1, dtype=dolfinx.default_real_type) V = dolfinx.fem.functionspace(mesh, Ve) Q = dolfinx.fem.functionspace(mesh, Qe) W = dolfinx.fem.functionspace(mesh, basix.ufl.mixed_element([Ve, Qe])) inlet_velocity = dolfinx.fem.Function(V) inlet_velocity.interpolate( lambda x: np.zeros((mesh.geometry.dim, x[0].shape[0]), dtype=dolfinx.default_scalar_type) ) inlet_velocity.x.scatter_forward() # -- Nested assembly dofs = dolfinx.fem.locate_dofs_topological(V, 1, bc_facets) bc1 = dolfinx.fem.dirichletbc(inlet_velocity, dofs) # Collect Dirichlet boundary conditions bcs = [bc1] mpc_v = dolfinx_mpc.MultiPointConstraint(V) > n_approx = dolfinx_mpc.utils.create_normal_approximation(V, mt, 1) test_rectangular_assembly.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ V = FunctionSpace(Mesh(blocked element (Basix element (P, quadrilateral, 1, gll_warped, unset, False, float64, []), (2,)), 47), blocked element (Basix element (P, quadrilateral, 2, gll_warped, unset, False, float64, []), (2,))) mt = , value = 1 def create_normal_approximation(V: _fem.FunctionSpace, mt: _cpp.mesh.MeshTags_int32, value: int): """ Creates a normal approximation for the dofs in the closure of the attached entities. Where a dof is attached to entities facets, an average is computed Args: V: The function space mt: The meshtag containing the indices value: Value for the entities in the mesh tag to compute normal on Returns: nh: The normal vector """ nh = _fem.Function(V) > n_cpp = dolfinx_mpc.cpp.mpc.create_normal_approximation(V._cpp_object, mt.dim, mt.find(value)) E TypeError: create_normal_approximation(): incompatible function arguments. The following argument types are supported: E 1. create_normal_approximation(arg0: dolfinx::fem::FunctionSpace, arg1: int, arg2: ndarray[dtype=int32, shape=(*), order='C'], /) -> dolfinx::fem::Function E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, int, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/utils/mpc_utils.py:438: TypeError _________ test_mixed_element[GhostMode.shared_facet-CellType.triangle] _________ cell_type = CellType.triangle, ghost_mode = GhostMode.shared_facet @pytest.mark.parametrize("cell_type", (dolfinx.cpp.mesh.CellType.triangle, dolfinx.cpp.mesh.CellType.quadrilateral)) @pytest.mark.parametrize("ghost_mode", (dolfinx.cpp.mesh.GhostMode.none, dolfinx.cpp.mesh.GhostMode.shared_facet)) def test_mixed_element(cell_type, ghost_mode): N = 4 mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N, cell_type=cell_type, ghost_mode=ghost_mode) # Inlet velocity Dirichlet BC bc_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 0.0, atol=500 * np.finfo(x.dtype).resolution), ) other_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 1.0, atol=500 * np.finfo(x.dtype).resolution), ) arg_sort = np.argsort(other_facets) mt = dolfinx.mesh.meshtags(mesh, mesh.topology.dim - 1, other_facets[arg_sort], np.full_like(other_facets, 1)) # Rotate the mesh to induce more interesting slip BCs th = np.pi / 4.0 rot = np.array([[np.cos(th), -np.sin(th)], [np.sin(th), np.cos(th)]]) gdim = mesh.geometry.dim mesh.geometry.x[:, :gdim] = (rot @ mesh.geometry.x[:, :gdim].T).T # Create the function space cellname = mesh.ufl_cell().cellname() Ve = basix.ufl.element( basix.ElementFamily.P, cellname, 2, shape=(mesh.geometry.dim,), dtype=dolfinx.default_real_type ) Qe = basix.ufl.element(basix.ElementFamily.P, cellname, 1, dtype=dolfinx.default_real_type) V = dolfinx.fem.functionspace(mesh, Ve) Q = dolfinx.fem.functionspace(mesh, Qe) W = dolfinx.fem.functionspace(mesh, basix.ufl.mixed_element([Ve, Qe])) inlet_velocity = dolfinx.fem.Function(V) inlet_velocity.interpolate( lambda x: np.zeros((mesh.geometry.dim, x[0].shape[0]), dtype=dolfinx.default_scalar_type) ) inlet_velocity.x.scatter_forward() # -- Nested assembly dofs = dolfinx.fem.locate_dofs_topological(V, 1, bc_facets) bc1 = dolfinx.fem.dirichletbc(inlet_velocity, dofs) # Collect Dirichlet boundary conditions bcs = [bc1] mpc_v = dolfinx_mpc.MultiPointConstraint(V) > n_approx = dolfinx_mpc.utils.create_normal_approximation(V, mt, 1) test_rectangular_assembly.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ V = FunctionSpace(Mesh(blocked element (Basix element (P, triangle, 1, gll_warped, unset, False, float64, []), (2,)), 48), blocked element (Basix element (P, triangle, 2, gll_warped, unset, False, float64, []), (2,))) mt = , value = 1 def create_normal_approximation(V: _fem.FunctionSpace, mt: _cpp.mesh.MeshTags_int32, value: int): """ Creates a normal approximation for the dofs in the closure of the attached entities. Where a dof is attached to entities facets, an average is computed Args: V: The function space mt: The meshtag containing the indices value: Value for the entities in the mesh tag to compute normal on Returns: nh: The normal vector """ nh = _fem.Function(V) > n_cpp = dolfinx_mpc.cpp.mpc.create_normal_approximation(V._cpp_object, mt.dim, mt.find(value)) E TypeError: create_normal_approximation(): incompatible function arguments. The following argument types are supported: E 1. create_normal_approximation(arg0: dolfinx::fem::FunctionSpace, arg1: int, arg2: ndarray[dtype=int32, shape=(*), order='C'], /) -> dolfinx::fem::Function E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, int, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/utils/mpc_utils.py:438: TypeError ______ test_mixed_element[GhostMode.shared_facet-CellType.quadrilateral] _______ cell_type = CellType.quadrilateral, ghost_mode = GhostMode.shared_facet @pytest.mark.parametrize("cell_type", (dolfinx.cpp.mesh.CellType.triangle, dolfinx.cpp.mesh.CellType.quadrilateral)) @pytest.mark.parametrize("ghost_mode", (dolfinx.cpp.mesh.GhostMode.none, dolfinx.cpp.mesh.GhostMode.shared_facet)) def test_mixed_element(cell_type, ghost_mode): N = 4 mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, N, N, cell_type=cell_type, ghost_mode=ghost_mode) # Inlet velocity Dirichlet BC bc_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 0.0, atol=500 * np.finfo(x.dtype).resolution), ) other_facets = dolfinx.mesh.locate_entities_boundary( mesh, mesh.topology.dim - 1, lambda x: np.isclose(x[0], 1.0, atol=500 * np.finfo(x.dtype).resolution), ) arg_sort = np.argsort(other_facets) mt = dolfinx.mesh.meshtags(mesh, mesh.topology.dim - 1, other_facets[arg_sort], np.full_like(other_facets, 1)) # Rotate the mesh to induce more interesting slip BCs th = np.pi / 4.0 rot = np.array([[np.cos(th), -np.sin(th)], [np.sin(th), np.cos(th)]]) gdim = mesh.geometry.dim mesh.geometry.x[:, :gdim] = (rot @ mesh.geometry.x[:, :gdim].T).T # Create the function space cellname = mesh.ufl_cell().cellname() Ve = basix.ufl.element( basix.ElementFamily.P, cellname, 2, shape=(mesh.geometry.dim,), dtype=dolfinx.default_real_type ) Qe = basix.ufl.element(basix.ElementFamily.P, cellname, 1, dtype=dolfinx.default_real_type) V = dolfinx.fem.functionspace(mesh, Ve) Q = dolfinx.fem.functionspace(mesh, Qe) W = dolfinx.fem.functionspace(mesh, basix.ufl.mixed_element([Ve, Qe])) inlet_velocity = dolfinx.fem.Function(V) inlet_velocity.interpolate( lambda x: np.zeros((mesh.geometry.dim, x[0].shape[0]), dtype=dolfinx.default_scalar_type) ) inlet_velocity.x.scatter_forward() # -- Nested assembly dofs = dolfinx.fem.locate_dofs_topological(V, 1, bc_facets) bc1 = dolfinx.fem.dirichletbc(inlet_velocity, dofs) # Collect Dirichlet boundary conditions bcs = [bc1] mpc_v = dolfinx_mpc.MultiPointConstraint(V) > n_approx = dolfinx_mpc.utils.create_normal_approximation(V, mt, 1) test_rectangular_assembly.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ V = FunctionSpace(Mesh(blocked element (Basix element (P, quadrilateral, 1, gll_warped, unset, False, float64, []), (2,)), 49), blocked element (Basix element (P, quadrilateral, 2, gll_warped, unset, False, float64, []), (2,))) mt = , value = 1 def create_normal_approximation(V: _fem.FunctionSpace, mt: _cpp.mesh.MeshTags_int32, value: int): """ Creates a normal approximation for the dofs in the closure of the attached entities. Where a dof is attached to entities facets, an average is computed Args: V: The function space mt: The meshtag containing the indices value: Value for the entities in the mesh tag to compute normal on Returns: nh: The normal vector """ nh = _fem.Function(V) > n_cpp = dolfinx_mpc.cpp.mpc.create_normal_approximation(V._cpp_object, mt.dim, mt.find(value)) E TypeError: create_normal_approximation(): incompatible function arguments. The following argument types are supported: E 1. create_normal_approximation(arg0: dolfinx::fem::FunctionSpace, arg1: int, arg2: ndarray[dtype=int32, shape=(*), order='C'], /) -> dolfinx::fem::Function E E Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, int, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/utils/mpc_utils.py:438: TypeError _________________________ test_surface_integrals[C++] __________________________ get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) def test_surface_integrals(get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers N = 4 mesh = create_unit_square(MPI.COMM_WORLD, N, N) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) # Fixed Dirichlet BC on the left wall def left_wall(x): return np.isclose(x[0], 0, atol=100 * np.finfo(x.dtype).resolution) fdim = mesh.topology.dim - 1 left_facets = locate_entities_boundary(mesh, fdim, left_wall) bc_dofs = fem.locate_dofs_topological(V, 1, left_facets) u_bc = fem.Function(V) u_bc.x.array[:] = 0 bc = fem.dirichletbc(u_bc, bc_dofs) bcs = [bc] # Traction on top of domain def top(x): return np.isclose(x[1], 1, atol=100 * np.finfo(x.dtype).resolution) top_facets = locate_entities_boundary(mesh, 1, top) arg_sort = np.argsort(top_facets) mt = meshtags(mesh, fdim, top_facets[arg_sort], np.full(len(top_facets), 3, dtype=np.int32)) ds = ufl.Measure("ds", domain=mesh, subdomain_data=mt, subdomain_id=3) g = fem.Constant(mesh, default_scalar_type((0, -9.81e2))) # Elasticity parameters E = 1.0e2 nu = 0.0 mu = fem.Constant(mesh, default_scalar_type(E / (2.0 * (1.0 + nu)))) lmbda = fem.Constant(mesh, default_scalar_type(E * nu / ((1.0 + nu) * (1.0 - 2.0 * nu)))) # Stress computation def sigma(v): return 2.0 * mu * ufl.sym(ufl.grad(v)) + lmbda * ufl.tr(ufl.sym(ufl.grad(v))) * ufl.Identity(len(v)) # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(sigma(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(fem.Constant(mesh, default_scalar_type((0, 0))), v) * ufl.dx + ufl.inner(g, v) * ds bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) solver.getPC().setType(PETSc.PC.Type.LU) # Setup multipointconstraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {} for i in range(1, N): s_m_c[l2b([1, i / N])] = {l2b([1, 1]): 0.8} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, 1, 1) > mpc.finalize() test_surface_integral.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ____________________ test_surface_integral_dependency[C++] _____________________ get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) def test_surface_integral_dependency(get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers N = 10 mesh = create_unit_square(MPI.COMM_WORLD, N, N) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def top(x): return np.isclose(x[1], 1) fdim = mesh.topology.dim - 1 top_facets = locate_entities_boundary(mesh, fdim, top) indices = np.array([], dtype=np.intc) values = np.array([], dtype=np.intc) markers = {3: top_facets} for key in markers.keys(): indices = np.append(indices, markers[key]) values = np.append(values, np.full(len(markers[key]), key, dtype=np.intc)) sort = np.argsort(indices) mt = meshtags( mesh, mesh.topology.dim - 1, np.array(indices[sort], dtype=np.intc), np.array(values[sort], dtype=np.intc), ) ds = ufl.Measure("ds", domain=mesh, subdomain_data=mt) g = fem.Constant(mesh, default_scalar_type((2, 1))) h = fem.Constant(mesh, default_scalar_type((3, 2))) # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) a = ufl.inner(u, v) * ds(3) + ufl.inner(ufl.grad(u), ufl.grad(v)) * ds rhs = ufl.inner(g, v) * ds + ufl.inner(h, v) * ds(3) bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Create multipoint constraint and assemble system def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {} for i in range(1, N): s_m_c[l2b([1, i / N])] = {l2b([1, 1]): 0.3} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, 1, 1) > mpc.finalize() test_surface_integral.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ________ test_mpc_assembly[CellType.quadrilateral-1-master_point0-C++] _________ master_point = [1, 1], degree = 1, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ________ test_mpc_assembly[CellType.quadrilateral-1-master_point1-C++] _________ master_point = [0, 1], degree = 1, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_mpc_assembly[CellType.quadrilateral-2-master_point0-C++] _________ master_point = [1, 1], degree = 2, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ________ test_mpc_assembly[CellType.quadrilateral-2-master_point1-C++] _________ master_point = [0, 1], degree = 2, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ________ test_mpc_assembly[CellType.quadrilateral-3-master_point0-C++] _________ master_point = [1, 1], degree = 3, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ________ test_mpc_assembly[CellType.quadrilateral-3-master_point1-C++] _________ master_point = [0, 1], degree = 3, celltype = CellType.quadrilateral get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-1-master_point0-C++] ___________ master_point = [1, 1], degree = 1, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-1-master_point1-C++] ___________ master_point = [0, 1], degree = 1, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-2-master_point0-C++] ___________ master_point = [1, 1], degree = 2, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ___________ test_mpc_assembly[CellType.triangle-2-master_point1-C++] ___________ master_point = [0, 1], degree = 2, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ___________ test_mpc_assembly[CellType.triangle-3-master_point0-C++] ___________ master_point = [1, 1], degree = 3, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. ___________ test_mpc_assembly[CellType.triangle-3-master_point1-C++] ___________ master_point = [0, 1], degree = 3, celltype = CellType.triangle get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("master_point", [[1, 1], [0, 1]]) @pytest.mark.parametrize("degree", range(1, 4)) @pytest.mark.parametrize("celltype", [CellType.quadrilateral, CellType.triangle]) def test_mpc_assembly(master_point, degree, celltype, get_assemblers): # noqa: F811 _, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, 3, 5, celltype) V = fem.functionspace(mesh, ("Lagrange", degree)) # Generate reference vector v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.sin(2 * ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1]) rhs = ufl.inner(f, v) * ufl.dx linear_form = fem.form(rhs) def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = { l2b([1, 0]): {l2b([0, 1]): 0.43, l2b([1, 1]): 0.11}, l2b([0, 0]): {l2b(master_point): 0.69}, } mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c) > mpc.finalize() test_vector_assembly.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[0-0-2-4-C++] _______________________ Nx = 4, Ny = 2, slave_space = 0, master_space = 0 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError ----------------------------- Captured stderr call ----------------------------- /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. _______________________ test_vector_possion[0-0-3-4-C++] _______________________ Nx = 4, Ny = 3, slave_space = 0, master_space = 0 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[0-1-2-4-C++] _______________________ Nx = 4, Ny = 2, slave_space = 1, master_space = 0 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[0-1-3-4-C++] _______________________ Nx = 4, Ny = 3, slave_space = 1, master_space = 0 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[1-0-2-4-C++] _______________________ Nx = 4, Ny = 2, slave_space = 0, master_space = 1 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[1-0-3-4-C++] _______________________ Nx = 4, Ny = 3, slave_space = 0, master_space = 1 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[1-1-2-4-C++] _______________________ Nx = 4, Ny = 2, slave_space = 1, master_space = 1 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError _______________________ test_vector_possion[1-1-3-4-C++] _______________________ Nx = 4, Ny = 3, slave_space = 1, master_space = 1 get_assemblers = (, ) @pytest.mark.parametrize("get_assemblers", ["C++"], indirect=True) @pytest.mark.parametrize("Nx", [4]) @pytest.mark.parametrize("Ny", [2, 3]) @pytest.mark.parametrize("slave_space", [0, 1]) @pytest.mark.parametrize("master_space", [0, 1]) def test_vector_possion(Nx, Ny, slave_space, master_space, get_assemblers): # noqa: F811 assemble_matrix, assemble_vector = get_assemblers # Create mesh and function space mesh = create_unit_square(MPI.COMM_WORLD, Nx, Ny) V = fem.functionspace(mesh, ("Lagrange", 1, (mesh.geometry.dim,))) def boundary(x): return np.isclose(x.T, [0, 0, 0], atol=500 * np.finfo(x.dtype).resolution).all(axis=1) # Define boundary conditions (HAS TO BE NON-MASTER NODES) u_bc = fem.Function(V) with u_bc.x.petsc_vec.localForm() as u_local: u_local.set(0.0) u_bc.x.petsc_vec.destroy() bdofsV = fem.locate_dofs_geometrical(V, boundary) bc = fem.dirichletbc(u_bc, bdofsV) bcs = [bc] # Define variational problem u = ufl.TrialFunction(V) v = ufl.TestFunction(V) x = ufl.SpatialCoordinate(mesh) f = ufl.as_vector((-5 * x[1], 7 * x[0])) a = ufl.inner(ufl.grad(u), ufl.grad(v)) * ufl.dx rhs = ufl.inner(f, v) * ufl.dx bilinear_form = fem.form(a) linear_form = fem.form(rhs) # Setup LU solver solver = PETSc.KSP().create(mesh.comm) solver.setType(PETSc.KSP.Type.PREONLY) pc = solver.getPC() pc.setType(PETSc.PC.Type.LU) pc.setFactorSolverType("mumps") # Create multipoint constraint def l2b(li): return np.array(li, dtype=mesh.geometry.x.dtype).tobytes() s_m_c = {l2b([1, 0]): {l2b([1, 1]): 0.1, l2b([0.5, 1]): 0.3}} mpc = dolfinx_mpc.MultiPointConstraint(V) mpc.create_general_constraint(s_m_c, slave_space, master_space) > mpc.finalize() test_vector_poisson.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def finalize(self) -> None: """ Finializes the multi point constraint. After this function is called, no new constraints can be added to the constraint. This function creates a map from the cells (local to index) to the slave degrees of freedom and builds a new index map and function space where unghosted master dofs are added as ghosts. """ self._already_finalized() self._coeffs.astype(numpy.dtype(self._dtype)) # Initialize C++ object and create slave->cell maps if self._dtype == numpy.float32: self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_float( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, ) elif self._dtype == numpy.float64: > self._cpp_object = dolfinx_mpc.cpp.mpc.MultiPointConstraint_double( self.V._cpp_object, self._slaves, self._masters, self._coeffs.astype(self._dtype), self._owners, self._offsets, E TypeError: __init__(): incompatible function arguments. The following argument types are supported: E 1. __init__(self, arg0: dolfinx::fem::FunctionSpace, arg1: numpy.ndarray[dtype=int32, shape=(*)], arg2: numpy.ndarray[dtype=int64, shape=(*)], arg3: numpy.ndarray[dtype=float64, shape=(*)], arg4: numpy.ndarray[dtype=int32, shape=(*)], arg5: numpy.ndarray[dtype=int32, shape=(*)], /) -> None E E Invoked with types: dolfinx_mpc.cpp.mpc.MultiPointConstraint_double, dolfinx.cpp.fem.FunctionSpace_float64, ndarray, ndarray, ndarray, ndarray, ndarray ../../debian/python3-dolfinx-mpc/usr/lib/python3.13/dist-packages/dolfinx_mpc/multipointconstraint.py:188: TypeError =========================== short test summary info ============================ FAILED test_cube_contact.py::test_cube_contact[True-C++] - TypeError: create_... FAILED test_cube_contact.py::test_cube_contact[False-C++] - TypeError: create... FAILED test_integration_domains.py::test_cell_domains[C++] - TypeError: __ini... FAILED test_lifting.py::test_lifting[C++] - TypeError: __init__(): incompatib... FAILED test_linear_problem.py::test_pipeline[True] - TypeError: create_period... FAILED test_linear_problem.py::test_pipeline[False] - TypeError: create_perio... FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.quadrilateral-1-master_point0-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.quadrilateral-1-master_point1-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.quadrilateral-2-master_point0-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.quadrilateral-2-master_point1-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.quadrilateral-3-master_point0-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.quadrilateral-3-master_point1-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.triangle-1-master_point0-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.triangle-1-master_point1-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.triangle-2-master_point0-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.triangle-2-master_point1-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.triangle-3-master_point0-C++] FAILED test_matrix_assembly.py::test_mpc_assembly[CellType.triangle-3-master_point1-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.triangle-1-master_point0-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.triangle-1-master_point1-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.triangle-2-master_point0-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.triangle-2-master_point1-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.triangle-3-master_point0-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.triangle-3-master_point1-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.quadrilateral-1-master_point0-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.quadrilateral-1-master_point1-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.quadrilateral-2-master_point0-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.quadrilateral-2-master_point1-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.quadrilateral-3-master_point0-C++] FAILED test_matrix_assembly.py::test_slave_on_same_cell[CellType.quadrilateral-3-master_point1-C++] FAILED test_mpc_pipeline.py::test_pipeline[master_point0-C++] - TypeError: __... FAILED test_mpc_pipeline.py::test_pipeline[master_point1-C++] - TypeError: __... FAILED test_mpc_pipeline.py::test_linearproblem[master_point0] - TypeError: _... FAILED test_mpc_pipeline.py::test_linearproblem[master_point1] - TypeError: _... FAILED test_nonlinear_assembly.py::test_nonlinear_poisson[1] - TypeError: cre... FAILED test_nonlinear_assembly.py::test_nonlinear_poisson[2] - TypeError: cre... FAILED test_nonlinear_assembly.py::test_nonlinear_poisson[3] - TypeError: cre... FAILED test_nonlinear_assembly.py::test_homogenize[1-0] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[1-1] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[1-2] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[2-0] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[2-1] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[2-2] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[3-0] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[3-1] - TypeError: create_p... FAILED test_nonlinear_assembly.py::test_homogenize[3-2] - TypeError: create_p... FAILED test_rectangular_assembly.py::test_mixed_element[GhostMode.none-CellType.triangle] FAILED test_rectangular_assembly.py::test_mixed_element[GhostMode.none-CellType.quadrilateral] FAILED test_rectangular_assembly.py::test_mixed_element[GhostMode.shared_facet-CellType.triangle] FAILED test_rectangular_assembly.py::test_mixed_element[GhostMode.shared_facet-CellType.quadrilateral] FAILED test_surface_integral.py::test_surface_integrals[C++] - TypeError: __i... FAILED test_surface_integral.py::test_surface_integral_dependency[C++] - Type... FAILED test_vector_assembly.py::test_mpc_assembly[CellType.quadrilateral-1-master_point0-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.quadrilateral-1-master_point1-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.quadrilateral-2-master_point0-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.quadrilateral-2-master_point1-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.quadrilateral-3-master_point0-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.quadrilateral-3-master_point1-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.triangle-1-master_point0-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.triangle-1-master_point1-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.triangle-2-master_point0-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.triangle-2-master_point1-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.triangle-3-master_point0-C++] FAILED test_vector_assembly.py::test_mpc_assembly[CellType.triangle-3-master_point1-C++] FAILED test_vector_poisson.py::test_vector_possion[0-0-2-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[0-0-3-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[0-1-2-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[0-1-3-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[1-0-2-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[1-0-3-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[1-1-2-4-C++] - TypeError: ... FAILED test_vector_poisson.py::test_vector_possion[1-1-3-4-C++] - TypeError: ... ============================= 72 failed in 11.59s ============================== make[1]: *** [debian/rules:32: execute_before_dh_python3] Error 1 make[1]: Leaving directory '/build/reproducible-path/dolfinx-mpc-0.9.1' make: *** [debian/rules:12: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2222140 and its subdirectories