Skip to content

BUG: Assembly of zeros #4657

@KarsKnook

Description

@KarsKnook
from firedrake import *

mesh = UnitSquareMesh(1,1)
V = FunctionSpace(mesh, "DG", 0)
Z = V*V*V*V

a = inner(TrialFunction(Z), TestFunction(Z))*dx
print(assemble(a).petscmat.view())

will assemble zeros in some off-diagonal locations. This doesn't happen with Z=V*V*V.

@pbrubeck suggests it might be that Firedrake only unrolls the index sum when it involves 3 or fewer terms.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions