# RBE3 integration in PrepoMax (Kinematic & Distributing Coupling)

**URL:** <https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44>\
**Category:** Feature Requests\
**Created:** [February 4, 2022, 2:43pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44 "2022-02-04T14:43:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![PhilippTheEngineer](https://avatars.discourse-cdn.com/v4/letter/p/3ab097/32.png) [@PhilippTheEngineer](https://prepomax.discourse.group/u/PhilippTheEngineer)\
**Post date:** [February 4, 2022, 2:43pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/1 "2022-02-04T14:43:08Z")

</div>

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?

Best regards

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [February 4, 2022, 3:06pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/2 "2022-02-04T15:06:55Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [February 5, 2022, 9:01pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/3 "2022-02-05T21:01:06Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [February 7, 2022, 5:00am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/4 "2022-02-07T05:00:20Z")

</div>

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.

 ![PrePoMax v1.2.0 ExDistCoup2](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/a920b15919826c85c31bd7ed07fdc6d4968f4dfe.png)  
 ![PrePoMax v1.2.0 ExDistCoup1](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/9d8b83d3b6707bcc1cebd45c4427adfa74d43b55.png)  
 ![2022-02-07 11_27_37-Monitor](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/9b39db7c7837597fa270c3b1d6271b8d86068fdc.png)

[attached](https://filetransfer.io/data-package/4zhdGoNh#link) 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.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [February 7, 2022, 5:25am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/5 "2022-02-07T05:25:20Z")

</div>

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.

 ![2022-02-07 12_31_31-Calculix keyword editor](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/b212b26829e5f831177cb9c716f42744c32566b9.png)

 ![PrePoMax v1.2.0 ExDistCoup3](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/a8fc8e08c42bcd326207a77c4ebc8c44f0cec8ab.png)

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [February 9, 2022, 7:35pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/6 "2022-02-09T19:35:02Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [February 9, 2022, 8:19pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/7 "2022-02-09T20:19:40Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mkraska](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@mkraska](https://prepomax.discourse.group/u/mkraska)\
**Post date:** [February 10, 2022, 12:28pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/8 "2022-02-10T12:28:24Z")

</div>

\*Coupling with \*distributing just works for distributing forces and moments but not for displacements.

At least you can apply loads and get the average displacements and rotations by \*section print.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [February 10, 2022, 3:02pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/9 "2022-02-10T15:02:10Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![datsnl](https://avatars.discourse-cdn.com/v4/letter/d/8e7dd6/32.png) [@datsnl](https://prepomax.discourse.group/u/datsnl)\
**Post date:** [March 6, 2022, 5:18am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/11 "2022-03-06T05:18:01Z")

</div>

Hello all,

As I mentioned in [this post here](https://prepomax.discourse.group/t/why-is-moment-load-in-conjunction-to-pressure-and-gravity-not-solving-for-more-than-10mins-on-6-cores/92/17), Coupling → Distributing is not working for me but Distributing Coupling with Dcoup3D is working perfectly fine for me for RBE3 connection.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [July 24, 2022, 9:14am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/12 "2022-07-24T09:14:57Z")

</div>

> [@datsnl](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [July 30, 2022, 4:59am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/13 "2022-07-30T04:59:14Z")

</div>

> [@Matej](#):
>
> These features are indeed very needed in engineering practice.

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.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [November 25, 2023, 6:58am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/14 "2023-11-25T06:58:24Z")

</div>

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.

```auto
** Name: Moment-2
**Cload
**3460, 2, 20000000
** Name: Moment-2
*Cload
3459, 5, 20000000

```

 ![2023-11-25 13_24_11-Calculix keyword editor](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/5/58e669b4e5aa1a7bcd59cf4e1e28e43e32e1036a.png)

Another disadvantage is in visual presentation, symbol can not be shown. Even the results given clearly it was properly assigned

 ![2023-11-25 13_04_20-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/9/987c55e115f65d3c55c3f46ac72bc06ee39c6d13.png)

 ![2023-11-25 12_14_29-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/d/d69acd263ebc5c19300d7d362c79010eb380303d.png)

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

 ![2023-11-25 13_44_58-Edit Load_ Concentrated_Force-2](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/e/e5f27b7be50d0f46be7f8d05218d755c0a8b6652.png)

 ![2023-11-25 12_11_37-Edit Load_ Moment-2](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/6ef169e5cb206fb4c9984a5542aa222faa9a5a51.png)

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [November 25, 2023, 1:32pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/15 "2023-11-25T13:32:37Z")

</div>

I have a plan to add a new constraint type that will be displayed as the rigid body.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [November 25, 2023, 7:50pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/16 "2023-11-25T19:50:18Z")

</div>

so many thanks, it seems can be useful feature.

---

<div class="post-metadata">

**Author:** ![Michal](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@Michal](https://prepomax.discourse.group/u/Michal)\
**Post date:** [June 12, 2025, 9:50am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/17 "2025-06-12T09:50:37Z")

</div>

When ? it is very usefull feature ?  
best regards

---

<div class="post-metadata">

**Author:** ![lucas\_bueno](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/lucas_bueno/32/1168_2.png) [@lucas\_bueno](https://prepomax.discourse.group/u/lucas_bueno)\
**Post date:** [August 23, 2025, 12:11am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/18 "2025-08-23T00:11:36Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![stoli](https://avatars.discourse-cdn.com/v4/letter/s/a3d4f5/32.png) [@stoli](https://prepomax.discourse.group/u/stoli)\
**Post date:** [July 6, 2026, 8:39am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/19 "2026-07-06T08:39:24Z")

</div>

> **[synt](https://prepomax.discourse.group/u/synt)**
> 
> [Nov 2023](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/14 "Post date")
> 
> 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.

Best,  
Stoli

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [July 6, 2026, 9:11am UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/20 "2026-07-06T09:11:08Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![stoli](https://avatars.discourse-cdn.com/v4/letter/s/a3d4f5/32.png) [@stoli](https://prepomax.discourse.group/u/stoli)\
**Post date:** [July 6, 2026, 1:12pm UTC](https://prepomax.discourse.group/t/rbe3-integration-in-prepomax-kinematic-distributing-coupling/44/21 "2026-07-06T13:12:53Z")

</div>

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.
