Predefined joints handled by coupling and equation constraints? Awesome!
Wow !
Can’t wait to try it.
I need some more testing, but it looks promising. It uses rigid-body equations and should work for small deformations.
Very interesting image. Are the yellow symbols a new type of joint?
I think their use for shell elements is limited (problems with *Rigid body), and to work at all (CalculiX bugs), some workarounds were necessary, but the tests are promising.
Did you consider using coupling constraints with orientations instead of rigid body constraints in some cases (e.g. for hinge) ?
They could help avoid the known limitations of rigid bodies.
For solid elements, the rigid joints work. But for shell elements, I tried the kinematic coupling on the shell edges, which crashes CalculiX with the access violation. So I did not investigate it further.
But I did investigate the possibility of using springs instead of couplings-rigid_connections. This is a penalty-based approach that yields approximate results but has no problems with shells/solids. So will probably add it this way.
I’ll check it and report to the CalculiX team if needed. Couplings still need a lot of improvements, especially when it comes to their use with 2D elements. But I thought that node-based surface would suffice for kinematic coupling to work with shells.
I will have to find the example I created to see if I used a node-based surface.
It seems to be working with a node-based surface:
Shell edge kinematic coupling.pmx (83.1 KB)
I tried your model in CCX 2.22, and it solves, but not in Nlgeom. But it does not solve at all in CCX 2.23. So, for now, I will only support rigid and spring joints. Spring joints work for Nlgeom.
I moved the conversation about joints to a new topic.
Yeah, it’s probably the same issue as rigid body + shells + Nlgeom.
That’s strange. A regression in ccx 2.23 ? I have to discuss it with their team then.
Did you try a frequency analisys to see if the model is properly constained?. Kinematic needs special care.
I have to investigate it further anyway before submitting a bug report. This was just a quick test to see if it works at all or crashes.


