I believe this comes from the fact that the pointwise call always sets on_boundary to be false:
http://bazaar.launchpad.net/~dolfin- core/dolfin/main/annotate/head%3A/dolfin/fem/DirichletBC.cpp#L653 Also this method for a pinpoint will constrain more of the pressure than you want, for better results do: class Corner : public SubDomain { public: bool inside(const double* x, bool on_boundary) const { return (std::abs(x[0] - 1.0) < DOLFIN_EPS ) && (std::abs(x[1] - 1.0) < DOLFIN_EPS); } }; Of course you have to apply this as pointwise because the geometric and topological searches only look at facets and this is only hitting one point. -- Andy -- Dirichlet boundary condition does not work for "pointwise" https://bugs.launchpad.net/bugs/490987 You received this bug notification because you are a member of DOLFIN Team, which is subscribed to DOLFIN. Status in DOLFIN: New Bug description: The Dirichlet boundary condition does not work if I chose the "pointwise" setting: In Stokes demo I define my subdomain as: class Corner : public SubDomain { public: bool inside(const double* x, bool on_boundary) const { return on_boundary && (std::abs(x[0] - 1.0) < 0.1 + DOLFIN_EPS ) && (std::abs(x[1] - 1.0) < 0.1 + DOLFIN_EPS); } }; Then I apply for zero BC for pressure in this subdomain: Corner cr; Constant zero(2, 0.0); DirichletBC bc(W1, zero, cr, "pointwise"); // DirichletBC bc(W1, zero, cr, "geometric"); However "geometric" and "topological" options it works. /murtazo _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

