### Coupled PDEs on domains with different dimensions

432

views

4

Dear Fenics community members,

I'm quite new to fenics.

I'm stuck implementing in Fenics two coupled PDEs defined on different domains.

The 1st PDE is defined on a rectangular domain, the 2nd PDE is defined on the bottom side of the rectangle.

I was able to extract the 1D Boundary/SubMesh from the 2D mesh but I don't know how to implement the variational form and solve it.

I can't use mixed space elements because the dimensions are different.

I read (https://fenicsproject.org/qa/5859/can-fenics-solve-a-1d-pde-as-the-boundary-of-a-2d-pde/) that the problem should be solved iteratively, but I don't know how to implement it in fenics.

Any help is greatly appreciated.

Many thanks in advance.

I'm quite new to fenics.

I'm stuck implementing in Fenics two coupled PDEs defined on different domains.

The 1st PDE is defined on a rectangular domain, the 2nd PDE is defined on the bottom side of the rectangle.

I was able to extract the 1D Boundary/SubMesh from the 2D mesh but I don't know how to implement the variational form and solve it.

I can't use mixed space elements because the dimensions are different.

I read (https://fenicsproject.org/qa/5859/can-fenics-solve-a-1d-pde-as-the-boundary-of-a-2d-pde/) that the problem should be solved iteratively, but I don't know how to implement it in fenics.

Any help is greatly appreciated.

Many thanks in advance.

Community: FEniCS Project

Please login to add an answer/comment or follow this question.

Thanks for your reply.

I'm running FENICS using Jupyter notebook from Docker Toolbox and I'm having problems installing Multiphenics.

I was able to run "git clone https://gitlab.com/multiphenics/multiphenics.git" from docker terminal which created a folder multiphenics on my HD but the command python3 setup.py install doesn't work in Jupyter or docker.

since the question is now related to my specific package and not FEniCS in general, I suggest that you write me via email with more details (e.g. errors, if any) so that we can sort this out. My email address is reported in the gitlab page.

This feels like a bit of a hack, and is probably less elegant than using multiphenics, but I think you could still manage to use a MixedElement for monolithic coupling. You could formally define the test/trial space for the 2nd PDE on the whole domain, then apply a DirichletBC to all of its DOFs that are further than DOLFIN_EPS from the bottom boundary, and integrate the variational forms of the 2nd PDE and coupling terms using the ds measure restricted to the bottom boundary. The 2nd PDE's discrete solution would technically extend into the domain over a one-element-wide band near the boundary, but, as long as it is only used in terms integrated with ds, this fictitious extension should just be "along for the ride", with no influence on the problem.

https://www.allanswered.com/post/jrobe/solving-pdes-on-mesh-boundaries-better-way-to-calculate-gradient-along-mesh-boundary/