Since Calculix is supporting the implementation of Kinematic and Distributing coupling the integration of such a Feature would be very handy. I managed to set it up with the keywords editor but it is very frustrating and prone to errors.
To implement it in the Keywords a couple of steps are necessary, like:
-Creating a surface
-Creating a node
-Creating the coupling and referencing the node
-Choose Kinematic or coupling
-Create a load keyword for reference node
-Create a boundary keyword for reference node
All of those are seperate keywords.
RBE 2 is already implemented in my opinion by choosing the rigid body constraint.
What do you think?
Some of these steps can be already completed without keywords - you may create the surface, reference point as well as load and BC for this RP. In the Keyword Editor, you just have to define the coupling constraint itself and reference the surface and RP created before. But in general, I definitely agree that kinematic and distributing coupling constraints would be a nice addition.
That is a feature that has a long waiting time on the to-do list. Since there are some problems using the rigid-body constraint with the structural elements (shell) I decided to wait for a while. And I have no experience using them with structural elements so I do not know how they behave.
in previous versions of CalculiX (CCX v2.12) coupling type distributing works properly for any load type including concentrated forces and moment/torque. however it seems some code has modified by developer, it did not work anymore for all loading types.
i tested with current version of CCX (v2.19) also. unfortunately, it’s only work for concentrated forces and not for moment/torque.
attached a simple example of PMX files for those who interested to test.
due to some limitation as observed, *Distributing Coupling keywords and element type Dcoup3D could be used for implementation in PrePoMax before *Coupling type Distribution is fixed and working properly. it will eliminate a user to strictly use for displacement or concentrated forces only.
i try to seek a cause of problems by reading the documentation again, *Coupling type Distributing is now working properly for any loading types. Someone required to edit the input files manually for Ref node and Cload as shown below.
Hopefully these approach are interested to implemented in next versions of PrePoMax.
These features are indeed very needed in engineering practice. But there are some other priorities at the moment and when they are finished these features will be implemented.
thanks for interested to implement, may i do typo “next” should be “future” typing and interpret. there’s no any urgent features for me, as many user is enough when the features and proposed ideas are in to do list of future development. also PrePoMax - Edit keyword features is useful and working for any CalculiX features were it did not yet available trough GUI’s.
right, as latest document says it’s only work for loading type only (force/moment). in case displacement type translation of boundary conditions, document guides to use kinematic coupling or dcoup3d element. been tested of both approach and it seems to work properly, but i’ve not found in case of displacement type rotation bc’s using coupling features. only rigid body constraint is applicable.
**edited
reading the documentation again, i found another approach to apply dsiplacement type rotation to a set of nodes. mean rotation MPC could be use.
As I mentioned in this post here, Coupling → Distributing is not working for me but Distributing Coupling with Dcoup3D is working perfectly fine for me for RBE3 connection.
depend on analysis cases, *Coupling type *Distributing will work for bc’s type force, it will similar to RBE3. can not be used as connector of element (e.g beam and shell). *Rigid body constraint also the same, except in over-stiffening the model. it may similar to RBE2
*Distributing coupling with Dcoup3d element also will gave similar with RBE3 for cases a connector between element, but limited to translation only. not has any rotational transmitted.
even though it’s not general way as rigid body, limited on boundary condition type forces only still coupling has advantages to avoid over-stiffening models.
may some scenario or working flow is required on *Coupling type *Distributing, the reference point only shown and available on Load type.
or may it’s available at BC's menu also, but has a restriction and some messages shown when the user selected reference point from coupling.
i try to define *Coupling type *Distributing by the working flow of *Rigid body available in PrePoMax. It found to be different in nodes number and DOF’s of Moment loads.
hopefully an option to switch between *Rigid body and *Coupling type distributing will be available in “Concentrate Force” and “Moment” menus of future versions. So, manually add using Edit CalculiX Keywords feature and problem in symbol visualization can be eliminated
Just another reminder in this thread. I would really appreciate to have distributing coupling since it is better suited for load application than rigid body in many cases. Also, thanks Matej for your continuous development of this software!
i try to define *Coupling type *Distributing by the working flow of *Rigid body available in PrePoMax. It found to be different in nodes number and DOF’s of Moment loads.
I also have to emphasize the issue with the DOFs-numberings. On rigid bodies the moments are applied to the ROT node of the reference point with numbering “1,2,3” corresponding to “x,y,z” moment load.
When using distributing coupling on the other hand you have to apply the load to the REF node of the coupling = REF of “reference point” with the numbering “4,5,6” to get the corresponding “x,y,z” moment load.
One other tricky part is the definition of the coupling. It has to be a NODE ID, not a node set. When the mesh is updated - you have to re-adapt the coupling key word. (also when parts are disabled and / or node numbering will be updated)
@Matej Is there a way to query the node id of the corresponding ref-point in PrePoMax? The Ref-point window does not give any information. When I apply a load to the Ref-Point it will show up in the keyword-editor. But when the node-numbering changed and / or parts are disabled / activated the ref-point node id should change. The keyword-editor will not update this change. Should there be an “update” button or an automatic update?
Currently I can write the input deck to a file and then read the exact node-id, but it seems to be a tedious task.
It might be worth mentioning that the reference node numbers are always defined in such a way that REF NODE’s number is the last mesh node’s number + 1 while ROT NODE’s number is the last mesh node’s number + 2. So if you check the number of nodes in your model (e.g. via Query → Assembly) and it shows e.g. 189071 then REF NODE=189072 and ROT NODE=189073. PrePoMax also creates node sets for these nodes.
This a nice workaround! Thanks. I do need to take into account numerous ref-points, but it is possible and can be done within my script.
Indeed, I’ve seen that the node sets will be created internally (and in the input deck) but can’t be chosen in the GUI. But that will be probably resolved, when distributed coupling will be available in PPM.