Hello,
I am having trouble with a fairly simple task. I want to create a Function
based of a mixed element space.
I found a few examples for that, but for some reason all of them result in the same error and I can’t see where I made a mistake. Below is the code that produces the error
import numpy as np
from ufl import *
import dolfinx
from dolfinx import mesh, fem, io, plot
from dolfinx.fem.petsc import LinearProblem
from dolfinx.nls.petsc import NewtonSolver
from mpi4py import MPI
from petsc4py import PETSc
domain = mesh.create_rectangle(MPI.COMM_WORLD, [(0.0, 0.0), (10.0, 1.0)],
(50,5), mesh.CellType.quadrilateral)
U = VectorElement("Lagrange", domain.ufl_cell(), degree=2)
P = FiniteElement("Lagrange", domain.ufl_cell(), degree=1)
space = FunctionSpace(domain, U*P)
w0 = fem.Function(space)
The error I get is
AttributeError Traceback (most recent call last)
/home/vm/fenics/up-fenicsx.ipynb Cell 2 line 1
13 P = FiniteElement("Lagrange", domain.ufl_cell(), degree=1)
14 space = FunctionSpace(domain, U*P)
---> 16 w0 = fem.Function(space)
File ~/anaconda3/envs/fenicsx/lib/python3.11/site-packages/dolfinx/fem/function.py:302, in Function.__init__(self, V, x, name, dtype)
300 self._cpp_object = functiontype(dtype)(V._cpp_object, x._cpp_object)
301 else:
--> 302 self._cpp_object = functiontype(dtype)(V._cpp_object)
304 # Initialize the ufl.FunctionSpace
305 super().__init__(V.ufl_function_space())
AttributeError: 'FunctionSpace' object has no attribute '_cpp_object'
w0 is supposed to store the initial condition for my problem, if that helps. Not sure if this note helps, but I can create Testfunctions
and a Trialfunction
from space
.