Error when reading *KINEMATIC COUPLING

Hello!

I’m a calculix first timer and applying CL32-win32bit on a simple structural mechanics problem. There are 4 screws, which I model with a simple coupling spider:

*KINEMATIC COUPLING, REF NODE=356
Screw_1, 1, 3
*KINEMATIC COUPLING, REF NODE=357
Screw_2, 1, 3
*KINEMATIC COUPLING, REF NODE=17533
Screw_3, 1, 3
*KINEMATIC COUPLING, REF NODE=17550
Screw_4, 1, 3

The sets “Screw_*” contain the nodes of the washer elements of parts to be joined. The error message is

*ERROR reading *BOUNDARY. Card image:
Srew_1,1,3

If someone has suggestions how this problem emerges and how to solve, I’d be very thankful!

Best Regards

Nils

If a boundary condition is defined within a step, it should use this format:

*BOUNDARY
node_set, first_DOF, last_DOF, value

So it should be:

*BOUNDARY
Screw_1, 1, 3, 0

if you want to fix those DOFs.

Thanks Calc_em. I think the error message is a little misleading, because the error seems to be in the coupling definition and there is the value that you are talking about not required. I have no idea why “*Boundary” is printed in the error message :thinking:

My boundary is defined exactly as you wrote. I was already modifying several things using couplings, but somehow this seems not straight forward coming from abaqus

Actually, the kinematic coupling definition in CalculiX should look like this:

*COUPLING, REF NODE=..., SURFACE=..., CONSTRAINT NAME=...
*KINEMATIC
first_DOF, last_DOF

Calculix doesn’t have the *KINEMATIC COUPLING keyword.

1 Like

Thank you again Calc_em. I tried now to work with a Coupling Type Kinematic. Below you find both Coupling and surface definition

*SURFACE, NAME=Screw_1, TYPE=NODE
Screw_1, 1.
*COUPLING, CONSTRAINT NAME=COUPLING_114, REF NODE=356, SURFACE=Screw_1
*KINEMATIC
1, 6

and I still get an error message

*ERROR reading *SURFACE: only one entry per
line allowed
*ERROR reading *SURFACE. Card image:
Screw_1,1.

Can you tell, what is the error now? Thanks in advance for your reply!

@Nils I believe you need to use:

*SURFACE, NAME=SurfName, TYPE=ELEMENT
ElementID, FaceID

then

*COUPLING, CONSTRAINT NAME=Coup_Name, REF NODE=ID_1, SURFACE=SurfName
*KINEMATIC
1, 6

ElementID can be replaced with an element set. Are you using any particular pre-processor? Can you send the input deck to debug it?

Thanks for your answer and offer! I’ll try to debug and then get back to you!

Hi,

I thought kinematic coupling was only allowed for degrees of freedom from 1 to 3. ¿¿??
Manual says two times (only 1, 2 or 3 allowed).

Regards

That is correct. My bad, I Crtl+v too fast and did not change the limits. No rotational DOFs.

This approach it is kind of weird with its surface definition through the nodes , but it is the only kinematic combination that works with shells for me.

Yours:

*SURFACE, NAME=Screw_1, TYPE=NODE
Screw_1, 1.
*COUPLING, CONSTRAINT NAME=COUPLING_114, REF NODE=356, SURFACE=Screw_1
*KINEMATIC
1, 6

Try this:

*SURFACE,NAME=Screw_1,TYPE=NODE
Screw_1
*COUPLING,REF NODE=356,SURFACE=Screw_1,CONSTRAINT NAME=COUPLING_114
*KINEMATIC
1,3