[firedrake] Internal dirichlet boundary conditions

Thomas Ranner T.Ranner at leeds.ac.uk
Fri Mar 5 13:20:21 GMT 2021


Thanks that's just what I want :)

Tom

On 05 Mar 2021 at 11:16, Lawrence Mitchell <wencel at gmail.com> 
wrote:

> 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