Pointwise condition to kill "rigid body motion" #813
-
Dear Ferrite devs and users, What would be the most direct way to impose a condition on a precise node to avoid rigid body motion in a mechanical problem? I have seen the possibility to impose affine constraints but this implies the knowledge of dof number. Here I would like to impose such a constraint (eg a displacement component equal to zero) on a point defined by its coordinates not its node number or dof number. Ideally it would even be better to be able to impose it on an arbitrary point of the domain (not necessarily a node) thus involving affine conditions on dofs of the nodes attached to the cell containing the point. Is there a straightfoward way to do this in Ferrite? By the way, I saw that it is not possible in a 3D problem to import physical points or lines from a gmsh mesh although nodesets and linesets exist. Would it be relevant to import such physical groups in order to be able to handle a problem such as the one evoked above? Thanks in advance |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 12 replies
-
Hi, I'm not aware of a straight forward way to impose affine constraints on the cell nodes based on an arbitrary point. But the point eval handler internals might help with at least identifying the cell efficiently. |
Beta Was this translation helpful? Give feedback.
-
@KnutAM Thank you very much. I understand better now. The impossibility to create variables living on faces (part of boundary or even interface inside the domain) is a limitation for the models I would like to build and that I am already used to build with other libraries (see for instance the case I mention in #815). Maybe this will be available in the future... |
Beta Was this translation helpful? Give feedback.
Hi,
You can create the nodeset from the coordinate:
addnodeset!(grid, "my_node", x -> x ≈ Vec((-1,-1)))
Then you can add the DBC to this nodeset:
add!(ch, Dirichlet(:u, getnodeset(grid, "my_node"), Returns(zero(Vec{2}))))
as if it was a faceset.
I'm not aware of a straight forward way to impose affine constraints on the cell nodes based on an arbitrary point. But the point eval handler internals might help with at least identifying the cell efficiently.