Bilinear and linear forms do not have same cell_domains subdomains in SystemAssembler. Taking cell_domains subdomains from bilinear form

Issue #312 resolved
Claas Abert created an issue

calling system_assemble prints

*** Warning: Bilinear and linear forms do not have same cell_domains subdomains in SystemAssembler. Taking cell_domains subdomains from bilinear form

whenever domain information is attached to the integral measure even if the same measure object is used for linear and bilinear form:

from dolfin import *

mesh = UnitCubeMesh(2,2,2)
V    = FunctionSpace(mesh, 'CG', 1)

domains = CellFunction("size_t", mesh)
domains.set_all(0)

dx = Measure('dx')[domains]

v = TestFunction(V)
u = TrialFunction(V)

a = v * u * dx(0)
L = v * dx(0)

A, b = assemble_system(a, L)

I would expect this warning to be raised only if different measures are used. However, SystemAssembler.cpp seems to check only for existence of cell domains:

if (a && b) {
    warning("Bilinear ......
}

where I would expect something like

if (a && b && a != b) {
    warning("Bilinear ......
}

Comments (5)

  1. Log in to comment