Surface integral measure for an irregularly connected mesh

Hi all,

I am currently struggling with the problem where I want to create a custom 2D mesh with nodes that are connected essentially in only one direction. The exception is a boundary at x=1 where the nodes are connected along that line.

I’ve created that mesh and I want to create a custom measure that acts at that boundary, only. The source code of my current attempt is the following:

import basix
import dolfinx as dfx
from mpi4py.MPI import COMM_WORLD as comm
import numpy as np
import ufl

n_rad = 16
n_part = 12

# Nodes
# -----
radial_grid = np.linspace(0, 1, n_rad)
particle_grid = np.linspace(0, 1, n_part)

rr, pp = np.meshgrid(radial_grid, particle_grid)

coords_grid = np.stack((rr, pp)).transpose((-1, 1, 0)).copy()

if comm.rank == 0:
    coords_grid_flat = coords_grid.reshape(-1, 2).copy()
else:
    coords_grid_flat = np.empty((0, 2), dtype=np.float64)

# Elements
# --------
# All the radial connections
elements_radial = [
    [[n_part * i + k, n_part * (i + 1) + k] for i in range(n_rad - 1)]
    for k in range(n_part)
]

elements_radial = np.array(elements_radial).reshape(-1, 2)

# Connections between particles
elements_bc = (n_rad - 1) * n_part + np.array([[k, k + 1] for k in range(n_part - 1)])
# elements_bc = []  # With elements at the outer edge the integration fails.

if comm.rank == 0:
    elements = np.array(list(elements_bc) + list(elements_radial))
else:
    elements = np.empty((0, 2), dtype=np.int64)

# %% The DOLFINx grid
# -------------------

gdim = 2
shape = "interval"
degree = 1

domain = ufl.Mesh(
    basix.ufl.element("Lagrange",
                      shape,
                      degree,
                      shape=(coords_grid_flat.shape[1],)))

mesh = dfx.mesh.create_mesh(comm, elements[:, :2], coords_grid_flat, domain)

# %% Create integral measure on the particle surface
# --------------------------------------------------
fdim = mesh.topology.dim - 1

facets = dfx.mesh.locate_entities(mesh, fdim, lambda x: np.isclose(x[0], 1.))

facet_markers = np.full_like(facets, 1)

facet_tag = dfx.mesh.meshtags(mesh, fdim, facets, facet_markers)

dA = ufl.Measure("ds", domain=mesh, subdomain_data=facet_tag)
dA_R = dA(1)

# %% Test the surface measure
# ---------------------------
V = dfx.fem.functionspace(mesh, ("CG", 1))

u = dfx.fem.Function(V)
u.interpolate(lambda x: x[0] + 0.1 * x[1])

boundary_integral_ufl = u * dA_R
boundary_integral_cpp = dfx.fem.form(boundary_integral_ufl)

boundary_integral_value = dfx.fem.assemble_scalar(boundary_integral_cpp)

print(boundary_integral_value)

When I run the code, I get 0.0 as a value for the boundary integral. I would expect 1.05. Certainly I am missing something. Maybe you can help me.

I am running with the follwing setup:

# packages in environment at /Users/doerffel/anaconda3/envs/fenicsx-env:
#
# Name                    Version                   Build  Channel
aiohappyeyeballs          2.4.0              pyhd8ed1ab_0    conda-forge
aiohttp                   3.10.5          py310ha6dd24b_0    conda-forge
aiosignal                 1.3.1              pyhd8ed1ab_0    conda-forge
anyio                     4.4.0              pyhd8ed1ab_0    conda-forge
aom                       3.9.1                h7bae524_0    conda-forge
appnope                   0.1.4              pyhd8ed1ab_0    conda-forge
argon2-cffi               23.1.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py310h493c2e1_5    conda-forge
arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
async-timeout             4.0.3              pyhd8ed1ab_0    conda-forge
attrs                     24.2.0             pyh71513ae_0    conda-forge
babel                     2.14.0             pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
blosc                     1.21.6               h5499902_0    conda-forge
brotli                    1.1.0                hd74edd7_2    conda-forge
brotli-bin                1.1.0                hd74edd7_2    conda-forge
brotli-python             1.1.0           py310hb4ad77e_2    conda-forge
bzip2                     1.0.8                h99b78c6_7    conda-forge
c-ares                    1.33.1               hd74edd7_0    conda-forge
c-blosc2                  2.15.1               h5063078_0    conda-forge
ca-certificates           2024.8.30            hf0a4a13_0    conda-forge
cached-property           1.5.2                hd8ed1ab_1    conda-forge
cached_property           1.5.2              pyha770c72_1    conda-forge
cairo                     1.18.0               hb4a6bf7_3    conda-forge
cctools_osx-arm64         986                  h4f2c9d0_4    conda-forge
certifi                   2024.8.30          pyhd8ed1ab_0    conda-forge
cffi                      1.17.1          py310h497396d_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
clang                     16.0.6          default_h675cc0c_13    conda-forge
clang-16                  16.0.6          default_h5c12605_13    conda-forge
clang_impl_osx-arm64      16.0.6              hc421ffc_19    conda-forge
clang_osx-arm64           16.0.6              h54d7cd3_19    conda-forge
clangxx                   16.0.6          default_h675cc0c_13    conda-forge
clangxx_impl_osx-arm64    16.0.6              hcd7bac0_19    conda-forge
clangxx_osx-arm64         16.0.6              h54d7cd3_19    conda-forge
colorcet                  3.1.0              pyhd8ed1ab_0    conda-forge
comm                      0.2.2              pyhd8ed1ab_0    conda-forge
compiler-rt               16.0.6               h3808999_2    conda-forge
compiler-rt_osx-arm64     16.0.6               h3808999_2    conda-forge
contourpy                 1.3.0           py310h7306fd8_1    conda-forge
cycler                    0.12.1             pyhd8ed1ab_0    conda-forge
dav1d                     1.2.1                hb547adb_0    conda-forge
debugpy                   1.8.5           py310hb4ad77e_1    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
double-conversion         3.3.0                h13dd4ca_0    conda-forge
eigen                     3.4.0                h1995070_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.2              pyhd8ed1ab_0    conda-forge
executing                 2.1.0              pyhd8ed1ab_0    conda-forge
expat                     2.6.3                hf9b8971_0    conda-forge
fenics-basix              0.8.0           py310h7306fd8_2    conda-forge
fenics-dolfinx            0.8.0           py310hb3fb8a6_105    conda-forge
fenics-ffcx               0.8.0              pyh4af843d_0    conda-forge
fenics-libbasix           0.8.0                h12e1e3e_2    conda-forge
fenics-libdolfinx         0.8.0              h1e37117_105    conda-forge
fenics-ufcx               0.8.0                h22f594c_0    conda-forge
fenics-ufl                2024.1.0           pyhd8ed1ab_0    conda-forge
ffmpeg                    6.1.2           gpl_h3ef3969_102    conda-forge
fftw                      3.3.10          mpi_openmpi_h260600c_10    conda-forge
fltk                      1.3.9                h5164b75_1    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 h77eed37_2    conda-forge
fontconfig                2.14.2               h82840c6_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.53.1          py310h493c2e1_1    conda-forge
fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
freeimage                 3.18.0              hd0e3f39_20    conda-forge
freetype                  2.12.1               hadb7bae_2    conda-forge
fribidi                   1.0.10               h27ca646_0    conda-forge
frozenlist                1.4.1           py310h493c2e1_1    conda-forge
gettext                   0.22.5               h8414b35_3    conda-forge
gettext-tools             0.22.5               h8414b35_3    conda-forge
gl2ps                     1.4.2                hc97c1ff_1    conda-forge
glew                      2.1.0                h9f76cd9_2    conda-forge
gmp                       6.3.0                h7bae524_2    conda-forge
gmsh                      4.12.2               hd427cfb_0    conda-forge
gnutls                    3.8.7                h9df781c_0    conda-forge
graphite2                 1.3.13            hebf3989_1003    conda-forge
h11                       0.14.0             pyhd8ed1ab_0    conda-forge
h2                        4.1.0              pyhd8ed1ab_0    conda-forge
h5py                      3.11.0          mpi_openmpi_py310h8961b4a_2    conda-forge
harfbuzz                  9.0.0                h997cde5_1    conda-forge
hdf4                      4.2.15               h2ee6834_7    conda-forge
hdf5                      1.14.3          mpi_openmpi_h7d685e0_5    conda-forge
hpack                     4.0.0              pyh9f0ad1d_0    conda-forge
httpcore                  1.0.5              pyhd8ed1ab_0    conda-forge
httpx                     0.27.2             pyhd8ed1ab_0    conda-forge
hyperframe                6.0.1              pyhd8ed1ab_0    conda-forge
hypre                     2.31.0          mpi_openmpi_hedb40dd_1    conda-forge
icu                       75.1                 hfee45f7_0    conda-forge
idna                      3.8                pyhd8ed1ab_0    conda-forge
imath                     3.1.11               h1059232_0    conda-forge
importlib-metadata        8.4.0              pyha770c72_0    conda-forge
importlib_metadata        8.4.0                hd8ed1ab_0    conda-forge
importlib_resources       6.4.4              pyhd8ed1ab_0    conda-forge
ipykernel                 6.29.5             pyh57ce528_0    conda-forge
ipympl                    0.9.4              pyhd8ed1ab_0    conda-forge
ipython                   8.27.0             pyh707e725_0    conda-forge
ipython_genutils          0.2.0              pyhd8ed1ab_1    conda-forge
ipywidgets                8.1.5              pyhd8ed1ab_0    conda-forge
isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jinja2                    3.1.4              pyhd8ed1ab_0    conda-forge
json5                     0.9.25             pyhd8ed1ab_0    conda-forge
jsoncpp                   1.9.5                hc021e02_1    conda-forge
jsonpointer               3.0.0           py310hbe9552e_1    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.12.1          pyhd8ed1ab_0    conda-forge
jsonschema-with-format-nongpl 4.23.0               hd8ed1ab_0    conda-forge
jupyter                   1.1.1              pyhd8ed1ab_0    conda-forge
jupyter-contrib-core      0.4.2                    pypi_0    pypi
jupyter-contrib-nbextensions 0.7.0                    pypi_0    pypi
jupyter-highlight-selected-word 0.2.0                    pypi_0    pypi
jupyter-lsp               2.2.5              pyhd8ed1ab_0    conda-forge
jupyter-nbextensions-configurator 0.6.4                    pypi_0    pypi
jupyter_client            8.6.2              pyhd8ed1ab_0    conda-forge
jupyter_console           6.6.3              pyhd8ed1ab_0    conda-forge
jupyter_core              5.7.2           py310hbe9552e_0    conda-forge
jupyter_events            0.10.0             pyhd8ed1ab_0    conda-forge
jupyter_server            2.14.2             pyhd8ed1ab_0    conda-forge
jupyter_server_terminals  0.5.3              pyhd8ed1ab_0    conda-forge
jupyterlab                4.2.5              pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.3.0              pyhd8ed1ab_1    conda-forge
jupyterlab_server         2.27.3             pyhd8ed1ab_0    conda-forge
jupyterlab_widgets        3.0.13             pyhd8ed1ab_0    conda-forge
jxrlib                    1.1                  h93a5062_3    conda-forge
kahip                     3.16            py310he7e4bf1_4    conda-forge
kahip-python              3.16            py310h34c99ce_4    conda-forge
kiwisolver                1.4.7           py310h7306fd8_0    conda-forge
krb5                      1.21.3               h237132a_0    conda-forge
lame                      3.100             h1a8c8d9_1003    conda-forge
lcms2                     2.16                 ha0e7c42_0    conda-forge
ld64_osx-arm64            711                  h0605c9f_4    conda-forge
lerc                      4.0.0                h9a09cb3_0    conda-forge
libabseil                 20240116.2      cxx17_h00cdb27_1    conda-forge
libadios2                 2.10.1          mpi_openmpi_hd482e01_3    conda-forge
libaec                    1.1.3                hebf3989_0    conda-forge
libasprintf               0.22.5               h8414b35_3    conda-forge
libasprintf-devel         0.22.5               h8414b35_3    conda-forge
libass                    0.17.3               hf20b609_0    conda-forge
libblas                   3.9.0           23_osxarm64_openblas    conda-forge
libboost                  1.86.0               h29978a0_2    conda-forge
libboost-devel            1.86.0               hf450f58_2    conda-forge
libboost-headers          1.86.0               hce30654_2    conda-forge
libbrotlicommon           1.1.0                hd74edd7_2    conda-forge
libbrotlidec              1.1.0                hd74edd7_2    conda-forge
libbrotlienc              1.1.0                hd74edd7_2    conda-forge
libcblas                  3.9.0           23_osxarm64_openblas    conda-forge
libclang-cpp16            16.0.6          default_h5c12605_13    conda-forge
libclang13                18.1.8          default_hfc66aa2_4    conda-forge
libcurl                   8.9.1                hfd8ffcc_0    conda-forge
libcxx                    18.1.8               h3ed4263_7    conda-forge
libcxx-devel              16.0.6               h86353a2_2    conda-forge
libdeflate                1.21                 h99b78c6_0    conda-forge
libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
libev                     4.33                 h93a5062_2    conda-forge
libevent                  2.1.12               h2757513_1    conda-forge
libexpat                  2.6.3                hf9b8971_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgettextpo              0.22.5               h8414b35_3    conda-forge
libgettextpo-devel        0.22.5               h8414b35_3    conda-forge
libgfortran               5.0.0           13_2_0_hd922786_3    conda-forge
libgfortran5              13.2.0               hf226fd6_3    conda-forge
libglib                   2.80.3               h59d46d9_2    conda-forge
libhwloc                  2.11.1          default_h7685b71_1000    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
libidn2                   2.3.7                h93a5062_0    conda-forge
libintl                   0.22.5               h8414b35_3    conda-forge
libintl-devel             0.22.5               h8414b35_3    conda-forge
libjpeg-turbo             3.0.0                hb547adb_1    conda-forge
liblapack                 3.9.0           23_osxarm64_openblas    conda-forge
libllvm16                 16.0.6               haab561b_3    conda-forge
libllvm18                 18.1.8               h5090b49_2    conda-forge
libnetcdf                 4.9.2           nompi_he469be0_114    conda-forge
libnghttp2                1.58.0               ha4dd798_1    conda-forge
libogg                    1.3.5                h99b78c6_0    conda-forge
libopenblas               0.3.27          openmp_h517c56d_1    conda-forge
libopenvino               2024.3.0             h5c9529b_0    conda-forge
libopenvino-arm-cpu-plugin 2024.3.0             h5c9529b_0    conda-forge
libopenvino-auto-batch-plugin 2024.3.0             hcd65546_0    conda-forge
libopenvino-auto-plugin   2024.3.0             hcd65546_0    conda-forge
libopenvino-hetero-plugin 2024.3.0             h88cb26a_0    conda-forge
libopenvino-ir-frontend   2024.3.0             h88cb26a_0    conda-forge
libopenvino-onnx-frontend 2024.3.0             h32b5460_0    conda-forge
libopenvino-paddle-frontend 2024.3.0             h32b5460_0    conda-forge
libopenvino-pytorch-frontend 2024.3.0             h00cdb27_0    conda-forge
libopenvino-tensorflow-frontend 2024.3.0             h2741c3b_0    conda-forge
libopenvino-tensorflow-lite-frontend 2024.3.0             h00cdb27_0    conda-forge
libopus                   1.3.1                h27ca646_1    conda-forge
libpng                    1.6.43               h091b4b1_0    conda-forge
libpq                     16.4                 h671472c_1    conda-forge
libprotobuf               4.25.3               hbfab5d5_0    conda-forge
libptscotch               7.0.4                h5f5ebf5_5    conda-forge
libraw                    0.21.1               h2ee6834_2    conda-forge
libscotch                 7.0.4                h7c38b86_5    conda-forge
libsodium                 1.0.20               h99b78c6_0    conda-forge
libsqlite                 3.46.1               hc14010f_0    conda-forge
libssh2                   1.11.0               h7a5bd25_0    conda-forge
libtasn1                  4.19.0               h1a8c8d9_0    conda-forge
libtheora                 1.1.1             h99b78c6_1006    conda-forge
libtiff                   4.6.0                hf8409c0_4    conda-forge
libunistring              0.9.10               h3422bc3_0    conda-forge
libvorbis                 1.3.7                h9f76cd9_0    conda-forge
libvpx                    1.14.1               h7bae524_0    conda-forge
libwebp-base              1.4.0                h93a5062_0    conda-forge
libxcb                    1.16                 hc9fafa5_1    conda-forge
libxml2                   2.12.7               h01dff8b_4    conda-forge
libzip                    1.10.1               ha0bc3c6_3    conda-forge
libzlib                   1.3.1                hfb2fe0b_1    conda-forge
llvm-openmp               18.1.8               hde57baf_1    conda-forge
llvm-tools                16.0.6               haab561b_3    conda-forge
loguru                    0.7.2           py310hbe9552e_2    conda-forge
lxml                      5.3.0                    pypi_0    pypi
lz4-c                     1.9.4                hb7217d7_0    conda-forge
markupsafe                2.1.5           py310h493c2e1_1    conda-forge
matplotlib                3.9.2           py310hb6292c7_0    conda-forge
matplotlib-base           3.9.2           py310heb73f16_0    conda-forge
matplotlib-inline         0.1.7              pyhd8ed1ab_0    conda-forge
metis                     5.1.0             h13dd4ca_1007    conda-forge
mistune                   3.0.2              pyhd8ed1ab_0    conda-forge
mpfr                      4.2.1                h1cfca0a_2    conda-forge
mpi                       1.0                     openmpi    conda-forge
mpi4py                    4.0.0           py310h97fed95_3    conda-forge
msgpack-python            1.0.8           py310h7306fd8_1    conda-forge
multidict                 6.0.5           py310h72036c0_1    conda-forge
mumps-include             5.7.2                hce30654_0    conda-forge
mumps-mpi                 5.7.2                hbe42cef_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
mysql-common              9.0.1                h1687695_0    conda-forge
mysql-libs                9.0.1                h0e80b4a_0    conda-forge
nbclient                  0.10.0             pyhd8ed1ab_0    conda-forge
nbconvert-core            7.16.4             pyhd8ed1ab_1    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_0    conda-forge
ncurses                   6.5                  h7bae524_1    conda-forge
nest-asyncio              1.6.0              pyhd8ed1ab_0    conda-forge
nettle                    3.9.1                h40ed0f5_0    conda-forge
nlohmann_json             3.11.3               h00cdb27_1    conda-forge
notebook                  7.2.2              pyhd8ed1ab_0    conda-forge
notebook-shim             0.2.4              pyhd8ed1ab_0    conda-forge
numpy                     2.1.1           py310hcaf17df_0    conda-forge
occt                      7.7.2           novtk_h5f4376a_101    conda-forge
openexr                   3.2.2                h2c51e1d_1    conda-forge
openh264                  2.4.1                hebf3989_0    conda-forge
openjpeg                  2.5.2                h9f1df11_0    conda-forge
openmpi                   5.0.5              hba4779a_100    conda-forge
openssl                   3.3.2                h8359307_0    conda-forge
overrides                 7.7.0              pyhd8ed1ab_0    conda-forge
p11-kit                   0.24.1               h29577a5_0    conda-forge
packaging                 24.1               pyhd8ed1ab_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parmetis                  4.0.3             h9fe34a9_1006    conda-forge
parso                     0.8.4              pyhd8ed1ab_0    conda-forge
pcre2                     10.44                h297a79d_2    conda-forge
petsc                     3.21.5          real_h179f621_100    conda-forge
petsc4py                  3.21.5          py310h6530aa0_0    conda-forge
pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    10.4.0          py310h01af8b1_0    conda-forge
pip                       24.2               pyh8b19718_1    conda-forge
pixman                    0.43.4               hebf3989_0    conda-forge
pkg-config                0.29.2            hde07d2e_1009    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.2.2              pyhd8ed1ab_0    conda-forge
pooch                     1.8.2              pyhd8ed1ab_0    conda-forge
proj                      9.4.1                hfb94cee_1    conda-forge
prometheus_client         0.20.0             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.47             pyha770c72_0    conda-forge
prompt_toolkit            3.0.47               hd8ed1ab_0    conda-forge
psutil                    6.0.0           py310ha6dd24b_0    conda-forge
pthread-stubs             0.4               h27ca646_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pugixml                   1.14                 h13dd4ca_0    conda-forge
pure_eval                 0.2.3              pyhd8ed1ab_0    conda-forge
pycparser                 2.22               pyhd8ed1ab_0    conda-forge
pygments                  2.18.0             pyhd8ed1ab_0    conda-forge
pymobimp                  0.1                       dev_0    <develop>
pyobjc-core               10.3.1          py310h4b7648a_0    conda-forge
pyobjc-framework-cocoa    10.3.1          py310h4b7648a_0    conda-forge
pyparsing                 3.1.4              pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.10.14         h2469fbe_0_cpython    conda-forge
python-dateutil           2.9.0              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.20.0             pyhd8ed1ab_0    conda-forge
python-gmsh               4.12.2               h57928b3_0    conda-forge
python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
python_abi                3.10                    5_cp310    conda-forge
pytz                      2024.1             pyhd8ed1ab_0    conda-forge
pyvista                   0.44.1             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.2           py310h493c2e1_1    conda-forge
pyzmq                     26.2.0          py310hcab215c_2    conda-forge
qhull                     2020.2               h420ef59_5    conda-forge
qt6-main                  6.7.2                h4682d5d_5    conda-forge
rapidjson                 1.1.0.post20240409      h00cdb27_1    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
referencing               0.35.1             pyhd8ed1ab_0    conda-forge
requests                  2.32.3             pyhd8ed1ab_0    conda-forge
rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
rpds-py                   0.20.0          py310h7a930dc_1    conda-forge
scalapack                 2.2.0                h42f3407_2    conda-forge
scipy                     1.14.1          py310h35b72dc_0    conda-forge
scooby                    0.10.0             pyhd8ed1ab_0    conda-forge
send2trash                1.8.3              pyh31c8845_0    conda-forge
setuptools                73.0.1             pyhd8ed1ab_0    conda-forge
sigtool                   0.1.3                h44b9a77_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
slepc                     3.21.1          real_h46f4cc2_302    conda-forge
slepc4py                  3.21.1          py310hea9399d_104    conda-forge
snappy                    1.2.1                hd02b534_0    conda-forge
sniffio                   1.3.1              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
sqlite                    3.46.1               h3b4c4e4_0    conda-forge
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
suitesparse               7.8.2                hec630bf_0    conda-forge
superlu                   5.2.2                hc615359_0    conda-forge
superlu_dist              9.0.0                h72e2c5e_1    conda-forge
svt-av1                   2.2.1                ha39b806_0    conda-forge
tapi                      1300.6.5             h03f4b80_0    conda-forge
tbb                       2021.13.0            h7b3277c_0    conda-forge
tbb-devel                 2021.13.0            h8e01b61_0    conda-forge
terminado                 0.18.1             pyh31c8845_0    conda-forge
tinycss2                  1.3.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tornado                   6.4.1           py310h493c2e1_1    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_0    conda-forge
types-python-dateutil     2.9.0.20240906     pyhd8ed1ab_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_0    conda-forge
typing_extensions         4.12.2             pyha770c72_0    conda-forge
typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
tzdata                    2024a                h8827d51_1    conda-forge
unicodedata2              15.1.0          py310h2aa6e3c_0    conda-forge
uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
urllib3                   2.2.2              pyhd8ed1ab_1    conda-forge
utfcpp                    4.0.5                hce30654_0    conda-forge
vtk                       9.3.1           qt_py310h07c347a_205    conda-forge
vtk-base                  9.3.1           qt_py310h19442d6_205    conda-forge
vtk-io-ffmpeg             9.3.1           qt_py310h64321a6_205    conda-forge
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
webcolors                 24.8.0             pyhd8ed1ab_0    conda-forge
webencodings              0.5.1              pyhd8ed1ab_2    conda-forge
websocket-client          1.8.0              pyhd8ed1ab_0    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
widgetsnbextension        4.0.13             pyhd8ed1ab_0    conda-forge
wslink                    2.1.2              pyhd8ed1ab_0    conda-forge
x264                      1!164.3095           h57fd34a_2    conda-forge
x265                      3.5                  hbc6ce65_3    conda-forge
xorg-fixesproto           5.0               h3422bc3_1002    conda-forge
xorg-kbproto              1.0.7             h27ca646_1002    conda-forge
xorg-libice               1.1.1                hb547adb_0    conda-forge
xorg-libsm                1.2.4                hb547adb_0    conda-forge
xorg-libx11               1.8.9                he5f3e76_1    conda-forge
xorg-libxau               1.0.11               hb547adb_0    conda-forge
xorg-libxdmcp             1.1.3                h27ca646_0    conda-forge
xorg-libxext              1.3.4                h1a8c8d9_2    conda-forge
xorg-libxfixes            5.0.3             h3422bc3_1004    conda-forge
xorg-libxrender           0.9.11               hb547adb_0    conda-forge
xorg-renderproto          0.11.1            h27ca646_1002    conda-forge
xorg-xextproto            7.3.0             h1a8c8d9_1003    conda-forge
xorg-xproto               7.0.31            h27ca646_1007    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
yarl                      1.9.11          py310h493c2e1_0    conda-forge
zeromq                    4.3.5                h64debc3_5    conda-forge
zfp                       0.5.5                hcfdfaf5_8    conda-forge
zipp                      3.20.1             pyhd8ed1ab_0    conda-forge
zlib                      1.3.1                hfb2fe0b_1    conda-forge
zlib-ng                   2.2.1                h00cdb27_0    conda-forge
zstandard                 0.23.0          py310h2665a74_1    conda-forge
zstd                      1.5.6                hb46c0d2_0    conda-forge

Thanks and kind regards,
Tom