Thanks, is the BC here applied on a point? I defined subdomains and want to create a cantilever beam
class Left_face(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x[0],0)
class Right_face(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x[0],L)
left_face = Left_face()
right_face = Right_face()
sub_domains = MeshFunction('size_t', mesh, mesh.topology().dim()-1)
sub_domains.set_all(0)
left_face.mark(sub_domains, 1)
right_face.mark(sub_domains, 2)
ds = ds(subdomain_data = sub_domains, subdomain_id = 2)
bc = DirichletBC(V, Constant((0.,0.,0.)), right_face)
bc is giving an error when I try, itsays that
Error: Unable to create Dirichlet boundary condition.
*** Reason: Expecting a scalar boundary value but given function is vector-valued.
*** Where: This error was encountered inside DirichletBC.cpp.
*** Process: 0