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.

Boundary constraint

Please login with a confirmed email address before reporting spam

Hello,

I was wondering how can I set a boundary constraint such that allows the boundary to displace parallel to any specific axis. For instance if I have a box, the right hand side should displace parallel to 'y' axis due to some known force.

Thanks in advance.
Andres

15 Replies Last Post Apr 10, 2010, 3:57 a.m. EDT
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: 1 decade ago Mar 3, 2010, 1:25 a.m. EST
Hi
in the structural module v3.5a you have the "prescribed displacemnt" BC (boundary Considition) which allows you to block one or several global coordinates directions x,y,z. This means basically that u,v or w will be = 0

If you want to block it along a line at i.e 45° you need to write out an equation for that, linking the coordinates, or easier you define your own rotated "Options - Coodinate System" and you define your displaceent in thsi coordinate system.

If you do not have the structural module, you basically have to write out the equations in the boundary conditions GUI, this is an excellent exercicie to learn how Comsol works internally

Hope this help
Good luck
Ivar
Hi in the structural module v3.5a you have the "prescribed displacemnt" BC (boundary Considition) which allows you to block one or several global coordinates directions x,y,z. This means basically that u,v or w will be = 0 If you want to block it along a line at i.e 45° you need to write out an equation for that, linking the coordinates, or easier you define your own rotated "Options - Coodinate System" and you define your displaceent in thsi coordinate system. If you do not have the structural module, you basically have to write out the equations in the boundary conditions GUI, this is an excellent exercicie to learn how Comsol works internally Hope this help Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Mar 3, 2010, 5:14 a.m. EST
Hi Ivar,
Thanks for your help.
I have the structural module v3.5a, and I've been using the prescribed displacement BC, but I can not achieve my goal. Actually, what I need is a boundary condition of a super rigid wall (see example in attachment), which should not bend (must be parallel to 'y' axis), but it can move in any direction due to some external force.
I also tried with a new Coordinate System, but I haven't been able to obtain this result.
Thanks again.
Best regards,
Andres
Hi Ivar, Thanks for your help. I have the structural module v3.5a, and I've been using the prescribed displacement BC, but I can not achieve my goal. Actually, what I need is a boundary condition of a super rigid wall (see example in attachment), which should not bend (must be parallel to 'y' axis), but it can move in any direction due to some external force. I also tried with a new Coordinate System, but I haven't been able to obtain this result. Thanks again. Best regards, Andres


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: 1 decade ago Mar 3, 2010, 1:57 p.m. EST
Hi

whell the nice (exceptional) thing with COMSOL is that you still have the "weak form"

Somewhere in the doc, I just cannot identify where just now, there is an example of a prismatic bar where on is restraining one edge to stay straight.

It means adding a global eaution setting the displacement of the edge/boundary to =0

Take a search, will be back when/if I find it : here it is

It's from page 84 and on in the V3.5a smeug.pdf

Once you have mastred the principle you willsee it's easy ;)

good luck
Ivar
Hi whell the nice (exceptional) thing with COMSOL is that you still have the "weak form" Somewhere in the doc, I just cannot identify where just now, there is an example of a prismatic bar where on is restraining one edge to stay straight. It means adding a global eaution setting the displacement of the edge/boundary to =0 Take a search, will be back when/if I find it : here it is It's from page 84 and on in the V3.5a smeug.pdf Once you have mastred the principle you willsee it's easy ;) good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Mar 5, 2010, 12:32 p.m. EST
Thanks a lot Ivar,
After some trial and error I have mastered it :)
Thanks a lot Ivar, After some trial and error I have mastered it :)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Mar 31, 2010, 6:54 p.m. EDT
Hello,

let mi join in. I did just as in example from smeug.pdf, but for 2D case, but what I get is not exactly what I want. I use ideal constraints, weak constraints are off. Any idea why the boundary of the deformed solid is not a straight line?
This straight line constraint is the only condition for this boundary.

thanks in advance,
aap
Hello, let mi join in. I did just as in example from smeug.pdf, but for 2D case, but what I get is not exactly what I want. I use ideal constraints, weak constraints are off. Any idea why the boundary of the deformed solid is not a straight line? This straight line constraint is the only condition for this boundary. thanks in advance, aap


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: 1 decade ago Apr 1, 2010, 1:44 a.m. EDT
Hi

But are you sure that what you "want "is really reprsentative of the physics and the model you are using ?

what are your boundary conditions and your material stiffness tensor you are using ?
Have you tried to set nu=0 the Poisson coefficient to be sure you are not observing a stress-strain cross coupling effects?

And have you checked your force/pressure fields and reaction forces to be sure you have no stress concetration or BC (booundary condition) "concentrations" ?

Good luck
Ivar

Hi But are you sure that what you "want "is really reprsentative of the physics and the model you are using ? what are your boundary conditions and your material stiffness tensor you are using ? Have you tried to set nu=0 the Poisson coefficient to be sure you are not observing a stress-strain cross coupling effects? And have you checked your force/pressure fields and reaction forces to be sure you have no stress concetration or BC (booundary condition) "concentrations" ? Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 1, 2010, 8:26 a.m. EDT
Dear Ivar,

thank you for the answer. Let me quickly introduce the problem. In model.png there is a periodic unit cell. No matter what happens inside the cell, ends of these ''beams`` should remain compatible in terms of translation the unit cell. In other words the boundaries should be the same due to the periodicity (right-left, top-bottom).
My plan was to put left and bottom beams ends on the roller. For right ends there is a prescribed Rx and free Ry.
Until now we have all ends horizontal or vertical. The only boundaries to be constrained are the upper ends of the beams. That's why I wanted them to stay horizontal. But I realize this approach is not perfect.
Do you have an idea how my goal could be achieved?

thanks a lot,
aap
Dear Ivar, thank you for the answer. Let me quickly introduce the problem. In model.png there is a periodic unit cell. No matter what happens inside the cell, ends of these ''beams`` should remain compatible in terms of translation the unit cell. In other words the boundaries should be the same due to the periodicity (right-left, top-bottom). My plan was to put left and bottom beams ends on the roller. For right ends there is a prescribed Rx and free Ry. Until now we have all ends horizontal or vertical. The only boundaries to be constrained are the upper ends of the beams. That's why I wanted them to stay horizontal. But I realize this approach is not perfect. Do you have an idea how my goal could be achieved? thanks a lot, aap


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: 1 decade ago Apr 1, 2010, 3:39 p.m. EDT
Hi

Yes probably it's the "roller" condition you want, which is implemented as the other conditions with a weak constraints, see the "Physics - Equations systems - Boundary Settings - Weak tab" and change the boundary conditions, use a name or a value such as Rx and Ry or 1 and 2 for the displacements to distinguish them from the "0", as there are already many of those "0", otherwise the formulas will not be completed ;)

If you need a combination forced displacement and roller you must set up the equation yourself. There are a few examples in the doc, we discussed one with a rigid edge in an otherwise flexible beam in another threads, its also well described in the doc

Good luck
Ivar

Hi Yes probably it's the "roller" condition you want, which is implemented as the other conditions with a weak constraints, see the "Physics - Equations systems - Boundary Settings - Weak tab" and change the boundary conditions, use a name or a value such as Rx and Ry or 1 and 2 for the displacements to distinguish them from the "0", as there are already many of those "0", otherwise the formulas will not be completed ;) If you need a combination forced displacement and roller you must set up the equation yourself. There are a few examples in the doc, we discussed one with a rigid edge in an otherwise flexible beam in another threads, its also well described in the doc Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 1, 2010, 6:07 p.m. EDT
Hi,

thanks once again!
What if I would like the distance between all respective ("interacting") boundaries to be equal after the deformation? If x1, u1 and x2, u2 refer to left and right boundary respectively than one could write Derivative[x1+u1-(x2+u2),y]=0, what should keep the distance constant along y axis. v1 would be the master to v2 in other periodic condition.
Is this possible to implement? Should the global equation be used? And what mapping of vars is to be used?

thanks for any advice :)
aap
Hi, thanks once again! What if I would like the distance between all respective ("interacting") boundaries to be equal after the deformation? If x1, u1 and x2, u2 refer to left and right boundary respectively than one could write Derivative[x1+u1-(x2+u2),y]=0, what should keep the distance constant along y axis. v1 would be the master to v2 in other periodic condition. Is this possible to implement? Should the global equation be used? And what mapping of vars is to be used? thanks for any advice :) aap

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: 1 decade ago Apr 2, 2010, 3:02 a.m. EDT
Hi

First remark, I'm getting confused with your notations. I try to stick strictly to the COMSOL convention xyz for space coordinates, uvw for displacements and then use subscipt 1234 to identify the different items, it's easier to read that way.

I believe the periodic conditions are build up like you want it. You can use the same method to check what COMSOL is doing to the weak formulas as described above. So yes I'm sure this is implementable, (might be already by COMSOL).
You need to get acquinted to the weak formulation though (and I must admit even after 3 years of COMSOLing I'm still not 100% sure about what I do, so I check several times on very simple examples).

I had planned to use some hour of this long week-end to look into the basics, by going systematically through the first chapter of Pr. D.W.Pepper & J.C. Heinrich's excellent book "The Finite Element Method", 2nd Ed, Taylor&Francis, 2006. As at work, we have no time for such exercices, and I have found no "basic" courses or presentation on the web or by COMSOL that has convinced me so far, nothing better than doing it by yourself but for that you need free time (what's that? ;)
Good luck
Ivar
Hi First remark, I'm getting confused with your notations. I try to stick strictly to the COMSOL convention xyz for space coordinates, uvw for displacements and then use subscipt 1234 to identify the different items, it's easier to read that way. I believe the periodic conditions are build up like you want it. You can use the same method to check what COMSOL is doing to the weak formulas as described above. So yes I'm sure this is implementable, (might be already by COMSOL). You need to get acquinted to the weak formulation though (and I must admit even after 3 years of COMSOLing I'm still not 100% sure about what I do, so I check several times on very simple examples). I had planned to use some hour of this long week-end to look into the basics, by going systematically through the first chapter of Pr. D.W.Pepper & J.C. Heinrich's excellent book "The Finite Element Method", 2nd Ed, Taylor&Francis, 2006. As at work, we have no time for such exercices, and I have found no "basic" courses or presentation on the web or by COMSOL that has convinced me so far, nothing better than doing it by yourself but for that you need free time (what's that? ;) Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 8, 2010, 6:39 p.m. EDT
Hi,

thanks for your answer. I found some papers dealing with periodic BCs in case of bending and what I need is to prescribe _equal distance between ends of deformed beams_. Comsol's periodic BCs are not applicable it this case (Repeating Unit Cell will not match its image). The question is now how can I do it? As I wrote in previous post to keep the distance between deformed ends it's enough to equate some derivative to zero. I got no clue how.

bye,
aap
Hi, thanks for your answer. I found some papers dealing with periodic BCs in case of bending and what I need is to prescribe _equal distance between ends of deformed beams_. Comsol's periodic BCs are not applicable it this case (Repeating Unit Cell will not match its image). The question is now how can I do it? As I wrote in previous post to keep the distance between deformed ends it's enough to equate some derivative to zero. I got no clue how. bye, aap

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: 1 decade ago Apr 9, 2010, 3:37 a.m. EDT
Hi

In fact I'm realising only now, what you are asking for is a "zero rotation Rz" since you allow the motion in "x" and "y" but you do not want the line to ROTATE.

This is possible on a free boundary with some tweaking of the equations. For some reason (still not 100% sure why, could be that its only of specific use in structural hence not "general enough" for the COMSOL developers, but pls do not hesitate to remindthem so this will once be implemented for the structural !!) the antisymmetric tensor representation of the deformations is not implemented, you have to write it out by hand yourself. The antisymmetric tensor is the local infinitisemal rotations.

In 2D the Rz or rotation along the Zaxis perpendicular to the X-Y plane is the value thz=0.5*(vx-uy) set this as a "Global Expression" in your model.

This is typically explained in books like: "Elasticity, Tensor, Dyadic, and Engineering approaches" by Pei Chi Chou & N.J. Pagano, Dover 1967, chap 2.5, or Theory of elasticity S.P. Timoshenk, J.N. Goodier, ch7 §83 or compare with the definition of the symmetric strain tensor

Then, once you have defined the variable thz, you need to constraint your boundary. This I have only found the "hard way" to edit the equations, by selecting the boundary(ies) (normally it's defined as free but might have an additional load) and then go into the "Physics - Equation systems - Boundary systems - Weak tab"

Edit the CONSTR line (in 2D SMPN there are 3 items for x,y,p, select the y and write "thz" instead of the value "0". This will force that thz=0 hence the angle should not change.
You still need to update the CONSTRF by replacing the second "0 by test(thz), which will adjust reaction forces to get the rotation to remain unchanged. By changing the equations in this matter you will see a small "lock" on the boundary index. This mesn that we have chnaged the eqautzions ina way COMSOL cannot "understand" and locks the boundary equations to avoid "automatic changes". You can always revert to standard COMSOL values by hitting the reset equation tab to the left of the GUI.

That's it you have blocked the rotation along Rz for the selected boundaries (edges in 2D), you can solve and study the result.

It's also applicable to 3D with the corresponding "thx" and "thy" angles. Its usefull with torque loading, but it ends up with many equations, would really have liked to have this "inside" the structural module by default :).

By the way, there is als another way with the weak form where you apply moments and write out the energy equations, probably cleaner, havnt checked that approach yet.

You have an example of two cantelever beam bending with the thz blocked on the upper one, it deforms along an "S" instead of the traditional gravitational load parabola, and the maximum deflection is the same of half length of a free beam (by symmetry). You can also see the reaction torque (arrows) and you can see the stress buildup to maintain the right side unrotated, if you turn on the von Mises surface plot.

ONE THING STILL TO CHECK:
I suspect that the reaction forces calculated by reacf(u) and reacf(v) on the boundaries constrained this way are wrong ?!

2ND POINT
Should we apply this rotation restraint also on the edge "points" in smpn, specifically ?


Have fun Comsoling
Ivar

Hi In fact I'm realising only now, what you are asking for is a "zero rotation Rz" since you allow the motion in "x" and "y" but you do not want the line to ROTATE. This is possible on a free boundary with some tweaking of the equations. For some reason (still not 100% sure why, could be that its only of specific use in structural hence not "general enough" for the COMSOL developers, but pls do not hesitate to remindthem so this will once be implemented for the structural !!) the antisymmetric tensor representation of the deformations is not implemented, you have to write it out by hand yourself. The antisymmetric tensor is the local infinitisemal rotations. In 2D the Rz or rotation along the Zaxis perpendicular to the X-Y plane is the value thz=0.5*(vx-uy) set this as a "Global Expression" in your model. This is typically explained in books like: "Elasticity, Tensor, Dyadic, and Engineering approaches" by Pei Chi Chou & N.J. Pagano, Dover 1967, chap 2.5, or Theory of elasticity S.P. Timoshenk, J.N. Goodier, ch7 §83 or compare with the definition of the symmetric strain tensor Then, once you have defined the variable thz, you need to constraint your boundary. This I have only found the "hard way" to edit the equations, by selecting the boundary(ies) (normally it's defined as free but might have an additional load) and then go into the "Physics - Equation systems - Boundary systems - Weak tab" Edit the CONSTR line (in 2D SMPN there are 3 items for x,y,p, select the y and write "thz" instead of the value "0". This will force that thz=0 hence the angle should not change. You still need to update the CONSTRF by replacing the second "0 by test(thz), which will adjust reaction forces to get the rotation to remain unchanged. By changing the equations in this matter you will see a small "lock" on the boundary index. This mesn that we have chnaged the eqautzions ina way COMSOL cannot "understand" and locks the boundary equations to avoid "automatic changes". You can always revert to standard COMSOL values by hitting the reset equation tab to the left of the GUI. That's it you have blocked the rotation along Rz for the selected boundaries (edges in 2D), you can solve and study the result. It's also applicable to 3D with the corresponding "thx" and "thy" angles. Its usefull with torque loading, but it ends up with many equations, would really have liked to have this "inside" the structural module by default :). By the way, there is als another way with the weak form where you apply moments and write out the energy equations, probably cleaner, havnt checked that approach yet. You have an example of two cantelever beam bending with the thz blocked on the upper one, it deforms along an "S" instead of the traditional gravitational load parabola, and the maximum deflection is the same of half length of a free beam (by symmetry). You can also see the reaction torque (arrows) and you can see the stress buildup to maintain the right side unrotated, if you turn on the von Mises surface plot. ONE THING STILL TO CHECK: I suspect that the reaction forces calculated by reacf(u) and reacf(v) on the boundaries constrained this way are wrong ?! 2ND POINT Should we apply this rotation restraint also on the edge "points" in smpn, specifically ? Have fun Comsoling Ivar


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: 1 decade ago Apr 9, 2010, 4:46 a.m. EDT
Hi again,

I have added a second model with Euler beams added, to better see the analogy, as COMSOL solves the angles for the beams.

With the beams you have moments loads defined in COMSOL, with the angles th (2D).

Compare the "Physics - Equation system - Boundary Settings" of the "Smpn" and the "Physics - Equation system - Point Settings" of the "Smeulip"

Have fun COMSOLING
Ivar
Hi again, I have added a second model with Euler beams added, to better see the analogy, as COMSOL solves the angles for the beams. With the beams you have moments loads defined in COMSOL, with the angles th (2D). Compare the "Physics - Equation system - Boundary Settings" of the "Smpn" and the "Physics - Equation system - Point Settings" of the "Smeulip" Have fun COMSOLING Ivar


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: 1 decade ago Apr 9, 2010, 10:58 a.m. EDT
Hi again

here is probably THE clean way:

as applied for the torque/moment load eample as per smeug.pdf chapter "loads" p69 in V3.5a

You apply a distributed torque defined as a global variable until the beam end has the correct angle.
In the model below you can compare Euler beams smeulip and 2D beam smpn with different load cases via the angles or via torque to constrain the angles.

When I only apply constraints on the angles, at least in smpn, the reaction forces calculates WRONGLY (if I havnt missed a point).

Remains the issue should one constraint also the "points" or just the surfaces/boundaris. For COMSOL internally defined variables I believe there are "inheretage" laws applying to boundary laws and how to set them on the end points, with the external angles I have defined "thz" (from the antisymmetric tensor formaulation) one must decide if to apply or not.

For the free single sided fixed beam, to get the Euler beam model to better match the smpn model for Y gravity sag one should suppress the shear contribution by setting the material poisson cofficient to "0" in smpn. This is less relevant for the angle/torque constrained beams as there are other effects acting on the precision.

hope this can illustrate ways to force angular rotations, or torque loads. It more or less straitforward to apply to 3D, more to type though ;)

Check carefully the "locked" "Physics -Equations Systems Boundary settings and Point Settings"

Feedback and error check appreciated

Have fun Comsoling
Ivar
Hi again here is probably THE clean way: as applied for the torque/moment load eample as per smeug.pdf chapter "loads" p69 in V3.5a You apply a distributed torque defined as a global variable until the beam end has the correct angle. In the model below you can compare Euler beams smeulip and 2D beam smpn with different load cases via the angles or via torque to constrain the angles. When I only apply constraints on the angles, at least in smpn, the reaction forces calculates WRONGLY (if I havnt missed a point). Remains the issue should one constraint also the "points" or just the surfaces/boundaris. For COMSOL internally defined variables I believe there are "inheretage" laws applying to boundary laws and how to set them on the end points, with the external angles I have defined "thz" (from the antisymmetric tensor formaulation) one must decide if to apply or not. For the free single sided fixed beam, to get the Euler beam model to better match the smpn model for Y gravity sag one should suppress the shear contribution by setting the material poisson cofficient to "0" in smpn. This is less relevant for the angle/torque constrained beams as there are other effects acting on the precision. hope this can illustrate ways to force angular rotations, or torque loads. It more or less straitforward to apply to 3D, more to type though ;) Check carefully the "locked" "Physics -Equations Systems Boundary settings and Point Settings" Feedback and error check appreciated Have fun Comsoling Ivar


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: 1 decade ago Apr 10, 2010, 3:57 a.m. EDT
Hi gain

after haveing slept over the question, and woken up at 3 do a check again ;) I'm rather convinced that the "proper" way to enforce fixed rotation is via the torque/moment approach (as per the smug.pdf doc) as in this way you use the weak terms on the energy based equations and you are not fixing the difference of the derivative of the shear strain components which are anyhow spiky and comparable (hence difference of almost identical numbers can make large relative errors).
The issue with constraining onky thz does not show up so much on the final displacement/gravity sag of my example, but definitively introduces very wrong reaction forces.

But to use the moment/torque you need the rotation variables thz=0.5*(vx-uy) ... and I do not have any other equation to propose. Finally you need to translate torque to distributed forces correctly as moments are not already defined in structural 2d or 3D. Therfore I insist (again, I have already proposed it to "support", if other agree with me pls mail them too ;) that COMSOL should have the three rotation thx thy thz as default variables defined in the postprocessing section of the structural.

I have uploaded acommented model on
www.comsol.com/community/exchange/128/

there are also other similarities with the thread on torque load

www.comsol.com/community/forums/general/thread/1048/

Any comments, anyhoe appreciated ?

Have fun Comosling
Ivar
Hi gain after haveing slept over the question, and woken up at 3 do a check again ;) I'm rather convinced that the "proper" way to enforce fixed rotation is via the torque/moment approach (as per the smug.pdf doc) as in this way you use the weak terms on the energy based equations and you are not fixing the difference of the derivative of the shear strain components which are anyhow spiky and comparable (hence difference of almost identical numbers can make large relative errors). The issue with constraining onky thz does not show up so much on the final displacement/gravity sag of my example, but definitively introduces very wrong reaction forces. But to use the moment/torque you need the rotation variables thz=0.5*(vx-uy) ... and I do not have any other equation to propose. Finally you need to translate torque to distributed forces correctly as moments are not already defined in structural 2d or 3D. Therfore I insist (again, I have already proposed it to "support", if other agree with me pls mail them too ;) that COMSOL should have the three rotation thx thy thz as default variables defined in the postprocessing section of the structural. I have uploaded acommented model on http://www.comsol.com/community/exchange/128/ there are also other similarities with the thread on torque load http://www.comsol.com/community/forums/general/thread/1048/ Any comments, anyhoe appreciated ? Have fun Comosling Ivar

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.