# Hinge simulation

**URL:** <https://prepomax.discourse.group/t/hinge-simulation/2613>\
**Category:** General Questions\
**Created:** [April 9, 2025, 12:11pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613 "2025-04-09T12:11:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 9, 2025, 12:11pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/1 "2025-04-09T12:11:01Z")

</div>

Hello everyone, thank you for letting me join. I’m new to PrePoMax and I’d like to ask for your help.

 ![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/61d4c8788636021bcf2b0c53e96f0966519020cc.png)

I’m simulating this situation, but i need to make sure that both parts rotate around the same point. They can universally traslate in the space but cannot traslate relatively one to the other.  
To create this hinge i did this:

- created two reference point as middle points
- linked the holesto their relative surface using Rigid Body costrain.

Then I wanted to add an equation on Calculix (Never eved used it…) adding the following (not in a specific place of the ode, under element sets:

\*EQUATION  
3  
273265,1,1., 273267,1,-1.  
273265,2,1., 273267,2,-1.  
273265,3,1., 273267,3,-1.  
So three equations for the 3 directions: X,Y and Z. No need to lock any rotation.  
Where:

- 273265 and 273267 are the two reference points
- 1,2,3 are the three directions
- 1 and -1 to make sure that the equations equal to 0 (i’ve looked on some Calculix forum (TOPIC [No Convergence: \*STATIC vs \*DYNAMIC with \*RIGID BODY and SPRING2 for joints]), I’ve found a video with a similar situation.

The idea is that:  
U1=U2 → U1-U2=0

V1=V2 → V1-V2=0

W1=W2 → W1-W2=0

So:  
First knot, direction 1,module 1., Second knot, direction 1,module -1.  
First knot, direction 2,module 1., Second knot, direction 2,module -1.  
First knot, direction 3,module 1., Second knot, direction 3,module -1.

Tried to run, but the following shows up:  
\*\*  
\*ERROR reading \*EQUATION: mpc definition 1  
is not complete.  
\*ERROR reading \*EQUATION. Card image:  
\*SOLIDSECTION,ELSET=INTERNAL\_SELECTION-1\_STRUTTURA,MATERIAL=16NICR4  
\*\*

→ \*I’ve tried running it before and the error was different “_ERROR reading increase memmpc\_”_

So my questions are the following:  
**1- Is “Equation” on the right code line or it should be placed elsewhere?**  
**2- What do these errors mean?**  
**3- Do you think the equation i’m writing is right for these condition?**

Thank you **so** much in advance, as i said before i’ve never used this soft and i’m absolutely lost.

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 9, 2025, 12:13pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/2 "2025-04-09T12:13:13Z")

</div>

![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/9/935c5ebf77d0837d4cb65a7edcc3a6715f77da2e.jpeg)

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 9, 2025, 12:14pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/3 "2025-04-09T12:14:11Z")

</div>

![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/3/3546e0c7c50b52d17b934b6fc94a7cf458522dde.png)

---

<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:** [April 9, 2025, 12:27pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/4 "2025-04-09T12:27:45Z")

</div>

hi, as i remember an equation cannot be used with rigid body reference nodes, distributed coupling is needed to simulate hinge between of two surface (node) sets.

---

<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:** [April 9, 2025, 12:38pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/5 "2025-04-09T12:38:30Z")

</div>

The number of terms is basically the number of coefficients in the equation. You have 6, not 3 of them.

![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/b/b34cb5aba60776a6ea8a4f41d33118218fa59a13.png)

N - number of terms in the equation,  
P, Q, R - nodes,  
i, j, k - DOFs corresponding to nodal variable u  
A\_N - coefficients

I would define separate \*EQUATION keyword for each DOF in the way preprocessors typically use:

```auto
*EQUATION
2 
273265, 1, 1, 273267, 1, -1
*EQUATION
2 
273265, 2, 1, 273267, 2, -1
*EQUATION
2
273265, 3, 1, 273267, 3, -1

```

Still, defining joints like this in CalculiX is not easy considering all the limitations of coupling and rigid body constraints.

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 9, 2025, 1:01pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/6 "2025-04-09T13:01:31Z")

</div>

Thank you for the input!  
I tried doing so and the output is the following.

 ![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/5/51568344ca0ac5a4fd29b53b53e6de17baaa0969.png)

How can i fix this? ☹

Also, you mentioned that using a rigid body isnt the best way to simulate this…What is the best way then?

Thanks again for your help!

---

<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:** [April 9, 2025, 1:12pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/7 "2025-04-09T13:12:27Z")

</div>

Do you have tie constraints in your model ? Does are only warnings, it may still run.

Apart from the CalculiX forum thread and YouTube video you’ve mentioned, this example might be helpful: [CalculiX-Examples/Test/Joints at master · calculix/CalculiX-Examples · GitHub](https://github.com/calculix/CalculiX-Examples/tree/master/Test/Joints)

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 9, 2025, 1:39pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/8 "2025-04-09T13:39:30Z")

</div>

Manage to make it run like this but I didnt get the output wanted ☹

 ![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/4/46dc1258d9022947c4c43c1551c94ead3466d029.jpeg)

The sides still separate one from the other.

Do you think there’s a way to fix this? Or should I do it all over again?

---

<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:** [April 9, 2025, 1:50pm UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/9 "2025-04-09T13:50:25Z")

</div>

Try with kinematic coupling like here: [CalculiX-Examples/Test/Joints at master · calculix/CalculiX-Examples · GitHub](https://github.com/calculix/CalculiX-Examples/tree/master/Test/Joints#kinematic-coupling-without-pin)

Or using the approach from the YouTube tutorial:

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/3/3edbd54e4331e130f81bbf2d9589cc5865cccc9e.jpeg)

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 10, 2025, 7:47am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/10 "2025-04-10T07:47:02Z")

</div>

Hi! Sorry for my late reply, I’ve been trying to follow your input 🙂

 ![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/0/0a5ef0944147030820da58aeb314a2f20f7f2fd1.png)

> \*\* Additional node for coupling  
> \*NODE  
> 999999, -1872,-259.89,-99.9
> 
> \*DISTRIBUTING COUPLING, Elset= ELSET\_S1  
> 1937, 1.  
> 12217, 1.  
> 12314, 1.  
> 17505, 1.  
> \*ELSET,ELSET= ELSET\_S1  
> 267677  
> \*ELEMENT,TYPE=DCOUP3D  
> 267677, 999999

Where:

- 1937, 1.
- 12217, 1.
- 12314, 1.
- 17505, 1.

**Are the nodes of the surface I want link to the point**

- 267677  
**Is the n of the ELSET** (i dont know how i’m supposed to pick this number)

- 999999  
**is the ID of the NODE i’ve created** , which is in the center of the hole.

Tried to run, doesnt print out any warning but the analysis fails.  
Any suggestion?

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 10, 2025, 7:47am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/11 "2025-04-10T07:47:33Z")

</div>

![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/a/a795527419dd7b1246976b66881c67b7f5253979.png)

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 10, 2025, 7:56am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/12 "2025-04-10T07:56:07Z")

</div>

![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/4/48d6ec6dc081d7bee411e8bc31f4d71415770667.png)

The idea is finding a way to link the surface S1 of the first hole to the relative center and then doing the same on the second hole, to then link them together right?

Or the aim is to link both surfaces to the same central point?

I can’t find any exemple i can relate to ☹

---

<div class="post-metadata">

**Author:** ![arnie](https://avatars.discourse-cdn.com/v4/letter/a/ba9def/32.png) [@arnie](https://prepomax.discourse.group/u/arnie)\
**Post date:** [April 10, 2025, 8:30am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/13 "2025-04-10T08:30:31Z")

</div>

It would be great to have a REVOLUTE boundary condition in the GUI for this (like some commercial software) and not have to rely on Keyword Editor.

Perhaps a feature suggestion for next versions (in the user Feature Request channel) 🙂

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 10, 2025, 8:32am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/14 "2025-04-10T08:32:17Z")

</div>

Yeah It’d be great! Kinda struggling here

---

<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:** [April 10, 2025, 8:33am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/15 "2025-04-10T08:33:02Z")

</div>

> [@gaiaper](#):
>
> i dont know how i’m supposed to pick this number

It’s a number of an additional element so it should be different than the numbers of other elements in the model (e.g. the last existing element number +1 or just some very high number).

> [@gaiaper](#):
>
> The idea is finding a way to link the surface S1 of the first hole to the relative center and then doing the same on the second hole, to then link them together right?
> 
> Or the aim is to link both surfaces to the same central point?

You should have two separate rigid body constraints or couplings with different (but potentially coincident) reference points and then connect those reference point (via \*EQUATION or other means such as spring or beam elements).

> [@gaiaper](#):
>
> I can’t find any exemple i can relate to ☹

What about the YouTube video and GitHub example ? Here’s another forum thread btw.: [Modelling moving wing-strut joints - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).](https://calculix.discourse.group/t/modelling-moving-wing-strut-joints/2207)

---

<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:** [April 10, 2025, 8:38am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/16 "2025-04-10T08:38:02Z")

</div>

It would be useful but the problem is how to reliably model it with CalculiX’s features and limitations. For example, Abaqus has connector elements with predefined DOF combinations (there’s even one called HINGE) for such applications.

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 10, 2025, 8:40am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/17 "2025-04-10T08:40:22Z")

</div>

Can’t use the one in the YT video.  
The one I showed up above is based on the GitHub link you’ve sent me

---

<div class="post-metadata">

**Author:** ![gaiaper](https://avatars.discourse-cdn.com/v4/letter/g/ed8c4c/32.png) [@gaiaper](https://prepomax.discourse.group/u/gaiaper)\
**Post date:** [April 10, 2025, 9:58am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/18 "2025-04-10T09:58:09Z")

</div>

UPDATE  
i’ve tried to implement this code (from the GitHub link)

> \*orientation, name=pin, system=cylindrical  
> -1650.44822868247 , -922.804566552021,-99.9024090809559, -1650.44822868247 , -922.804566552021,-101  
> \*node, nset=nref  
> 273265, -1650.44822868247 , -922.804566552021,-99.9024090809559  
> \*coupling, ref node=273265,surface=Surface-11 ,constraint name=p11, orientation=pin  
> \*kinematic  
> 1  
> 3  
> \*\*  
> \*coupling, ref node=273267 ,surface=Surface-2 ,constraint name=p12  
> \*kinematic  
> 1  
> 3
> 
> \*orientation, name=pin, system=cylindrical  
> -1650.44822868247 , -922.804566552021,40.5976815364133 , -1650.44822868247 , -922.804566552021,-101  
> \*node, nset=nref  
> 273269, -1650.44822868247 , -922.804566552021,40.5976815364133  
> \*coupling, ref node=273269,surface=Surface-3 ,constraint name=p13, orientation=pin  
> \*kinematic  
> 1  
> 3  
> \*\*  
> \*coupling, ref node=273271 ,surface=Surface-4 ,constraint name=p14  
> \*kinematic  
> 1  
> 3

Simulation runs but i’m not getting the effect i was hoping for: the two sides aren’t moving together

 ![immagine](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/1/180d7f67033292f58515e64cc1392dc8733cfa24.jpeg)

Suggestions? Am i missing something?  
Thanks in advance for your precious help

---

<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:** [April 10, 2025, 10:09am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/19 "2025-04-10T10:09:55Z")

</div>

there’s YouTube old tutorials related to modeling a hinge, this feature also been proposed in PrePoMax

[![](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/a/a9971994cb7677c1d9e3bbd87748f8c84b78f163.jpeg "CalculiX Launcher3 - Mises Truss. Hinged Connection") ](https://www.youtube.com/watch?v=EnfrWkV3tts)

[![](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/29248957ae9614d98d3d3ddb88e3c23d50d827b2.jpeg "CalculiX Launcher - Pinned Connection (Assembly) FEA") ](https://www.youtube.com/watch?v=ZOc2K0lxKR4)

---

<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:** [April 10, 2025, 10:18am UTC](https://prepomax.discourse.group/t/hinge-simulation/2613/20 "2025-04-10T10:18:07Z")

</div>

The second one is what we were talking about here since the beginning of this thread. The first one looks nice but it has solid pin with contact.

[Next page](https://prepomax.discourse.group/t/hinge-simulation/2613.md?page=2)
