Skip to content

Commit f0cee38

Browse files
committed
Update PETSc vector creation API (FEniCS/dolfinx#3659)
1 parent 96bdd35 commit f0cee38

6 files changed

+11
-13
lines changed

python/demos/create_and_export_mesh.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ def gmsh_2D_stacked(celltype: str, theta: float, verbose: bool = False) -> Tuple
394394
gmsh.clear()
395395
gmsh.finalize()
396396
MPI.COMM_WORLD.barrier()
397-
return mesh, mesh_data.facet_tags
397+
return mesh, mesh_data.facet_tags
398398

399399

400400
def mesh_2D_dolfin(celltype: str, theta: float = 0, outdir: Union[str, Path] = Path("meshes")):

python/demos/demo_periodic_gep.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ def pbc_slave_to_master_map(x):
354354
mpc.backsubstitution(eigvec_r[i])
355355
eigvec_i[i].x.scatter_forward()
356356
mpc.backsubstitution(eigvec_i[i])
357-
print0(f"Computed eigenvalues:\n {np.around(eigval,decimals=2)}")
357+
print0(f"Computed eigenvalues:\n {np.around(eigval, decimals=2)}")
358358

359359
# Save all eigenvectors
360360
suffix = "".join([bc_type[0] for bc_type in boundary_condition])
@@ -378,7 +378,7 @@ def print_exact_eigenvalues(boundary_condition: List[str], N: int):
378378
ev_y = [(n * 2 * np.pi / L[1]) ** 2 for n in range(-N, N)]
379379
ev_ex = np.sort([r + q for r in ev_x for q in ev_y])
380380
ev_ex = ev_ex[0:N]
381-
print0(f"Exact eigenvalues (repeated with multiplicity):\n {np.around(ev_ex,decimals=2)}")
381+
print0(f"Exact eigenvalues (repeated with multiplicity):\n {np.around(ev_ex, decimals=2)}")
382382

383383

384384
# Dirichlet boundary condition on {x=0} and {x=1}

python/dolfinx_mpc/assemble_vector.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212

1313
import dolfinx.cpp as _cpp
1414
import dolfinx.fem as _fem
15-
import dolfinx.la as _la
1615
import numpy
1716
import ufl
1817
from dolfinx import default_scalar_type
1918
from dolfinx.common import Timer
19+
from dolfinx.la.petsc import create_vector
2020

2121
import dolfinx_mpc.cpp
2222

@@ -74,7 +74,7 @@ def assemble_vector(
7474
"""
7575

7676
if b is None:
77-
b = _la.create_petsc_vector(
77+
b = create_vector(
7878
constraint.function_space.dofmap.index_map,
7979
constraint.function_space.dofmap.index_map_bs,
8080
)

python/dolfinx_mpc/numba/assemble_vector.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
import dolfinx
1414
import dolfinx.cpp as _cpp
1515
import dolfinx.fem as _fem
16-
import dolfinx.la as _la
1716
import dolfinx.log as _log
1817
import numpy
1918
import numpy.typing as npt
2019
from dolfinx.common import Timer
20+
from dolfinx.la.petsc import create_vector
2121

2222
import numba
2323
from dolfinx_mpc.multipointconstraint import MultiPointConstraint
@@ -68,7 +68,7 @@ def assemble_vector(form: _forms, constraint: MultiPointConstraint, b: Optional[
6868
# Get index map and ghost info
6969
if b is None:
7070
index_map = constraint.function_space.dofmap.index_map
71-
vector = _la.create_petsc_vector(index_map, block_size)
71+
vector = create_vector(index_map, block_size)
7272
else:
7373
vector = b
7474

python/dolfinx_mpc/problem.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import ufl
1515
from dolfinx import cpp as _cpp
1616
from dolfinx import fem as _fem
17-
from dolfinx import la as _la
17+
from dolfinx.la.petsc import create_vector
1818

1919
from .assemble_matrix import assemble_matrix, create_sparsity_pattern
2020
from .assemble_vector import apply_lifting, assemble_vector
@@ -107,9 +107,7 @@ def __init__(
107107
pattern.finalize()
108108
self._A = _cpp.la.petsc.create_matrix(self._mpc.function_space.mesh.comm, pattern)
109109

110-
self._b = _la.create_petsc_vector(
111-
self._mpc.function_space.dofmap.index_map, self._mpc.function_space.dofmap.index_map_bs
112-
)
110+
self._b = create_vector(self._mpc.function_space.dofmap.index_map, self._mpc.function_space.dofmap.index_map_bs)
113111
self.bcs = [] if bcs is None else bcs
114112

115113
self._solver = PETSc.KSP().create(self.u.function_space.mesh.comm) # type: ignore

python/tests/test_nonlinear_assembly.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
import basix
1212
import dolfinx
1313
import dolfinx.fem.petsc
14-
import dolfinx.la as _la
1514
import dolfinx.nls.petsc
1615
import numpy as np
1716
import pytest
1817
import ufl
18+
from dolfinx.la.petsc import create_vector
1919

2020
import dolfinx_mpc
2121

@@ -63,7 +63,7 @@ def __init__(
6363
# Create matrix and vector to be used for assembly of the non-linear
6464
# MPC problem
6565
self._A = dolfinx_mpc.cpp.mpc.create_matrix(problem.a._cpp_object, mpc._cpp_object)
66-
self._b = _la.create_petsc_vector(mpc.function_space.dofmap.index_map, mpc.function_space.dofmap.index_map_bs)
66+
self._b = create_vector(mpc.function_space.dofmap.index_map, mpc.function_space.dofmap.index_map_bs)
6767

6868
self.setF(problem.F, self._b)
6969
self.setJ(problem.J, self._A)

0 commit comments

Comments
 (0)