-
assigned issue to
Error with increasing order of Real vector function space in increase_order
Issue #409
resolved
Hi, consider
from dolfin import VectorFunctionSpace, UnitTriangleMesh, FunctionSpace,\
MixedFunctionSpace
from dolfin.fem.formmanipulations import increase_order
from ufl import VectorElement
mesh = UnitTriangleMesh()
V = FunctionSpace(mesh, 'R', 0)
Vi = increase_order(V)
assert Vi.ufl_element().degree() == 0
Vm = MixedFunctionSpace([V, V])
Vi = increase_order(V)
print isinstance(V.ufl_element(), VectorElement)
assert all(Vi.sub(i).ufl_element().degree() == 0
for i in range(Vi.num_sub_spaces()))
VV = VectorFunctionSpace(mesh, 'R', 0)
V = MixedFunctionSpace([VV, V])
print isinstance(VV.ufl_element(), VectorElement) # True -> attempt order++
vi = increase_order(V)
In the first two cases increase_order
correctly identifies the Real function space and does
not increase it's order. The last case raises an exception because the Real function space
is missed by this test.
The bug was observed by bseguin.
Comments (3)
-
-
- changed status to resolved
-
- removed milestone
Removing milestone: 1.5 (automated comment)
- Log in to comment