I'm new to DOLFINx and I'm trying to run this script.
import numpy as np
from mpi4py import MPI
import dolfinx
import ufl
import pyvista
from petsc4py import PETSc
print("version", dolfinx.__version__)
print("file", dolfinx.__file__)
domain = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 10, 10)
V = dolfinx.fem.functionspace(domain, ("CG", 1))
u_bc = dolfinx.fem.Function(V)
u_bc.x.array[:] = 0.0
def boundary(x):
return np.full(x.shape[1], True)
bc = dolfinx.fem.dirichletbc(u_bc, dolfinx.fem.locate_dofs_geometrical(V, boundary))
u = ufl.TrialFunction(V)
v = ufl.TestFunction(V)
f = dolfinx.fem.Constant(domain, 1.0) # RHS = 1
a = ufl.dot(ufl.grad(u), ufl.grad(v)) * ufl.dx
L = f * v * ufl.dx
a = dolfinx.fem.form(a)
L = dolfinx.fem.form(L)
problem = dolfinx.fem.LinearProblem(a, L, bcs=[bc], petsc_options={"ksp_type": "cg", "pc_type": "hypre"})
uh = problem.solve()
I am not aware that they renamed or moved LinearProblem. I am using version 0.10.0 of dolfinx:stable.