Hinge simulation

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

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.

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.

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

image

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:

*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.

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

How can i fix this? :frowning:

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!

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

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

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?

Try with kinematic coupling like here: CalculiX-Examples/Test/Joints at master · calculix/CalculiX-Examples · GitHub

Or using the approach from the YouTube tutorial:

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

** 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?

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 :frowning:

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) :slight_smile:

Yeah It’d be great! Kinda struggling here

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).

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).

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).

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.

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

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

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

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

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.

1 Like