Nils
October 8, 2023, 9:06am
1
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.
Nils
October 8, 2023, 10:07am
3
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
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
Nils
October 8, 2023, 4:17pm
5
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!
jbr
October 8, 2023, 4:38pm
6
@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?
Nils
October 8, 2023, 5:29pm
7
Thanks for your answer and offer! I’ll try to debug and then get back to you!
Disla
October 9, 2023, 6:22am
8
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
jbr
October 9, 2023, 6:15pm
9
That is correct. My bad, I Crtl+v too fast and did not change the limits. No rotational DOFs.
Disla
October 9, 2023, 8:51pm
10
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
Hi, Disla
Do you have any ideas about using kinematic coupling with rotational DOFs? It looks strange only with translational DOFs. Thank you.
Disla
June 20, 2024, 7:28am
12
Not with Kinematic card. That is a limitation of ccx.
If you don’t mind some model stiffening you could try defining two rigid bodies sharing a commond ROT.