Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError when running periodic demos with dolfinx/dolfinx_mpc v0.8.0 #131

Open
bnherrerac opened this issue Sep 27, 2024 · 6 comments
Open

Comments

@bnherrerac
Copy link

Hello, I am unable to run the periodic demos using dolfinx 0.8.0 and dolfinx_mpc 0.8.0, with Python 3.12.6. The demos I can't run are the following:

In both cases I get a similar error, here's the error for demo_periodic_geometrical.py:

  File "/home/bnherrerac/p2/demos/demo_periodic_geometrical.py", line 81, in <module>
    mpc.create_periodic_constraint_geometrical(V, periodic_boundary, periodic_relation, bcs)
  File "/home/bnherrerac/anaconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx_mpc/multipointconstraint.py", line 286, in create_periodic_constraint_geometrical
    mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_geometrical(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: create_periodic_constraint_geometrical(): incompatible function arguments. The following argument types are supported:
    1. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace<float>, indicator: Callable[[numpy.ndarray[dtype=float32, writable=False, shape=(*, *), ]], ndarray[dtype=bool, shape=(*), order='C']], relation: Callable[[numpy.ndarray[dtype=float32, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float32, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<float, float>], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float
    2. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace<float>, indicator: Callable[[numpy.ndarray[dtype=float32, writable=False, shape=(*, *), ]], ndarray[dtype=bool, shape=(*), order='C']], relation: Callable[[numpy.ndarray[dtype=float32, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float32, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<std::complex<float>, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float
    3. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace<double>, indicator: Callable[[numpy.ndarray[dtype=float64, writable=False, shape=(*, *), ]], ndarray[dtype=bool, shape=(*), order='C']], relation: Callable[[numpy.ndarray[dtype=float64, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float64, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<double, double>], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double
    4. create_periodic_constraint_geometrical(V: dolfinx::fem::FunctionSpace<double>, indicator: Callable[[numpy.ndarray[dtype=float64, writable=False, shape=(*, *), ]], ndarray[dtype=bool, shape=(*), order='C']], relation: Callable[[numpy.ndarray[dtype=float64, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float64, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<std::complex<double>, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double

Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, function, function, list, float, bool 

And the error for demo_periodic3d_topological.py:

Traceback (most recent call last):
  File "/home/bnherrerac/p2/demos/demo_periodic3d_topological.py", line 187, in <module>
    demo_periodic3D(celltype)
  File "/home/bnherrerac/p2/demos/demo_periodic3d_topological.py", line 97, in demo_periodic3D
    mpc.create_periodic_constraint_topological(V.sub(0), mt, 2, periodic_relation, bcs, default_scalar_type(1))
  File "/home/bnherrerac/anaconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx_mpc/multipointconstraint.py", line 254, in create_periodic_constraint_topological
    mpc_data = dolfinx_mpc.cpp.mpc.create_periodic_constraint_topological(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: create_periodic_constraint_topological(): incompatible function arguments. The following argument types are supported:
    1. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace<float>, meshtags: dolfinx::mesh::MeshTags<int>, dim: int, relation: Callable[[numpy.ndarray[dtype=float32, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float32, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<float, float>], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_float
    2. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace<float>, meshtags: dolfinx::mesh::MeshTags<int>, dim: int, relation: Callable[[numpy.ndarray[dtype=float32, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float32, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<std::complex<float>, float>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_float
    3. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace<double>, meshtags: dolfinx::mesh::MeshTags<int>, dim: int, relation: Callable[[numpy.ndarray[dtype=float64, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float64, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<double, double>], scale: float, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_double
    4. create_periodic_constraint_topological(V: dolfinx::fem::FunctionSpace<double>, meshtags: dolfinx::mesh::MeshTags<int>, dim: int, relation: Callable[[numpy.ndarray[dtype=float64, writable=False, shape=(*, *), ]], numpy.ndarray[dtype=float64, shape=(*, *), ]], bcs: list[dolfinx::fem::DirichletBC<std::complex<double>, double>], scale: complex, collapse: bool) -> dolfinx_mpc.cpp.mpc.mpc_data_complex_double

Invoked with types: dolfinx.cpp.fem.FunctionSpace_float64, dolfinx.cpp.mesh.MeshTags_int32, int, function, list, float, bool

I installed dolfinx and dolfinx_mpc via conda install, and made sure that both versions are 0.8.0. I am trying to run a similar code, where I impose periodic boundary conditions in opposite faces of an unit cell, but I get stuck when calling create_periodic_constraint_geometrical, as in the demo. If you have any idea how I could get around this, it would be very helpful. Thanks in advance!

@jorgensd
Copy link
Owner

Could you try with 0.8.1: https://github.com/jorgensd/dolfinx_mpc/tree/v0.8.1
and also give me the conda commands you ran to create your environment ?

@bnherrerac
Copy link
Author

bnherrerac commented Sep 28, 2024

Tried with 0.8.1 keeping dolfinx 0.8.0, the same error happened. I rerun these conda commands to create the env and install all the dependencies:

conda create -n fenicsx-env
conda activate fenicsx-env
conda install -c conda-forge fenics-dolfinx mpich pyvista
conda install conda-forge::dolfinx_mpc
conda install conda-forge::pytest
conda install scipy

which leaves me with dolfinx 0.8.0 and dolfinx-mpc 0.8.1. Here is a MWE that reproduces the error after this installation:

import numpy as np
from mpi4py import MPI
from dolfinx import fem, mesh
from dolfinx.common import Timer
from dolfinx_mpc import MultiPointConstraint

dolfinx_mesh = mesh.create_unit_cube(MPI.COMM_WORLD, 10, 10, 10)
V = fem.functionspace(dolfinx_mesh, ("Lagrange", 1, (dolfinx_mesh.geometry.dim, )))

def x_periodic_boundary(x):
    return np.isclose(x[0], 1.0, atol=1e-8)

def x_periodic_relation(x):
    out_x = np.zeros_like(x)
    out_x[0] = 1 - x[0]
    out_x[1] = x[1]
    out_x[2] = x[2]
    return out_x

with Timer("~PERIODIC: Initialize MPC"):
    mpc = MultiPointConstraint(V)
    mpc.create_periodic_constraint_geometrical(V, x_periodic_boundary, x_periodic_relation, bcs=[])
    mpc.finalize()

Thank you for your help!

@jorgensd
Copy link
Owner

I can reproduce this. I think this is an issue with an incompatibility with nanobind versions.
I will ask @minrk for guidance as he is a wizard at this!

@minrk
Copy link
Collaborator

minrk commented Oct 1, 2024

This is almost certainly an incompatibility in nanobind (likely a compiler version mismatch) that should be pinned but apparently isn't. Can you share the output of conda env export?

@minrk
Copy link
Collaborator

minrk commented Oct 1, 2024

Yup, it's the same nanobind abi pinning issue that I believe I've fixed in dolfinx itself, but didn't realize it extended to mpc as well. The quickest workaround is to add gxx=12 to your list of packages, and it should pick the right compatible version of everything.

When this PR is merged, the latest builds of everything should work together again.

@bnherrerac
Copy link
Author

bnherrerac commented Oct 3, 2024

Thank you both for looking into this. The command conda install gxx=12 worked well as a workaround. I am having a similar issue in scifem too, the exact same as here.

This is the output of conda env export:

channels:
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - aiohappyeyeballs=2.4.2=pyhd8ed1ab_0
  - aiohttp=3.10.6=py312h66e93f0_0
  - aiosignal=1.3.1=pyhd8ed1ab_0
  - alsa-lib=1.2.12=h4ab18f5_0
  - aom=3.9.1=hac33072_0
  - attrs=24.2.0=pyh71513ae_0
  - binutils_impl_linux-64=2.43=h4bf12b8_1
  - binutils_linux-64=2.43=h4852527_1
  - blosc=1.21.6=hef167b5_0
  - brotli=1.1.0=hb9d3cd8_2
  - brotli-bin=1.1.0=hb9d3cd8_2
  - brotli-python=1.1.0=py312h2ec8cdc_2
  - bzip2=1.0.8=h4bc722e_7
  - c-ares=1.33.1=heb4867d_0
  - c-blosc2=2.15.1=hc57e6cf_0
  - ca-certificates=2024.8.30=hbcca054_0
  - cairo=1.18.0=hebfffa5_3
  - certifi=2024.8.30=pyhd8ed1ab_0
  - cffi=1.17.1=py312h06ac9bb_0
  - charset-normalizer=3.3.2=pyhd8ed1ab_0
  - colorama=0.4.6=pyhd8ed1ab_0
  - contourpy=1.3.0=py312h68727a3_2
  - cycler=0.12.1=pyhd8ed1ab_0
  - dav1d=1.2.1=hd590300_0
  - dbus=1.13.6=h5008d03_3
  - distro=1.9.0=pyhd8ed1ab_0
  - dolfinx_mpc=0.8.1=py312h369e91a_0
  - double-conversion=3.3.0=h59595ed_0
  - eigen=3.4.0=h00ab1b0_0
  - exceptiongroup=1.2.2=pyhd8ed1ab_0
  - expat=2.6.3=h5888daf_0
  - fenics-basix=0.8.0=py312h2492b07_1
  - fenics-dolfinx=0.8.0=py312h66e9945_105
  - fenics-ffcx=0.8.0=pyh4af843d_0
  - fenics-libbasix=0.8.0=h9187eef_1
  - fenics-libdolfinx=0.8.0=h17dcdb5_105
  - fenics-ufcx=0.8.0=h22f594c_0
  - fenics-ufl=2024.1.0=pyhd8ed1ab_0
  - ffmpeg=6.1.2=gpl_h8657690_705
  - fftw=3.3.10=mpi_mpich_hbcf76dd_10
  - fltk=1.3.9=h9305793_1
  - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
  - font-ttf-inconsolata=3.000=h77eed37_0
  - font-ttf-source-code-pro=2.038=h77eed37_0
  - font-ttf-ubuntu=0.83=h77eed37_3
  - fontconfig=2.14.2=h14ed4e7_0
  - fonts-conda-ecosystem=1=0
  - fonts-conda-forge=1=0
  - fonttools=4.54.1=py312h66e93f0_0
  - freeimage=3.18.0=h4bd6248_21
  - freetype=2.12.1=h267a509_2
  - fribidi=1.0.10=h36c2ea0_0
  - frozenlist=1.4.1=py312h66e93f0_1
  - gcc=12.4.0=h236703b_1
  - gcc_impl_linux-64=12.4.0=hb2e57f8_1
  - gcc_linux-64=12.4.0=h6b7512a_4
  - gl2ps=1.4.2=hae5d5c5_1
  - glew=2.1.0=h9c3ff4c_2
  - gmp=6.3.0=hac33072_2
  - gmsh=4.12.2=h6b98cf8_0
  - graphite2=1.3.13=h59595ed_1003
  - gxx=12.4.0=h236703b_1
  - gxx_impl_linux-64=12.4.0=h613a52c_1
  - gxx_linux-64=12.4.0=h8489865_4
  - h2=4.1.0=pyhd8ed1ab_0
  - harfbuzz=9.0.0=hda332d3_1
  - hdf4=4.2.15=h2a13503_7
  - hdf5=1.14.3=mpi_mpich_h0f54ddc_5
  - hpack=4.0.0=pyh9f0ad1d_0
  - hyperframe=6.0.1=pyhd8ed1ab_0
  - hypre=2.31.0=mpi_mpich_hd1da18f_1
  - icu=75.1=he02047a_0
  - idna=3.10=pyhd8ed1ab_0
  - imath=3.1.12=h7955e40_0
  - importlib-metadata=8.5.0=pyha770c72_0
  - importlib-resources=6.4.5=pyhd8ed1ab_0
  - importlib_resources=6.4.5=pyhd8ed1ab_0
  - iniconfig=2.0.0=pyhd8ed1ab_0
  - jsoncpp=1.9.6=h84d6215_0
  - jxrlib=1.1=hd590300_3
  - kahip=3.16=h2fbc463_4
  - kahip-python=3.16=py312ha7be871_4
  - kernel-headers_linux-64=3.10.0=he073ed8_17
  - keyutils=1.6.1=h166bdaf_0
  - kiwisolver=1.4.7=py312h68727a3_0
  - krb5=1.21.3=h659f571_0
  - lame=3.100=h166bdaf_1003
  - lcms2=2.16=hb7c19ff_0
  - ld_impl_linux-64=2.43=h712a8e2_1
  - lerc=4.0.0=h27087fc_0
  - libabseil=20240116.2=cxx17_he02047a_1
  - libadios2=2.10.1=mpi_mpich_hb885cfe_3
  - libaec=1.1.3=h59595ed_0
  - libass=0.17.3=h1dc1e6a_0
  - libblas=3.9.0=24_linux64_openblas
  - libboost=1.86.0=hb8260a3_2
  - libboost-devel=1.86.0=h1a2810e_2
  - libboost-headers=1.86.0=ha770c72_2
  - libbrotlicommon=1.1.0=hb9d3cd8_2
  - libbrotlidec=1.1.0=hb9d3cd8_2
  - libbrotlienc=1.1.0=hb9d3cd8_2
  - libcblas=3.9.0=24_linux64_openblas
  - libclang-cpp19.1=19.1.0=default_hb5137d0_0
  - libclang13=19.1.0=default_h9c6a7e4_0
  - libcups=2.3.3=h4637d8d_4
  - libcurl=8.10.1=hbbe4b11_0
  - libdeflate=1.21=h4bc722e_0
  - libdolfinx_mpc=0.8.1=h641d226_0
  - libdrm=2.4.123=hb9d3cd8_0
  - libedit=3.1.20191231=he28a2e2_2
  - libegl=1.7.0=ha4b6fd6_0
  - libev=4.33=hd590300_2
  - libexpat=2.6.3=h5888daf_0
  - libffi=3.4.2=h7f98852_5
  - libgcc=14.1.0=h77fa898_1
  - libgcc-devel_linux-64=12.4.0=ha4f9413_101
  - libgcc-ng=14.1.0=h69a702a_1
  - libgfortran=14.1.0=h69a702a_1
  - libgfortran-ng=14.1.0=h69a702a_1
  - libgfortran5=14.1.0=hc5f4f2c_1
  - libgl=1.7.0=ha4b6fd6_0
  - libglib=2.82.1=h2ff4ddf_0
  - libglu=9.0.0=ha6d2627_1004
  - libglvnd=1.7.0=ha4b6fd6_0
  - libglx=1.7.0=ha4b6fd6_0
  - libgomp=14.1.0=h77fa898_1
  - libhwloc=2.11.1=default_hecaa2ac_1000
  - libiconv=1.17=hd590300_2
  - libjpeg-turbo=3.0.0=hd590300_1
  - liblapack=3.9.0=24_linux64_openblas
  - libllvm19=19.1.0=ha7bfdaf_0
  - libnetcdf=4.9.2=nompi_h135f659_114
  - libnghttp2=1.58.0=h47da74e_1
  - libnsl=2.0.1=hd590300_0
  - libogg=1.3.5=h4ab18f5_0
  - libopenblas=0.3.27=pthreads_hac2b453_1
  - libopenvino=2024.4.0=hac27bb2_0
  - libopenvino-auto-batch-plugin=2024.4.0=h4d9b6c2_0
  - libopenvino-auto-plugin=2024.4.0=h4d9b6c2_0
  - libopenvino-hetero-plugin=2024.4.0=h3f63f65_0
  - libopenvino-intel-cpu-plugin=2024.4.0=hac27bb2_0
  - libopenvino-intel-gpu-plugin=2024.4.0=hac27bb2_0
  - libopenvino-intel-npu-plugin=2024.4.0=hac27bb2_0
  - libopenvino-ir-frontend=2024.4.0=h3f63f65_0
  - libopenvino-onnx-frontend=2024.4.0=h56242b0_0
  - libopenvino-paddle-frontend=2024.4.0=h56242b0_0
  - libopenvino-pytorch-frontend=2024.4.0=h5888daf_0
  - libopenvino-tensorflow-frontend=2024.4.0=h358ae18_0
  - libopenvino-tensorflow-lite-frontend=2024.4.0=h5888daf_0
  - libopus=1.3.1=h7f98852_1
  - libpciaccess=0.18=hd590300_0
  - libpng=1.6.44=hadc24fc_0
  - libpq=16.4=h2d7952a_1
  - libprotobuf=4.25.3=hd5b35b9_1
  - libptscotch=7.0.4=h2376d02_5
  - libraw=0.21.3=hca62329_0
  - libsanitizer=12.4.0=h46f95d5_1
  - libscotch=7.0.4=h3055ed5_5
  - libsodium=1.0.20=h4ab18f5_0
  - libsqlite=3.46.1=hadc24fc_0
  - libssh2=1.11.0=h0841786_0
  - libstdcxx=14.1.0=hc0a3c3a_1
  - libstdcxx-devel_linux-64=12.4.0=ha4f9413_101
  - libstdcxx-ng=14.1.0=h4852527_1
  - libtheora=1.1.1=h4ab18f5_1006
  - libtiff=4.7.0=h6565414_0
  - libuuid=2.38.1=h0b41bf4_0
  - libva=2.22.0=h8a09558_1
  - libvorbis=1.3.7=h9c3ff4c_0
  - libvpx=1.14.1=hac33072_0
  - libwebp-base=1.4.0=hd590300_0
  - libxcb=1.17.0=h8a09558_0
  - libxcrypt=4.4.36=hd590300_1
  - libxkbcommon=1.7.0=h2c5496b_1
  - libxml2=2.12.7=he7c6b58_4
  - libzip=1.11.1=hf83b1b0_0
  - libzlib=1.3.1=h4ab18f5_1
  - loguru=0.7.2=py312h7900ff3_2
  - lz4-c=1.9.4=hcb278e6_0
  - matplotlib-base=3.9.2=py312hd3ec401_1
  - metis=5.1.0=h59595ed_1007
  - mpfr=4.2.1=h90cbb55_3
  - mpi=1.0=mpich
  - mpi4py=4.0.0=py312h0068001_3
  - mpich=4.2.2=h670b19f_101
  - msgpack-python=1.1.0=py312h68727a3_0
  - multidict=6.1.0=py312h66e93f0_0
  - mumps-include=5.7.3=ha770c72_0
  - mumps-mpi=5.7.3=hd6ed86c_0
  - munkres=1.1.4=pyh9f0ad1d_0
  - mysql-common=9.0.1=h266115a_1
  - mysql-libs=9.0.1=he0572af_1
  - ncurses=6.5=he02047a_1
  - nlohmann_json=3.11.3=he02047a_1
  - numpy=2.1.1=py312h58c1407_0
  - occt=7.7.2=novtk_h130ccc2_101
  - ocl-icd=2.3.2=hd590300_1
  - openexr=3.2.2=h04e0de5_2
  - openh264=2.4.1=h59595ed_0
  - openjpeg=2.5.2=h488ebb8_0
  - openssl=3.3.2=hb9d3cd8_0
  - packaging=24.1=pyhd8ed1ab_0
  - parmetis=4.0.3=h583469f_1006
  - pathspec=0.12.1=pyhd8ed1ab_0
  - pcre2=10.44=hba22ea6_2
  - petsc=3.21.5=real_hbe534a9_101
  - petsc4py=3.21.5=py312h23142ab_1
  - pillow=10.4.0=py312h56024de_1
  - pip=24.2=pyh8b19718_1
  - pixman=0.43.2=h59595ed_0
  - pkg-config=0.29.2=h4bc722e_1009
  - platformdirs=4.3.6=pyhd8ed1ab_0
  - pluggy=1.5.0=pyhd8ed1ab_0
  - pooch=1.8.2=pyhd8ed1ab_0
  - proj=9.5.0=h12925eb_0
  - pthread-stubs=0.4=hb9d3cd8_1002
  - pugixml=1.14=h59595ed_0
  - pycparser=2.22=pyhd8ed1ab_0
  - pyparsing=3.1.4=pyhd8ed1ab_0
  - pysocks=1.7.1=pyha2e5f31_6
  - pytest=8.3.3=pyhd8ed1ab_0
  - python=3.12.6=hc5c86c4_1_cpython
  - python-dateutil=2.9.0=pyhd8ed1ab_0
  - python-gmsh=4.12.2=h57928b3_0
  - python_abi=3.12=5_cp312
  - pyvista=0.44.1=pyhd8ed1ab_0
  - qhull=2020.2=h434a139_5
  - qt6-main=6.7.3=h20baabe_0
  - rapidjson=1.1.0.post20240409=hac33072_1
  - readline=8.2=h8228510_1
  - requests=2.32.3=pyhd8ed1ab_0
  - scalapack=2.2.0=h417d24c_2
  - scikit-build=0.18.1=pyh4afc917_0
  - scikit-build-core=0.10.7=pyh4afc917_0
  - scipy=1.14.1=py312h7d485d2_0
  - scooby=0.10.0=pyhd8ed1ab_0
  - setuptools=75.1.0=pyhd8ed1ab_0
  - six=1.16.0=pyh6c4a22f_0
  - slepc=3.21.1=real_h97ad6bc_302
  - slepc4py=3.21.1=py312hf817a4c_104
  - snappy=1.2.1=ha2e4443_0
  - sqlite=3.46.1=h9eae976_0
  - suitesparse=7.8.2=hb42a789_0
  - superlu=5.2.2=h00795ac_0
  - superlu_dist=9.0.0=h3feb4ed_1
  - svt-av1=2.2.1=h5888daf_0
  - sysroot_linux-64=2.17=h4a8ded7_17
  - tbb=2021.13.0=h84d6215_0
  - tbb-devel=2021.13.0=h94b29a5_0
  - tk=8.6.13=noxft_h4845f30_101
  - tomli=2.0.1=pyhd8ed1ab_0
  - typing-extensions=4.12.2=hd8ed1ab_0
  - typing_extensions=4.12.2=pyha770c72_0
  - tzdata=2024a=h8827d51_1
  - urllib3=2.2.3=pyhd8ed1ab_0
  - utfcpp=4.0.5=ha770c72_0
  - vtk=9.3.1=qt_py312he5e186c_208
  - vtk-base=9.3.1=qt_py312h2768b8c_208
  - vtk-io-ffmpeg=9.3.1=qt_py312hc8241c7_208
  - wayland=1.23.1=h3e06ad9_0
  - wayland-protocols=1.37=hd8ed1ab_0
  - wheel=0.44.0=pyhd8ed1ab_0
  - wslink=2.2.1=pyhd8ed1ab_0
  - x264=1!164.3095=h166bdaf_2
  - x265=3.5=h924138e_3
  - xcb-util=0.4.1=hb711507_2
  - xcb-util-cursor=0.1.5=hb9d3cd8_0
  - xcb-util-image=0.4.0=hb711507_2
  - xcb-util-keysyms=0.4.1=hb711507_0
  - xcb-util-renderutil=0.3.10=hb711507_0
  - xcb-util-wm=0.4.2=hb711507_0
  - xkeyboard-config=2.42=h4ab18f5_0
  - xorg-inputproto=2.3.2=hb9d3cd8_1003
  - xorg-kbproto=1.0.7=hb9d3cd8_1003
  - xorg-libice=1.1.1=hb9d3cd8_1
  - xorg-libsm=1.2.4=h7391055_0
  - xorg-libx11=1.8.10=h4f16b4b_0
  - xorg-libxau=1.0.11=hb9d3cd8_1
  - xorg-libxdmcp=1.1.3=hb9d3cd8_1
  - xorg-libxext=1.3.4=hb9d3cd8_3
  - xorg-libxfixes=5.0.3=hb9d3cd8_1005
  - xorg-libxi=1.7.10=h4bc722e_1
  - xorg-libxmu=1.1.3=h4ab18f5_1
  - xorg-libxrender=0.9.11=hb9d3cd8_1
  - xorg-libxt=1.3.0=hd590300_1
  - xorg-libxtst=1.2.5=h4bc722e_0
  - xorg-libxxf86vm=1.1.5=hb9d3cd8_2
  - xorg-recordproto=1.14.2=hb9d3cd8_1003
  - xorg-xextproto=7.3.0=hb9d3cd8_1004
  - xorg-xorgproto=2024.1=hb9d3cd8_1
  - xorg-xproto=7.0.31=hb9d3cd8_1008
  - xz=5.2.6=h166bdaf_0
  - yaml=0.2.5=h7f98852_2
  - yarl=1.13.1=py312h66e93f0_0
  - zeromq=4.3.5=ha4adb4c_5
  - zfp=0.5.5=h9c3ff4c_8
  - zipp=3.20.2=pyhd8ed1ab_0
  - zlib=1.3.1=h4ab18f5_1
  - zlib-ng=2.2.2=h5888daf_0
  - zstandard=0.23.0=py312hef9b889_1
  - zstd=1.5.6=ha6fb4c9_0
  - pip:
      - nanobind==2.1.0
      - scifem==0.2.5
prefix: /home/bnherrerac/anaconda3/envs/fenicsx-env```

</details>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants