[firedrake] Internal dirichlet boundary conditions
Lawrence Mitchell
wencel at gmail.com
Fri Mar 5 11:16:50 GMT 2021
Hi Thomas,
> On 5 Mar 2021, at 10:35, Thomas Ranner <T.Ranner at leeds.ac.uk> wrote:
>
> I am interesting in solving elliptic problems where there is a
> Dirichlet condition on internal nodes. It seems like this isn't
> possible with the default DirichletBC class in firedrake - is that
> right and is there a nice work around?
>
> My example is to do with remeshing and moving meshes. Consider the
> situation from
> https://www.firedrakeproject.org/demos/immersed_fem.py.html and
> suppose the want to recompute the mesh coordinates by solving
>
> -Delta x = 0 in Omega_{1,2}
> x = x_g on the interface and outside boundary
>
> where x_g is the parametrisation on the interface which we want to
> be exactly given.
>
> We have access to all the tags but this information doesn't change
> the solution. A couple of alternatives:
> - use a Nitsche-type approach - this does ok but I would prefer to
> not have this extra parameter unnecessarily.
> - we can find the nodes which we are on the interface but I don't
> know how to change the matrices/vectors to use this info.
This is the subject of this issue:
https://github.com/firedrakeproject/firedrake/issues/1661
There's some code that works there, but needs a little generalisation to support all the modes that firedrake has for applying dirichlet bcs.
We can help getting this merged if you'd like to have a go.
Lawrence
More information about the firedrake
mailing list