Skip to content

Commit f4a86f7

Browse files
committed
cleanup
1 parent 81e8d34 commit f4a86f7

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

firedrake/preconditioners/bddc.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from firedrake.functionspace import FunctionSpace, VectorFunctionSpace, TensorFunctionSpace
99
from firedrake.preconditioners.fdm import tabulate_exterior_derivative
1010
from firedrake.preconditioners.hiptmair import curl_to_grad
11-
from ufl import H1, H2, HCurl, inner, dx, JacobianDeterminant
11+
from ufl import H1, H2, inner, dx, JacobianDeterminant
1212
from pyop2.utils import as_tuple
1313
import numpy
1414

@@ -94,17 +94,17 @@ def initialize(self, pc):
9494

9595
tdim = V.mesh().topological_dimension()
9696
if tdim >= 2 and V.finat_element.formdegree == tdim-1:
97-
get_divergence = appctx.get("get_divergence_mat", get_divergence_mat)
9897
A, P = pc.getOperators()
9998
allow_repeated = P.getISAllowRepeated()
99+
get_divergence = appctx.get("get_divergence_mat", get_divergence_mat)
100100
divergence = get_divergence(V, mat_type="is", allow_repeated=allow_repeated)
101101
try:
102102
div_args, div_kwargs = divergence
103103
except ValueError:
104104
div_args = (divergence,)
105105
div_kwargs = dict()
106106
bddcpc.setBDDCDivergenceMat(*div_args, **div_kwargs)
107-
elif sobolev_space == HCurl:
107+
elif tdim >= 1 and V.finat_element.formdegree == 1:
108108
get_gradient = appctx.get("get_discrete_gradient", get_discrete_gradient)
109109
gradient = get_gradient(V)
110110
try:
@@ -141,13 +141,9 @@ def get_vertex_dofs(V):
141141
def get_divergence_mat(V, mat_type="aij", allow_repeated=False):
142142
from firedrake import assemble
143143
degree = max(as_tuple(V.ufl_element().degree()))
144-
145144
Q = TensorFunctionSpace(V.mesh(), "DG", 0, variant=f"integral({degree-1})", shape=V.value_shape[:-1])
146-
# d = {HCurl: curl, HDiv: div}[V.ufl_element().sobolev_space]
147-
# b = inner(d(TrialFunction(V)), TestFunction(Q)) * dx(degree=degree-1)
148-
# B = assemble(b, mat_type=mat_type).petscmat
149-
150145
B = tabulate_exterior_derivative(V, Q, mat_type=mat_type, allow_repeated=allow_repeated)
146+
151147
Jdet = JacobianDeterminant(V.mesh())
152148
s = assemble(inner(TrialFunction(Q)*(1/Jdet), TestFunction(Q))*dx(degree=0), diagonal=True)
153149
with s.dat.vec as svec:

0 commit comments

Comments
 (0)