Zero reaction moment when reading from ROT NODE in 2D


I’ve noticed that it’s possible to read the reaction moment from the node used as ROT NODE in rigid body constraint definition (and having a boundary condition applied to a selected rotational degree of freedom) but only when 3D analysis is performed. In 2D (plane stress) the reaction moment is zero. In Abaqus it works regardless of the model space.

Can you confirm this behavior ? Is that a bug or a limitation ?

I’m working on a simulation of two spur gears in contact. Rigid body constraints are applied to the hubs of both gears. One gear is free to rotate about its axis and the other one has a prescribed angle of rotation. I have to read the reaction moment from that DOF of the driven gear’s reference point to use it in analytical calculations. It would be much easier with torque used in place of the prescribed angle of rotation but this results in non-convergence.

1 Like

Do you really need the plane stress assumption or can you use a single layer of solids instead? Solids make everything more robust.

Force loading with contact often fails when the part with the force isn’t supported except by the contact. Contact alone doesn’t seem to be enough to reliably solve the first increment, perhaps it’s initially open so there’s rigid body motion? A guiding principle is to treat the free part like a woman - gradual application of forces and gently constrained against flying away. If you just throw it at the wall, it might break.

Unfortunately, I can only use 2D elements or tetrahedrons in this case.

Yeah, I know. Displacement control is much easier in analyses with contact. Force control can be really problematic and often requires some tricks to handle initial RBMs. However, CalculiX doesn’t offer a full spectrum of solutions for such issues. For example, unlike Abaqus, it doesn’t have automatic stabilization for a static step or contact stabilization. Thus, I usually switch to displacement control so that I don’t have to struggle with convergence.

I see.

I imagine the problem is some interaction between the rigid body MPCs and the plane stress MPCs. I know rigid body also has problems with shells and beams sometimes, probably for that reason.

Hi Calc-em,

I just would like to confirm I’m not misunderstanding this quote. There are two different kinds of Rigid Body Motions. Translational and rotational.
Your moment reaction will be zero and your contact will be always nonconvergent if you do not constrain rotations on the output gear in some way. Abaqus maybe is doing it automatically.

I have faced this problem before and used a break to generate some resistance at the output gear. My tangential force was measured there to compare with analitical solution. I have also seen other people using torsional springs or directly set rotations =0 on the output but then you can only study limited positions, not the whole contact path .

¿What are you considering in the output gear to avoid rigid body rotation.?


I attached the input file here:

It works with no issues (other than the lack of reaction moment which is nonzero in an equivalent 3D analysis with the same settings) as long as I don’t use torque instead of prescribed angle of rotation.

You can stablish the contact but if there is no resistance there will be not reaction. ¿Which is the value of the contact pressure?.

¿Do you have the pmx file?. It do not load correctly.

CPRESS is low but not zero. The mesh is very coarse for now so I assume that this output can be improved significantly once I refine the mesh.

In a 3D case I get a significant reaction moment (229088.3 Nmm) and I also get it in a 2D case in Abaqus.

How would you add resistance in my case ? Unfortunately, torsional springs aren’t available in CalculiX (Torsional Spring - SPRING2?). I could fix the rotation of the driven (larger) gear but I would like to simulate the actual motion. Fixing one gear will make it too stiff when compared with real operation.

Sure, here it is (from PrePoMax v1.3.5):

I posted a solved example a time ago in the MECWAY forum which is free to run but it has some solids (not gears) because Rigid body and shells were giving me problems.

As I see the physical problem, In the same way you need to constrain displacements when there is a force to obtain reactions, you need to constrain rotations when you apply a torque. (not the case in Dynamics).
The gear can freely rotate if you only constrain the displacements of the REF node. If you have two rigid bodies and contact pressure is emerging without rotational costrain, I would say something is wrong.

¿Do you have friction in your contact?¿Does contact allow separation?

Thank you for sharing a link to that post, I haven’t seen it before. So you fixed all DOFs apart from the axial rotation for both gears. And you applied rotation angle to reference point of one gear. Then you used contact of the rings attached to the gears with a fixed wedge to simulate braking. That’s a very interesting approach but in this case I’d like to analyze it in a standard way (just the gears). Maybe I should fix one gear and rotate the other one but I’m afraid that stresses will be too large and my goal is to include comparison with analytical calculations. For that I just need the torque to calculate forces and thus stresses in the teeth. Hence my post about not being able to extract reaction moment in 2D case.

I assumed that this is also why it works here - rotation with constant velocity should be possible also in a static analysis. Like here:

There’s no friction yet (I can add it). Separation is allowed.

only in the output gear.

The tooth is a cantilever beam. That’s why you need to constrain rotation of the REF node too. If not it just rotates under pressure without moment reaction.

Nonlinear quasiestatic and Dynamic are completely different. Your 3D system has probably some issue. Without UR contrained , moment reaction and contact pressure should be =0. Both gears engage but output should rotate freely.

Sure? :wink:

I also think that it should behave like this but I wonder what causes that significant reaction moment.

Nevertheless, do you have any other ideas how to add resistance to the driven gear in my model ? Apart from completely fixing its rotation or using springs (more below). During real operation driven gear can rotate and resistance comes from the components attached to it. On the other hand, for comparison with analytical solution, maybe I could fix the gear completely since, like you said, we assume that the tooth under consideration is basically a cantilever beam under static load. Then it would be best to apply torque to the other gear but it will cause convergence issues because the driving gear will have unconstrained rotation.

At least not without some workarounds involving axial springs. Based on your post on the Mecway forum (Torsional spring - Large Rotations - Remote Displacement. — Forum), it seems that it might be possible to obtain a torsional spring if an axial spring is connected to ROT NODE of a rigid body constraint. I will try to do it with a spring to ground element (your example utilizes node-to-node spring elements). However, I would prefer a different solution because this one would require keyword edits (to attach the spring to ROT NODE instead of REF NODE) and I want to avoid them here.

In the Mecway Post Sebastianmaklary also coments about an unnexpected moment issue

Contact with friction?

As an starting point and for comparison with analytical solution I also think you could fix the gear completely.

I tried it but the reaction moment in 2D analysis is still zero.

Indeed, that can be a good solution. But, as I’ve mentioned above, then I will probably still have to apply the angle of rotation instead of torque to the driven gear to avoid non-convergence due to unconstrained rotation of the driving gear (the one with applied torque).

Edit: The same model as attached above but with driven gear having fixed rotation still shows zero reaction moment for both reference points. It seems to be a bug.

1 Like