Periodic homogenisation: total displacement formulation

Hello everyone,

I am working on a periodic homogenization problem for linear and (later) nonlinear elasticity.
I have read the recent homogenization demo and the associated notes (e.g. Bleyer et al.), where the microproblem is formulated in terms of the fluctuation field v, with the total displacement built later as:

u = Ex + v

and the periodicity imposed on v. For my problem I need to solve for the entire displacement field u, since I may have periodicity only in one direction and I need the formulation to be the most generalizable possible.

The issue is I cannot impose constraints in the form:

u_s = \Sum_j (u_mj \alpha_j) + beta

because dolfinx_mpc directly supports only constraints in the form

u_s = \Sum_j (u_mj \alpha_j)

(as far as I understand); my questions are:

  1. has anyone had this issue before? is there any semi-supported way to handle such affine multipoint constraints?

  2. is there a recommended strategy in dolfinx (e.g. lagrange multipliers or penaltly method) that is feasible?

Thanks!

I started added support for this at some point. I unfortunately did not have time to finalize the implementation.