Mit Hilfe von FENICS möchte ich eine Zeile einer Matrix auf 0 setzen.
Hierzu soll die zero() Funktion verwendet werden:
https://fenicsproject.org/documentation ... atrix.html
/edit: Alternativ kann das Ganze natürlich auch mit setrow() implementiert werden.
Um meine Idee zu veranschaulichen, habe ich versucht das ganze zu programmieren:
Code: Alles auswählen
from dolfin import *
import numpy
mesh = UnitSquareMesh(50,50)
F = FunctionSpace(mesh, "Lagrange", 1)
x = TrialFunction(F)
y = TestFunction(F)
m = inner(grad(x),grad(y))*dx
M = assemble(m)
n = F.dim()
d = mesh.geometry().dim()
dof = F.tabulate_dof_coordinates().reshape(n,d)
o = numpy.array([], dtype=np.intc)
for i in xrange(0, len(dof)):
if (i%100==0):
u = numpy.array([i], dtype=np.intc)
o = numpy.append(o, u)
n = len(o)
M.zero(n, o)
und habe keine Idee diesen zu beheben. Kann mir jemand weiterhelfen?