In the microscale BVP of a multiscale analysis, it is common to write the microscale field, \mathbf{u}_{\mu}, as
\mathbf{u}_{\mu} = \mathbf{u}_{M} + \operatorname{Grad}\left(\mathbf{u}_{M}\right)\left(\mathbf{x}-\mathbf{x}_{c}\right) + \tilde{\mathbf{u}}\implies A\left(\mathbf{u}_{\mu}\right)=b,
where \mathbf{u}_{M} is the equivalent field in the macroscale. This is done because it simplifies application of boundary conditions to the microscaçe BVP. One example is the linear BC, which dictates that the fluctuation field, \tilde{\mathbf{u}}, must be zero on the microscale boundary. Thus, I can create a function space for \tilde{\mathbf{u}} and just correct it using the linear expression to apply on the constitutive model.
Actually, I’ve solved the problem (I do not know if it is the best option): I’ve added a correction,
u_M = Constant([0.0, 0.0, 0.0])
Grad_uM = Constant([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])
correction = u_M + dot(Grad_uM, x - x_c)
I’ve also created an user expression that I can interpolate during post-processing to save the full field, \mathbf{u}_{\mu}. The results were validated and are indeed correct.
After solving this problem, I moved to the periodic boundary condition, but I’m struggling to apply DirichletBC to one single node. For which, I created another topic here in the forum (How to apply boundary conditions to a single node in dolfin?). Thanks for your interest in my problem.