Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

multi-point constraint

Please login with a confirmed email address before reporting spam

Hello anyone,
I have a question: is it possibly to model multi point constraint (MPC) in comsol?
I'd like to constraint the displacement (structural application) of two points which belong to different domains.
As example, if I have the point P1 with the displacement u1, I'd like to constraint also the displacement of point P2 (which belongs to a different domain) as u2=u1.
If the point P1 or P2 are two vertices there is no problem. I'd like to obtain the same result for any pair of points.

I know that in Nastran this feature can be applied by defining the MPC among two nodes.

Any suggest is appreciable!

Thanks for your attention

Pasquale

6 Replies Last Post 7 août 2009, 04:41 UTC−4
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 2 decades ago 5 août 2009, 16:26 UTC−4
Hi

Well, the Nastran RBE2 and RBE3 are missing as such in COMSOL, and a clear explanation "how to" is neither not in the documentation, I have complained a few times to "support" about this, but I have been showed that the underlying theory is in there (and even more), either through the "weak constraints" or directly by defining "integrations coupling variables" and apply these as hard constraints to your respective subdomain/boundary/edge/point constraints.

I have managed to use them several times in 2D and 2D structural solid, shell and beam theory, though the formulas I have to implement do not seem immediat obvious for me and I must check carefully each time, but it works.

So for you "point case" I would try first to create a global "Integration Coupling Variable" "Point Variable" with a name say "Pu1" from "P1" and then constrain the X direction of your point P2 u2 variable to the global value "Pu1".

If you want to generalise to several points it's (quickly quite a lot of) more formula writings, or you apply it to the edge, or the surface, which then include the sub items

It's somewhat similar when you want to apply a distributed mass, force, spring, damper ... to a point, edge or a surface in structural physics, you have to go back to your physics theory and apply the correct formulas to the constraints, loads etc, including checking that you add the variables correctly for the eigenfrequency calculations.

It works nicely, but its very different and you have to switch mind set if you are used to other FEM tools with clickable gravity field loads and surface lods or MPC's.

Now, for me, I see it as a question of habits, and it's newer to late to change your habits ...

good luck
Ivar
Hi Well, the Nastran RBE2 and RBE3 are missing as such in COMSOL, and a clear explanation "how to" is neither not in the documentation, I have complained a few times to "support" about this, but I have been showed that the underlying theory is in there (and even more), either through the "weak constraints" or directly by defining "integrations coupling variables" and apply these as hard constraints to your respective subdomain/boundary/edge/point constraints. I have managed to use them several times in 2D and 2D structural solid, shell and beam theory, though the formulas I have to implement do not seem immediat obvious for me and I must check carefully each time, but it works. So for you "point case" I would try first to create a global "Integration Coupling Variable" "Point Variable" with a name say "Pu1" from "P1" and then constrain the X direction of your point P2 u2 variable to the global value "Pu1". If you want to generalise to several points it's (quickly quite a lot of) more formula writings, or you apply it to the edge, or the surface, which then include the sub items It's somewhat similar when you want to apply a distributed mass, force, spring, damper ... to a point, edge or a surface in structural physics, you have to go back to your physics theory and apply the correct formulas to the constraints, loads etc, including checking that you add the variables correctly for the eigenfrequency calculations. It works nicely, but its very different and you have to switch mind set if you are used to other FEM tools with clickable gravity field loads and surface lods or MPC's. Now, for me, I see it as a question of habits, and it's newer to late to change your habits ... good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 2 decades ago 6 août 2009, 06:38 UTC−4
Hello,
thanks for your fast reply.
Well, I have tried with integration coupling variable and it seems to well work.
This procedure can then be applied to model also non-rigid link. I could write: u2=u1+u0, where u0 is the displacement due to the stiffness of the joint (I am thinking a bolt joint,...) - u1 is the source, u2 is the destination.

Thanks again for your help!

Regards

Pasquale
Hello, thanks for your fast reply. Well, I have tried with integration coupling variable and it seems to well work. This procedure can then be applied to model also non-rigid link. I could write: u2=u1+u0, where u0 is the displacement due to the stiffness of the joint (I am thinking a bolt joint,...) - u1 is the source, u2 is the destination. Thanks again for your help! Regards Pasquale

Please login with a confirmed email address before reporting spam

Posted: 2 decades ago 6 août 2009, 06:48 UTC−4
Dear Pasquale,
if you are interested in constraining any pair of points (therefore not only vertices), you first need to create those points in the geometry.
Go in the Draw mode and then draw the two points in the position you desire. This will update the list of points to which it is possible to set a boundary condition.
Then use "integration coupling variables", as suggested by Ivar, to make available the displacement evaluated at P1 (integrating on a point simply means evaluate the integrand in that point) to the desiderd location.
Give a name, let's say c1 to your integration variable (whose expression wil be u1).
Keeping the destination field to "global" your displacement (i.e. the c1 variable) will be available as global variable (that is you can use it in all the geometries, subdomain, boundaries and so on). If you are just interested to make it available on P2, deactivate the "global" option and set P2 as destination.
Then go in the domain containing P2 and in the point setting for P2 set the u2 displacement equal to c1.
In this way coulpilng is completed.
Hi.

Alessandro
Dear Pasquale, if you are interested in constraining any pair of points (therefore not only vertices), you first need to create those points in the geometry. Go in the Draw mode and then draw the two points in the position you desire. This will update the list of points to which it is possible to set a boundary condition. Then use "integration coupling variables", as suggested by Ivar, to make available the displacement evaluated at P1 (integrating on a point simply means evaluate the integrand in that point) to the desiderd location. Give a name, let's say c1 to your integration variable (whose expression wil be u1). Keeping the destination field to "global" your displacement (i.e. the c1 variable) will be available as global variable (that is you can use it in all the geometries, subdomain, boundaries and so on). If you are just interested to make it available on P2, deactivate the "global" option and set P2 as destination. Then go in the domain containing P2 and in the point setting for P2 set the u2 displacement equal to c1. In this way coulpilng is completed. Hi. Alessandro

Please login with a confirmed email address before reporting spam

Posted: 2 decades ago 6 août 2009, 16:45 UTC−4
Dear Allessandro,
thanks for your reply.

Your method well works. However, I do not want to modify the geometry or the mesh (for instance, if I define a new point the geometry decomposition may change and the mesh has to be re-generated. Mesher may fail if the geometry is very complex or if additional points are closer among them). Then, thanks to your suggestions, I have tried to solve the MPC problem in this way:

1. defining a global expression: dist=((x-x0)^2+(y-y0)^2)^0.5 (where x0 and y0 are the coordinate of the desidered contraint point on the geometry).
2. defining a subdomain coupling integral variable (for the source domain): delta=(dist<=r)*u (where r is a small radius and u is the source disp. field).
3. evaluating the area of the MPC: area=(dist<=r)*1;
4. calculating the mean value of the displacement field related to the MPC on the source domain: deltaU=delta/area.
5. applying deltaU to the destination domain as: udst=(dist<=r)*deltaU+(dist>r)*udst

For 2D application and for a rectangular geometry this procedure seems to well work. I am looking for 3D application (which is my interest).

Regards

Pasquale

Dear Allessandro, thanks for your reply. Your method well works. However, I do not want to modify the geometry or the mesh (for instance, if I define a new point the geometry decomposition may change and the mesh has to be re-generated. Mesher may fail if the geometry is very complex or if additional points are closer among them). Then, thanks to your suggestions, I have tried to solve the MPC problem in this way: 1. defining a global expression: dist=((x-x0)^2+(y-y0)^2)^0.5 (where x0 and y0 are the coordinate of the desidered contraint point on the geometry). 2. defining a subdomain coupling integral variable (for the source domain): delta=(dist

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 2 decades ago 7 août 2009, 03:20 UTC−4
Hi

It seeems slightly complex but logical for me. if you have to do that for many cases/points it can become heavy.

I mostly cut my geometry (in my CAD software) such to define the boundaries where I apply (to and from) my links, then I do not need all those conditional tests that tend to slow down the numerical processing (probably more important in 3D because of the heavier calculation loads).

In any case it's interesting, pls continue to keep us informed about your progress.

In structural analysis I feel that COMSOL is slightly weak on these points of making easily mixed models with 3D full, shell, Euler beams; and/or 2D shell; and/or lumped mass approaches.

In fact everything is in there, but you have to write quite some formulas to get it running, and I always remain with a doubt if my writing is "global", you must adapt slightly your formulas when switching to modal analysis, as otherwise you easily loose the effect of your added lumped masses etc. The documentation is not that explicit without numerous examples on this subject, to be improved I believe.
I feel these formulas become so heavy and quickly error prone for angular rotation, external moments and related inertia terms that I often give up and turn back to my "old calssical FEM" tools, I hope the COMSOL developpers will improve this in futur versions, I do not have any PhD sutdent to do this kind of things, and my development project cannot finance this.

That is why I appreciate theat such approaches are discussed here I'm sure it would help quite a lot of users, as many of us come from more traditional FEM tools where gravity fields, and bulk point loads are "clickable" items

Good luck
Ivar
Hi It seeems slightly complex but logical for me. if you have to do that for many cases/points it can become heavy. I mostly cut my geometry (in my CAD software) such to define the boundaries where I apply (to and from) my links, then I do not need all those conditional tests that tend to slow down the numerical processing (probably more important in 3D because of the heavier calculation loads). In any case it's interesting, pls continue to keep us informed about your progress. In structural analysis I feel that COMSOL is slightly weak on these points of making easily mixed models with 3D full, shell, Euler beams; and/or 2D shell; and/or lumped mass approaches. In fact everything is in there, but you have to write quite some formulas to get it running, and I always remain with a doubt if my writing is "global", you must adapt slightly your formulas when switching to modal analysis, as otherwise you easily loose the effect of your added lumped masses etc. The documentation is not that explicit without numerous examples on this subject, to be improved I believe. I feel these formulas become so heavy and quickly error prone for angular rotation, external moments and related inertia terms that I often give up and turn back to my "old calssical FEM" tools, I hope the COMSOL developpers will improve this in futur versions, I do not have any PhD sutdent to do this kind of things, and my development project cannot finance this. That is why I appreciate theat such approaches are discussed here I'm sure it would help quite a lot of users, as many of us come from more traditional FEM tools where gravity fields, and bulk point loads are "clickable" items Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 2 decades ago 7 août 2009, 04:41 UTC−4
Hi Ivar,
hoping comsol will offer more power tools to better model structural problems, I will come back to you if I have any news.

Regards

Pasquale
Hi Ivar, hoping comsol will offer more power tools to better model structural problems, I will come back to you if I have any news. Regards Pasquale

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.