Real Element Type in DolfinX

Hi,

I need to use “Real type element” within the mixed function space in dolfinx, as shown below, but I run into the error as attached below, Is there a way I can fix this? or what is the replacement for real type element in dolfinx?. Can anybody help me out with this if you know.

import dolfinx
import numpy as np
from mpi4py import MPI

import dolfinx.fem as fem
from petsc4py import PETSc
from dolfinx.fem.petsc import (apply_lifting, apply_lifting_nest,
                               assemble_matrix, assemble_matrix_block,
                               assemble_matrix_nest, assemble_vector,
                               assemble_vector_block, assemble_vector_nest,
                               create_matrix, create_matrix_block,
                               create_matrix_nest, create_vector,
                               create_vector_block, create_vector_nest, set_bc,
                               set_bc_nest)
from ufl import (Circumradius, FacetNormal, SpatialCoordinate, TrialFunction,
                 TestFunction, div, ds, grad, inner,dot, nabla_grad, nabla_div,Identity,dot, dx)
from dolfinx.mesh import CellType, create_box, locate_entities_boundary
from dolfinx.mesh import locate_entities
from dolfinx.mesh import locate_entities_boundary
from dolfinx.fem import (Constant, dirichletbc, Function, FunctionSpace, VectorFunctionSpace, 
                         locate_dofs_topological,assemble_scalar,form)
import ufl
from ufl import (Form, SpatialCoordinate, VectorElement, FiniteElement, TensorElement, MixedElement,as_tensor,as_vector,dot,TestFunction, TrialFunction,TestFunctions, TrialFunctions,dx, ds, grad, FacetNormal,inner, max_value,nabla_grad, nabla_div, Identity)
from scipy.optimize import root
from petsc4py.PETSc import ScalarType
import dolfinx.io
from petsc4py import PETSc
from dolfinx.fem import (apply_lifting, locate_dofs_geometrical, set_bc)
from dolfinx.io import XDMFFile
from dolfinx.mesh import create_unit_square

N = 1
L, B, H = 1,1,1

mesh = dolfinx.mesh.create_box(MPI.COMM_WORLD, [np.array([0,0,0]), np.array([L, B, H])], [N,N,N])
#Create mesh

U = VectorElement("CG", mesh.ufl_cell(), 1)# # displacement vector element
V = FiniteElement("CG", mesh.ufl_cell(), 1) # voltage finite element
V0 = FiniteElement("Real", mesh.ufl_cell(), 0) # Lagrange multiplier
U1, V1 = FunctionSpace(mesh, U), FunctionSpace(mesh, V)

W = FunctionSpace(mesh, MixedElement([U, V, V0]))
num_dofs_global = W.dofmap.index_map.size_global * W.dofmap.index_map_bs
print(f"Number of dofs global: {num_dofs_global}")

# Parameters of Anisotropic Piezomaterial (PIC-255)
c_11 = (1.23e11)
c_12 = (7.67e10)
c_13 = (7.023e10)
c_33 = (9.711e10)
c_44 = (2.226e10)

# Relative permitivity matrix parameters
eps_0 = (8.854e-12) # relative permitivity of free space
eps_11 = (1649 * eps_0)
eps_33 = (1750 * eps_0)

# Coupling matrix parameters
e_13 = (-7.15)
e_33 = (13.75)
e_15 = (11.91)

# Order of matrices similar to ANSYS notation: x, y, z, xy, yz,xz
# IEEE notation: x, y, z, yz, xz, xy
# Elasticity tensor c^E
#IEEE Notation
C = as_tensor([[c_11, c_12, c_13, 0., 0., 0.], 
               [c_12, c_11, c_13, 0., 0., 0.],
               [c_13, c_13, c_33, 0., 0., 0.],
               [0., 0., 0., c_44, 0., 0],
               [0., 0., 0., 0., c_44, 0.],
               [0., 0., 0., 0., 0., (c_11-c_12)/2]])

# piezoelectric coupling tensor e
et_piezo = as_tensor([[0.0, 0.0, 0.0, 0.0, e_15, 0.0],
                     [0.0, 0.0, 0.0, e_15, 0.0, 0.0],
                     [e_13, e_13, e_33, 0.0, 0.0, 0.0]])

# transpose form of piezo tensor
e_piezo = as_tensor([[0.0, 0.0, e_13],
                    [0.0, 0.0, e_13],
                    [0.0, 0.0, e_33],
                    [0.0, e_15, 0.0],
                    [e_15, 0.0, 0.0],
                    [0.0, 0.0, 0.0]])

# Permittivitats tensor  epsilon^S
eps_s = as_tensor([[eps_11, 0., 0.],
                    [0., eps_11, 0.],
                    [0., 0., eps_33]])

# rewrite the tensor into a vector using Voigt notation
def strain3voigt(ten):
    # FEniCS does not know anything about Voigt notation, 
    # so one need to access the components directly as eps[0, 0] etc.   
    return as_vector([ten[0,0],ten[1,1],ten[2,2],2*ten[1,2],2*ten[0,2],2*ten[0,1]])

# rewrite a vector into a tensor using Voigt notation
def voigt3stress(vec):
    return as_tensor([[vec[0], vec[5], vec[4]], 
                      [vec[5], vec[1], vec[3]],
                      [vec[4], vec[3], vec[2]]])

# first define the function for the strain tensor in fenics notation
def B(u):
    return 0.5*(nabla_grad(u) + nabla_grad(u).T)

#define the electric field vector                 
def E_field_vector(Ei): 
    return as_vector([Ei[0], Ei[1], Ei[2]])
                  
#define the electric field in relation to potential
def E_field(v):
    return -grad(v)

def Sigma(u):
   return voigt3stress(dot(C, strain3voigt(B(u))))
#definition of the different components of my Stress tensor equation (sigma=C^E:Bu-e_piezo.E)
def sigma(u, v):
   return voigt3stress(dot(C, strain3voigt(B(u))) - e_piezo * E_field_vector(E_field(v)))

# the electric displacements vector
def disp_D(Di):
    return as_vector([Di[0], Di[1], Di[2]])

# definition of the different components of my electric displacements equation (D=e^s:Bu+eps^S.E)
# elect_disp_D for coupled linear elasicity and electrostatics
def D_field(u, v):
    D =   et_piezo * strain3voigt(B(u)) + eps_s * E_field(v)
    return disp_D(D)

# Displacement Dirichlet BC
fdim = mesh.topology.dim - 1

def clamped_boundary(x):
    return np.isclose(x[1], 0)

boundary_facets = locate_entities_boundary(mesh, fdim, clamped_boundary)
u_D = Function(U1)
with u_D.vector.localForm() as loc:
     loc.set(0)
bc1 = dirichletbc(u_D, locate_dofs_topological((W.sub(0), U1), fdim, boundary_facets), W.sub(0))

# Voltage Dirichlet BC
def Ground(x):
    return np.isclose(x[2], 1)

ground_facets = locate_entities_boundary(mesh, fdim, Ground)
v_D = Function(V1)
with v_D.vector.localForm() as loc:
     loc.set(0)
bc2 = dirichletbc(v_D, locate_dofs_topological((W.sub(1),V1), fdim, ground_facets), W.sub(1))

bcs =[bc1,bc2]

# Trial and Test functions
(u, v, v0) = TrialFunctions(W)
(wu, wv, wv0) = TestFunctions(W)

# Boundary Marking
boundaries = [(2, lambda x: np.isclose(x[2], 0))]  # coupling surface
# loop through all the boundary conditions to identify the facets
facet_indices, facet_markers = [], []
for (marker, locator) in boundaries:
    facets = locate_entities_boundary(mesh, fdim, locator)
    facet_indices.append(facets)
    facet_markers.append(np.full(len(facets), marker))
facet_indices = np.array(np.hstack(facet_indices), dtype=np.int32)
facet_markers = np.array(np.hstack(facet_markers), dtype=np.int32)
sorted_facets = np.argsort(facet_indices)
facet_tag = dolfinx.mesh.meshtags(mesh, fdim, facet_indices[sorted_facets], facet_markers[sorted_facets])
ds = ufl.Measure('ds', domain=mesh, subdomain_data=facet_tag)

n = FacetNormal(mesh)
T = Constant(mesh, ScalarType((0,0,0)))
Tv = Constant(mesh, ScalarType((1e-6))) # surface charge
he = 2*Circumradius(mesh)
alpha = (100)/he

# Weak Formulation
Kuuv = (inner(sigma(u, v), B(wu)))*dx
Kvvu = (inner(-D_field(u, v), grad(wv)))*dx \
       + inner(D_field(u, v), n)* wv * ds(2) + inner(D_field(wu, wv), n)*(v)*ds(2) - alpha*inner((v), wv)*ds(2) - inner(D_field(u, v), n)* wv0 * ds(2)
   
soln = Function(W)
a =   Kuuv + Kvvu
L = inner(T, wu)*ds - inner(Tv, wv)* ds(2) +  inner(D_field(wu, wv), n)*(5)*ds(2) + alpha*inner((5), wv)*ds(2)

# Set up the PDE
problem = fem.petsc.LinearProblem(a, L, bcs, petsc_options={"ksp_type": "preonly", "pc_type": "lu"})
soln = problem.solve()
Ur = soln.sub(0).collapse()
Vr = soln.sub(1).collapse()
V0 = soln.sub(2).collapse()

error message:

Traceback (most recent call last):
  File "/root/3D_PiezoCube/piezocube_FP_Nitsche.py", line 46, in <module>
    W = FunctionSpace(mesh, MixedElement([U, V, V0]))
  File "/usr/local/dolfinx-real/lib/python3.8/dist-packages/dolfinx/fem/function.py", line 448, in __init__
    (self._ufcx_element, self._ufcx_dofmap), module, code = jit.ffcx_jit(
  File "/usr/local/dolfinx-real/lib/python3.8/dist-packages/dolfinx/jit.py", line 56, in mpi_jit
    return local_jit(*args, **kwargs)
  File "/usr/local/dolfinx-real/lib/python3.8/dist-packages/dolfinx/jit.py", line 206, in ffcx_jit
    r = ffcx.codegeneration.jit.compile_elements([ufl_object], parameters=p_ffcx, **p_jit)
  File "/usr/local/lib/python3.9/dist-packages/ffcx/codegeneration/jit.py", line 126, in compile_elements
    impl = _compile_objects(decl, elements, names, module_name, p, cache_dir,
  File "/usr/local/lib/python3.9/dist-packages/ffcx/codegeneration/jit.py", line 232, in _compile_objects
    _, code_body = ffcx.compiler.compile_ufl_objects(ufl_objects, prefix=module_name, parameters=parameters)
  File "/usr/local/lib/python3.9/dist-packages/ffcx/compiler.py", line 103, in compile_ufl_objects
    ir = compute_ir(analysis, object_names, prefix, parameters, visualise)
  File "/usr/local/lib/python3.9/dist-packages/ffcx/ir/representation.py", line 85, in compute_ir
    ir_elements = [
  File "/usr/local/lib/python3.9/dist-packages/ffcx/ir/representation.py", line 86, in <listcomp>
    _compute_element_ir(e, analysis.element_numbers, finite_element_names)
  File "/usr/local/lib/python3.9/dist-packages/ffcx/ir/representation.py", line 122, in _compute_element_ir
    basix_element = create_element(ufl_element)
  File "/usr/local/lib/python3.9/dist-packages/ffcx/element_interface.py", line 66, in create_element
    family_type = basix.finite_element.string_to_family(family_name, element.cell().cellname())
  File "/usr/local/lib/python3.9/dist-packages/basix/finite_element.py", line 87, in string_to_family
    raise ValueError(f"Unknown element family: {family} with cell type {cell}")
ValueError: Unknown element family: Real with cell type tetrahedron

See: Add Real Space by jhale · Pull Request #2266 · FEniCS/dolfinx · GitHub

A prototype implementation for real spaces is available in: GitHub - scientificcomputing/scifem: Scientific finite element toolbox

2 Likes

Hi!
This looks very promising, and I really would like to use the lib! Unfortunately, there is an incompatibility with dolfinx 0.8.0 and I can’t figure out what to do.

I am running a mininal example:

import dolfinx as dfx
from mpi4py.MPI import COMM_WORLD as comm
import numpy as np
from scifem import create_real_functionspace

M = 20
mesh = dfx.mesh.create_unit_square(
    comm, M, M, dfx.mesh.CellType.triangle, dtype=np.float64
)
V = dfx.fem.functionspace(mesh, ("Lagrange", 1))

R = create_real_functionspace(mesh)

getting the output

Traceback (most recent call last):
  File "/Users/---/Documents/Demos/Python/Fenicsx/basic_features/real_element_minimal.py", line 12, in <module>
    R = create_real_functionspace(mesh)
  File "/Users/---/anaconda3/envs/fenicsx-env/lib/python3.10/site-packages/scifem/__init__.py", line 51, in create_real_functionspace
    cppV = _scifem.create_real_functionspace_float64(mesh._cpp_object, value_shape)
TypeError: create_real_functionspace_float64(): incompatible function arguments. The following argument types are supported:
    1. create_real_functionspace_float64(arg0: dolfinx::mesh::Mesh<double>, arg1: collections.abc.Sequence[int], /) -> dolfinx::fem::FunctionSpace<double>

Invoked with types: dolfinx.cpp.mesh.Mesh_float64, tuple

My conda env is

# packages in environment at /Users/---/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
colorama                  0.4.6              pyhd8ed1ab_0    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
coverage                  7.6.1           py310h493c2e1_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
distlib                   0.3.8                    pypi_0    pypi
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
filelock                  3.16.1                   pypi_0    pypi
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
imageio                   2.35.1             pyh12aca89_0    conda-forge
imageio-ffmpeg            0.5.1              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
iniconfig                 2.0.0              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
pbr                       6.1.0                    pypi_0    pypi
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
pluggy                    1.5.0              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
pytest                    8.3.3              pyhd8ed1ab_0    conda-forge
pytest-cov                5.0.0              pyhd8ed1ab_0    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
scifem                    0.2.6                    pypi_0    pypi
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
stevedore                 5.3.0                    pypi_0    pypi
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
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tornado                   6.4.1           py310h493c2e1_1    conda-forge
tqdm                      4.66.5             pyhd8ed1ab_0    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
virtualenv                20.26.5                  pypi_0    pypi
virtualenv-clone          0.5.7                    pypi_0    pypi
virtualenvwrapper         6.1.0                    pypi_0    pypi
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

and I’ve installed scifemvia

python3 -m pip install scifem

Is there anything I can do to fix the issue?

Best,
Tom

PS: I’ve also create an issue on github, since I am not sure whether this is with scifem or dolfinx. Sorry for double-posting

Use conda for installation of scifem: Scifem | Anaconda.org
to ensure compatibility between scifem nanobindings and DOLFINx/basix (ref: TypeError when running Real Function Space example · Issue #39 · scientificcomputing/scifem · GitHub)

Yes, that worked, thanks a lot!
Sorry, didn’t see the previous discussion on GitHub.

Conda installation of scifem is not working for me. I am installing as follows:

mamba install -c conda-forge fenics-dolfinx=0.8 petsc=*=complex* mpich gmsh
 python-gmsh dolfinx_mpc matplotlib ipykernel scipy scifem

This leads to the following error:

Looking for: ['fenics-dolfinx=0.8', 'petsc=[build=complex*]', 'mpich', 'gmsh', 'python-gmsh', 'dolfinx_mpc', 'matplotlib', 'ipykernel', 'scipy', 'scifem']

pkgs/main/linux-64                                            No change
pkgs/main/noarch                                              No change
pkgs/r/linux-64                                               No change
pkgs/r/noarch                                                 No change
conda-forge/noarch                                  16.9MB @  13.5MB/s  1.3s
conda-forge/linux-64                                39.1MB @  20.6MB/s  1.9s
Could not solve for environment specs
The following packages are incompatible
├─ fenics-dolfinx 0.8**  is installable with the potential options
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h307f709_0|0.8.0 h37385f1_0|...|0.8.0 hef0fd5a_0], which requires
│  │  │  └─ slepc >=3.20.2,<3.21.0a0 complex_*, which requires
│  │  │     └─ petsc >=3.20.5,<3.21.0a0 complex_*, which can be installed;
│  │  └─ petsc >=3.20.6,<3.21.0a0  with the potential options
│  │     ├─ petsc 3.20.6, which can be installed;
│  │     └─ petsc 3.20.6 conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h02546da_106|0.8.0 h2b1b337_106|...|0.8.0 hbf4138e_106], which requires
│  │  │  └─ petsc [* real_*|>=3.21.5,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.5,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h0135826_107|0.8.0 h0135826_108|...|0.8.0 hebf603c_108], which requires
│  │  │  └─ petsc [* real_*|>=3.21.6,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.6,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h03c8ada_6|0.8.0 h0e92912_6|...|0.8.0 hf08f701_6] with the potential options
│  │  │  ├─ fenics-libdolfinx 0.8.0 would require
│  │  │  │  └─ petsc * complex_* with the potential options
│  │  │  │     ├─ petsc 3.20.5, which can be installed;
│  │  │  │     ├─ petsc 3.20.6, which can be installed;
│  │  │  │     ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │  │     ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │  │     ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │  │     ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │  │     └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  │  └─ fenics-libdolfinx 0.8.0 would require
│  │  │     └─ petsc [* complex_*|>=3.21.5,<3.22.0a0 ] with the potential options
│  │  │        ├─ petsc 3.20.5, which can be installed;
│  │  │        ├─ petsc 3.20.6, which can be installed;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.5,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h0ad4dc9_7|0.8.0 h0ad4dc9_8|...|0.8.0 hf269e3b_8] with the potential options
│  │  │  ├─ fenics-libdolfinx 0.8.0, which can be installed (as previously explained);
│  │  │  └─ fenics-libdolfinx 0.8.0 would require
│  │  │     └─ petsc [* complex_*|>=3.21.6,<3.22.0a0 ] with the potential options
│  │  │        ├─ petsc 3.20.5, which can be installed;
│  │  │        ├─ petsc 3.20.6, which can be installed;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.6,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h1f23798_101|0.8.0 h1f23798_102|...|0.8.0 hfeeeb9f_103], which requires
│  │  │  └─ petsc [* real_*|>=3.21.1,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.1,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h05db56b_104|0.8.0 h06f9307_105|...|0.8.0 hcb8e885_104], which requires
│  │  │  └─ petsc [* real_*|>=3.21.4,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.4,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h07c621b_4|0.8.0 h2010257_5|...|0.8.0 hed27a85_5] with the potential options
│  │  │  ├─ fenics-libdolfinx 0.8.0, which can be installed (as previously explained);
│  │  │  └─ fenics-libdolfinx 0.8.0 would require
│  │  │     └─ petsc [* complex_*|>=3.21.4,<3.22.0a0 ] with the potential options
│  │  │        ├─ petsc 3.20.5, which can be installed;
│  │  │        ├─ petsc 3.20.6, which can be installed;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.4,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h1f5ddee_100|0.8.0 h2f13029_100|...|0.8.0 hff6b1d1_100], which requires
│  │  │  └─ petsc [* real_*|>=3.20.6,<3.21.0a0 ] with the potential options
│  │  │     ├─ petsc 3.20.6, which can be installed;
│  │  │     ├─ petsc 3.20.6 conflicts with any installable versions previously reported;
│  │  │     ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │     ├─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  │     ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │     ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │     └─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.20.6,<3.21.0a0  with the potential options
│  │     ├─ petsc 3.20.6, which can be installed;
│  │     └─ petsc 3.20.6 conflicts with any installable versions previously reported;
│  └─ fenics-dolfinx 0.8.0 would require
│     ├─ fenics-libdolfinx [0.8.0 h2f6095f_1|0.8.0 h2f6095f_2|...|0.8.0 hfd548a3_3] with the potential options
│     │  ├─ fenics-libdolfinx 0.8.0, which can be installed (as previously explained);
│     │  └─ fenics-libdolfinx 0.8.0 would require
│     │     └─ petsc [* complex_*|>=3.21.1,<3.22.0a0 ] with the potential options
│     │        ├─ petsc 3.20.5, which can be installed;
│     │        ├─ petsc 3.20.6, which can be installed;
│     │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│     │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│     │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│     │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│     │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│     └─ petsc >=3.21.1,<3.22.0a0 , which conflicts with any installable versions previously reported;
├─ petsc * complex* is installable with the potential options
│  ├─ petsc 3.20.5, which can be installed;
│  ├─ petsc 3.20.6, which can be installed;
│  ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
└─ scifem is not installable because there are no viable options
   ├─ scifem 0.2.5 would require
   │  └─ petsc [* real_*|>=3.21.6,<3.22.0a0 ], which conflicts with any installable versions previously reported;
   └─ scifem 0.2.7 would require
      └─ fenics-libdolfinx >=0.9.0,<0.9.1.0a0 , which conflicts with any installable versions previously reported.```

Attempt to install dolfinx 0.9 leads to similar problem.

We made a patch for this last night could you tur again in 2 hours?

Tried just now without luck. If it helps, here is the output:

Looking for: ['fenics-dolfinx=0.8', 'petsc=[build=complex*]', 'mpich', 'gmsh', 'python-gmsh', 'dolfinx_mpc', 'matplotlib', 'ipykernel', 'scipy', 'scifem']

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
pkgs/main/linux-64                                            No change
pkgs/r/noarch                                                 No change
pkgs/main/noarch                                              No change
pkgs/r/linux-64                                               No change
Could not solve for environment specs
The following packages are incompatible
├─ fenics-dolfinx 0.8**  is installable with the potential options
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h307f709_0|0.8.0 h37385f1_0|...|0.8.0 hef0fd5a_0], which requires
│  │  │  └─ slepc >=3.20.2,<3.21.0a0 complex_*, which requires
│  │  │     └─ petsc >=3.20.5,<3.21.0a0 complex_*, which can be installed;
│  │  └─ petsc >=3.20.6,<3.21.0a0  with the potential options
│  │     ├─ petsc 3.20.6, which can be installed;
│  │     └─ petsc 3.20.6 conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h02546da_106|0.8.0 h2b1b337_106|...|0.8.0 hbf4138e_106], which requires
│  │  │  └─ petsc [* real_*|>=3.21.5,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.5,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h0135826_107|0.8.0 h0135826_108|...|0.8.0 hebf603c_108], which requires
│  │  │  └─ petsc [* real_*|>=3.21.6,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.6,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h03c8ada_6|0.8.0 h0e92912_6|...|0.8.0 hf08f701_6] with the potential options
│  │  │  ├─ fenics-libdolfinx 0.8.0 would require
│  │  │  │  └─ petsc * complex_* with the potential options
│  │  │  │     ├─ petsc 3.20.5, which can be installed;
│  │  │  │     ├─ petsc 3.20.6, which can be installed;
│  │  │  │     ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │  │     ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │  │     ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │  │     ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │  │     └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  │  └─ fenics-libdolfinx 0.8.0 would require
│  │  │     └─ petsc [* complex_*|>=3.21.5,<3.22.0a0 ] with the potential options
│  │  │        ├─ petsc 3.20.5, which can be installed;
│  │  │        ├─ petsc 3.20.6, which can be installed;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.5,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h0ad4dc9_7|0.8.0 h0ad4dc9_8|...|0.8.0 hf269e3b_8] with the potential options
│  │  │  ├─ fenics-libdolfinx 0.8.0, which can be installed (as previously explained);
│  │  │  └─ fenics-libdolfinx 0.8.0 would require
│  │  │     └─ petsc [* complex_*|>=3.21.6,<3.22.0a0 ] with the potential options
│  │  │        ├─ petsc 3.20.5, which can be installed;
│  │  │        ├─ petsc 3.20.6, which can be installed;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.6,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h1f23798_101|0.8.0 h1f23798_102|...|0.8.0 hfeeeb9f_103], which requires
│  │  │  └─ petsc [* real_*|>=3.21.1,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.1,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h05db56b_104|0.8.0 h06f9307_105|...|0.8.0 hcb8e885_104], which requires
│  │  │  └─ petsc [* real_*|>=3.21.4,<3.22.0a0 ], which conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.4,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h07c621b_4|0.8.0 h2010257_5|...|0.8.0 hed27a85_5] with the potential options
│  │  │  ├─ fenics-libdolfinx 0.8.0, which can be installed (as previously explained);
│  │  │  └─ fenics-libdolfinx 0.8.0 would require
│  │  │     └─ petsc [* complex_*|>=3.21.4,<3.22.0a0 ] with the potential options
│  │  │        ├─ petsc 3.20.5, which can be installed;
│  │  │        ├─ petsc 3.20.6, which can be installed;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.21.4,<3.22.0a0 , which conflicts with any installable versions previously reported;
│  ├─ fenics-dolfinx 0.8.0 would require
│  │  ├─ fenics-libdolfinx [0.8.0 h1f5ddee_100|0.8.0 h2f13029_100|...|0.8.0 hff6b1d1_100], which requires
│  │  │  └─ petsc [* real_*|>=3.20.6,<3.21.0a0 ] with the potential options
│  │  │     ├─ petsc 3.20.6, which can be installed;
│  │  │     ├─ petsc 3.20.6 conflicts with any installable versions previously reported;
│  │  │     ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  │  │     ├─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│  │  │     ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  │  │     ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  │  │     └─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  │  └─ petsc >=3.20.6,<3.21.0a0  with the potential options
│  │     ├─ petsc 3.20.6, which can be installed;
│  │     └─ petsc 3.20.6 conflicts with any installable versions previously reported;
│  └─ fenics-dolfinx 0.8.0 would require
│     ├─ fenics-libdolfinx [0.8.0 h2f6095f_1|0.8.0 h2f6095f_2|...|0.8.0 hfd548a3_3] with the potential options
│     │  ├─ fenics-libdolfinx 0.8.0, which can be installed (as previously explained);
│     │  └─ fenics-libdolfinx 0.8.0 would require
│     │     └─ petsc [* complex_*|>=3.21.1,<3.22.0a0 ] with the potential options
│     │        ├─ petsc 3.20.5, which can be installed;
│     │        ├─ petsc 3.20.6, which can be installed;
│     │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│     │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│     │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│     │        ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│     │        ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│     │        └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
│     └─ petsc >=3.21.1,<3.22.0a0 , which conflicts with any installable versions previously reported;
├─ petsc * complex* is installable with the potential options
│  ├─ petsc 3.20.5, which can be installed;
│  ├─ petsc 3.20.6, which can be installed;
│  ├─ petsc 3.21.6 conflicts with any installable versions previously reported;
│  ├─ petsc [3.21.1|3.21.2|3.21.3] conflicts with any installable versions previously reported;
│  ├─ petsc 3.21.4 conflicts with any installable versions previously reported;
│  ├─ petsc 3.21.5 conflicts with any installable versions previously reported;
│  └─ petsc [3.15.0|3.15.1|...|3.22.0] conflicts with any installable versions previously reported;
└─ scifem is not installable because there are no viable options
   ├─ scifem 0.2.5 would require
   │  └─ petsc [* real_*|>=3.21.6,<3.22.0a0 ], which conflicts with any installable versions previously reported;
   └─ scifem [0.2.7|0.2.8] would require
      └─ fenics-libdolfinx >=0.9.0,<0.9.1.0a0 , which conflicts with any installable versions previously reported.

Could you try with the 0.9.0 release?

The error log is huge and I just noticed that dolfinx_mpc is also causing problems. Here is the situation:

  1. For dolfinx 0.8, I can install it with real petsc even if I have dolfinx_mpc. It does not work for the complex petsc build with/out dolfinx_mpc.

  2. For dolfinx 0.9, not asking for dolfinx_mpc allows me to install scifem for both real and complex petsc builds

You should now be able to install a complex build with scifem and dolfinx_mpc with both dolfinx 0.8 and 0.9.

2 Likes