Thanks a lot for your answers.

I believe I fixed the coupling bug, but I’m a bit perplexed. I narrowed it down to how the two fields are coupled, and I joined a minimal example which reproduces the problem I had. It goes as follows :

On the holed domain of the given mesh (cylinder in rectangle), consider two distinct Poisson equations for two scalar fields u and v, with both homogeneous Dirichlet BC on the rectangle. The problem is solved in a monolithic fashion, in the same linear system. On the cylinder, set u free (zero flux), and say we want the strong coupling v = C*u, without affecting the values of u.

If the coupling is enforced by simply modifying the rows of the v dofs on the cylinder, then u is unaffected by the coupling as expected, and we get v = C*u.

However, if the coupling is enforced with a set of AffineConstraints, then the v dofs are replaced with C times udofs as the constraints resolves indirections, which (I believe) modifies the equation for the u dofs on the cylinder and effectively acts as some kind of penalization. If the coupling constraint C is large, then u goes to zero on the cylinder in this example. Is this correct ? And if so, is this the expected behavior for an AffineConstraints ? I would expect the u dofs to not be affected by the constraints, acting as « master dofs » (and a fortiori since is_constrained() for these dofs returns false).

The attached example solves both Poisson problems and compares the values of u and v on the cylinder (1) when the problem is fully decoupled (both u and v left free), (2) when the coupling is enforced with affine constraints, and (3) when enforced by manually adding the « algebraic » coupling constraints v – C*u = 0.
- In the decoupled case, these values are the same as expected
- In the coupled case with affine constraints, the coupling is satisfied but the values of u have changed if C != 1 (although we could find other cases for which they change even for C = 1). - In the coupled case while manually constraining the system, the coupling is satisfied and the values of u are unchanged, as required.

I feel like this is straightforward, but I can’t wrap my head around the fact that naively applying an AffineConstraints for this example modifies the « source » field.

Thank you for your time,

Arthur


On 10/15/25 11:34, 'Wolfgang Bangerth' via deal.II User Group wrote:


On 10/11/25 10:36, Arthur Bawin wrote:
A first general question :

- The Lagrange multiplier should be defined only on the cylinder boundary, a codimension 1 space. What is the simplest way of dealing with a <dim-1> finite element space within a FESystem that contains the other spaces of dimension dim ? Currently, and to use a single FESystem and DOFHandler, I define lambda as a P2 field over the whole domain and constrain all of its non-cylinder DOFs to zero, which works but is not very elegant.

Perhaps not very elegant, but that's how we generally do it. You may want to compare with how ASPECT does it: https://github.com/geodynamics/aspect/blob/main/source/mesh_deformation/interface.cc

I believe that FENothing could be used to this end, but when I tried it seems that it is not fully implemented for simplices, is that correct ?

Perhaps. That's probably worth fixing. If you can create small test cases that illustrate what doesn't work, it shouldn't be very difficult to get those fixed.


The main, more niche question :
[...]

I think you'll have to debug that yourself :-) The usual suggestion applies as always: make it simple. Try a test case with very low Reynolds number where flow is stationary, or perhaps even prescribe the flow. Then you know what the forces will be, and you can think about what the displacement should be.

Best
 W.


--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dealii/d9b3e66b-1d5a-43b2-99ec-baa241a34f65%40gmail.com.

<<attachment: coupled_poisson_mwe.zip>>

Reply via email to