Hi team,
I'm running into "NotImplemented" exception when trying to set component
of a vector field using DirichletBC(), on extruded mesh. Basically I'm
trying to set the vertical component of the field to zero throughout the
domain. Is there anyway around this?
Many thanks,
-TJ
P.S. I think my function space below is perhaps not ideal, it has more
DoFs than necessary. But I'm having difficulty in getting something like
below to work
# V_h = FiniteElement("CG", "quadrilateral", 1)
# V_v = FiniteElement("DG", "interval", 0)
# V_elt = HDivElement(TensorProductElement(V_h, V_v))
# V = FunctionSpace(mesh, V_elt)
Code skeleton
---------------------------------------------------------------------------
m = RectangleMesh(10,10,10,10,quadrilateral=True)
mesh = ExtrudedMesh(m, layers=1)
V = VectorFunctionSpace(mesh, "CG", 1)
bc0 = DirichletBC(V.sub(2), Constant(0.0), "top")
bc1 = DirichletBC(V.sub(2), Constant(0.0), "bottom")
Error message
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-176-0fe88457c2f0> in <module>()
----> 1 bc0 = DirichletBC(V.sub(2), Constant(0.0), "top")
2 bc1 = DirichletBC(V.sub(2), Constant(0.0), "bottom")
/home/ts2914/projects/firedrake/local/lib/python2.7/site-packages/firedrake/bcs.pyc
in __init__(self, V, g, sub_domain, method)
60
61 if V.extruded and V.component is not None:
---> 62 raise NotImplementedError("Indexed VFS bcs not
implemented on extruded meshes")
63
64 @property
NotImplementedError: Indexed VFS bcs not implemented on extruded meshes