You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working on a model where I try to impose some specific boundary conditions. Those are close to periodic boundary conditions but instead of setting an equality between the solutions over the periodic interfaces, I am looking for applying a specific jump:
This seems to be trackable via dolfinx_mpc, but I didn’t succeed in doing so for the moment. In some sense, I want to enforce MPC of the following form (u) = [K] (û) + (d).
The function dolfinx_mpc.apply_lifting seems to do the trick. To my understanding, the imposed jump might be added via the input argument x0.
However, when attempting to use dolfinx_mpc.apply_lifting(b, [l_fem_form], [bcs], constraint=mpc), I encounter the following error: AttributeError: 'MultiPointConstraint' object has no attribute '_cpp_object'.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello everyone,
I'm working on a model where I try to impose some specific boundary conditions. Those are close to periodic boundary conditions but instead of setting an equality between the solutions over the periodic interfaces, I am looking for applying a specific jump:
$$
\mathbf{u}{|\Gamma^+} - \mathbf{u}{\Gamma^-} = \mathbf{d}.
$$
Such BCs are of interest in computational mechanics for multi-scale homogenization, see for instance equation (1) in [P. Henyš et al., (2019), "Comparison of current methods for implementing periodic boundary conditions in multi-scale homogenisation".](https://doi.org/10.1016/j.euromechsol.2019.103825) This is actually what I am trying to do, on a unit cell modeled via timoshenko beams (see the piece of code below).
This seems to be trackable via
dolfinx_mpc
, but I didn’t succeed in doing so for the moment. In some sense, I want to enforce MPC of the following form(u) = [K] (û) + (d)
.The function
dolfinx_mpc.apply_lifting
seems to do the trick. To my understanding, the imposed jump might be added via the input argumentx0
.However, when attempting to use
dolfinx_mpc.apply_lifting(b, [l_fem_form], [bcs], constraint=mpc)
, I encounter the following error:AttributeError: 'MultiPointConstraint' object has no attribute '_cpp_object'
.Here's a snippet of my setup:
Does anyone have an idea of what might be going wrong, or can suggest an alternative approach to resolve this issue?
Here is a functioning code without the “non-zero” jump (i.e. standard periodic boundary condition):
Beta Was this translation helpful? Give feedback.
All reactions