How identify nodes and apply DrichiletBC on that node without using a domain

I have and un usual problem where I need to apply Dirichlet Bcs. But instead of using subdomain to identify the points belonging to a boundary in the DirichletBC condition, I would like to mark the nodes on the boundary with some name and I would like apply Dirichlet on those nodes later in the program.

Questions-

  1. How to I mark the nodes on the boundary and get their ID’s .
  2. How do I apply Dirichlet BC on those nodes.

Thank you

In Dolfin, the nodes of your mesh and your degrees of freedom are decoupled (this is why you can have for instance a CG 2 interface on a linear triangle mesh).

This means that you should mark the facets (this can be done using subdomains).

You can also use the pointwise method, see: Boundary conditions on edges or nodes - #6 by dokken

I am currently doing what you said. But new problem that I am facing is that my domains intersect. so I cannot define a subdomain to do what I need. so what I was planning to do was to mark subdomain of interest from the previous mesh and take to DOFs or Node Ids from the previous mesh and add apply to the deformed mesh to force it back to its original shape.