Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2014-01-09 15:58:28

RichardS
Member
From: Munich, Germany
Registered: 2010-09-28
Posts: 559
Website

[Discussion] How to model a hinge bc allowing large rotations

Hello all,
I'm currently trying to figure out how to model a hinge/cylindrical support boundary condition in a 3D model that allows large rotations.
Since I didn't have much success and I saw a couple of related posts on this topic I would like to start a discussion.

Here is what I tried so far and how it turned out:

a) Using DDL_IMPO: I tried the approach from KeesWouters by defining via python linear relations for the DOFs of the cylindrical hole which would only allow a displacement tangential to the cylinder wall. As the Point coordinates are not updated this approach is only valid in the case of very small rotations.

b) Using DDL_IMPO with updated coordinates: starting from a) I modified the procedure to take into account the actualized geometry. This would allow a little larger rotations, but the fact that I'm still applying linear relations where I would use quadratic relations (sometihng like (DX-CenterX)^2 + (DZ-CenterZ)^2 = const = Radius^2) is still leads to additional stresses as the rotational radius is strictly increasing.

a) Creating POI1 elements and connecting them via LIAISON_* to the 3D Elements: I didn't test this approach extensively as to my knowledge all LIAISON_* commands just apply linear relations and don't allow large rotations and displacements.

b) Adding a "spider" of BARRE/CABLE elements: In this approach I generated segments between each node of the cylindrical hole and the center of the cylinder (see attached image). This approach seemed valid as it is a common procedure, but there are some problems with the modelisations: CABLE elements allow large rotations and displacements (GROT_GDEP), but the only allow tension, so the stress field around the hole would be wrong. BARRE elements allow tension and compression, but no large rotations (only PETIT_REAC). Using beam elements would require to deal with additional rotational DOFs and till now I didn't find a way to restrict them in a practicable manner (I also wasn't able to get DDL_POUTRE working).

c) Using CONTACT: I tried using contact (despitide I think it is a huge overhead for a simple cylindrical support) by duplicating the nodes and elements of the cylindrical hole. The results were as expected. The displacements were good with a very fine mesh and quadratic elements but I got wrong stresses and I took very long to compute (compared to the initial problem).

In my oppiniion there would be two valid approaches to solve this:
1) Allow applying DOFs in a cylindrical coordinate system
2) Implement GROT_GDEP for BARRE elements

1) would be very user friendly but I imagine that it wouldn't be easy to implement, how complicated 2) would be I have no idea but I imagine less than 1).

If you have any other Idea that could be tried or which steps would be necessary to implement eather solution 1) or 2) I would appreciate any comment.

Best regards,
Richard

Last edited by RichardS (2014-01-09 15:58:54)

Attachments:

Richard Szoeke-Schuller
Product Management
www.simscale.com
We are hiring! https://www.simscale.com/jobs/

Offline

#2 2014-01-09 16:33:59

RichardS
Member
From: Munich, Germany
Registered: 2010-09-28
Posts: 559
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

Here are the files to re-run my tests. They should be ready to run with version 11.4 or later.

Attachments:

Richard Szoeke-Schuller
Product Management
www.simscale.com
We are hiring! https://www.simscale.com/jobs/

Offline

#3 2014-01-10 20:46:16

lagrange
Member
Registered: 2011-11-14
Posts: 41

Re: [Discussion] How to model a hinge bc allowing large rotations

Hello,

What about using beam elements (POU_DT_GD) in combination with LIAISON_DLL?

For example you could use two pairs of two coincident nodes at the axis of the hinge. For each pair of nodes one node would be connected to the first part by means of beam elements and the other node would be connected to the second part also by means of beam elements. For each pair of coincident nodes one LIAISON_DLL connection could be defined which connects only the translational DOF's but not the rotational DOF's. With that approach all the nonlinear stuff would be handled by the beam elements and only the linear constraints for translational DOF's would be handled by LIAISON_DLL.

Of course that approach always adds spurious elasticity/stiffness.
The best solution would be to use LIAISON_RB3 links instead of the beams. But they cannot be used for large rotations as far as I know.

Best regards,
Lagrange

Offline

#4 2014-01-12 20:30:38

RichardS
Member
From: Munich, Germany
Registered: 2010-09-28
Posts: 559
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

Hello  Lagrange,
I don't fully understand your approach, but it seems interesting.
Could you please clearify what you mean by "the first" and "the second" part?

Being able to use RBE3 connections in large displacements would really be great!
(although reading Kees experiences you also would have to make sure to have an evenly distributed mesh size on the cylindrical hole)

Best regards,
Rochard

Richard Szoeke-Schuller
Product Management
www.simscale.com
We are hiring! https://www.simscale.com/jobs/

Offline

#5 2014-01-13 19:58:39

lagrange
Member
Registered: 2011-11-14
Posts: 41

Re: [Discussion] How to model a hinge bc allowing large rotations

RichardS wrote:

Hello  Lagrange,
I don't fully understand your approach, but it seems interesting.
Could you please clearify what you mean by "the first" and "the second" part?

Best regards,
Rochard

OK I will describe it in more detail.
The first part could be a bolt for example and the second part would be the matching part with the cylindrical hole. Let's call it hinge.

Your command file could be like ...

``````MODELE=AFFE_MODELE(MAILLAGE=MAIL,
AFFE=(_F(GROUP_MA=('BOLT','HINGE',),
PHENOMENE='MECANIQUE',
MODELISATION='3D',),
_F(GROUP_MA=('BOLT_BEAM','HINGE_BEAM',),
PHENOMENE='MECANIQUE',
MODELISATION='POU_D_T_GD',),),);

CHARGE=AFFE_CHAR_MECA(MODELE=MODELE,
LIAISON_DDL=(_F(GROUP_NO=('BOLT_HINGE1','HINGE_HINGE1',),
DDL=('DX','DX',),
COEF_MULT=(1,-1,),
COEF_IMPO=0,),
_F(GROUP_NO=('BOLT_HINGE1','HINGE_HINGE1',),
DDL=('DY','DY',),
COEF_MULT=(1,-1,),
COEF_IMPO=0,),
_F(GROUP_NO=('BOLT_HINGE1','HINGE_HINGE1',),
DDL=('DZ','DZ','DZ',),
COEF_MULT=(1,-1,),
COEF_IMPO=0,),),);``````

Where BOLT and HINGE could be a groups of tetrahedrons or hexahedrons.
BOLT_HINGE1 and HINGE_HINGE1 would be two groups with exactly one node. Those nodes should be coincident and the position of those nodes should be at the centerline of the hinge.
The group BOLT_BEAM should contain SEG2 elements. The first node of each SEG2 element should be BOLT_HINGE1 and the second node should be one node at the sliding surface of BOLT. In the same way HINGE_BEAM should contain SEG2 elements with the first node HINGE_HINGE1 and the second node at the sliding surface of HINGE.
That procedure has to be repeated a second time with BOLT_HINGE2 and HINGE_HINGE2 in order to have a hinge behavior and not a spherical joint.

Best regards,
Lagrange

Offline

#6 2014-01-14 08:24:01

laconick
Member
From: Italy
Registered: 2010-10-28
Posts: 59
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

lagrange wrote:

The first node of each SEG2 element should be BOLT_HINGE1 and the second node should be one node at the sliding surface of BOLT

Let me get this: you must first build two "spiders" from the central node to the surface of the hole. Right?
Not bad, but maybe this modeling is a bit slow if there are a several pins. Is there a way to automate the construction of the spiders?

Offline

#7 2014-01-14 09:01:23

RichardS
Member
From: Munich, Germany
Registered: 2010-09-28
Posts: 559
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

Hello Lagrange,
thanks for clearification, I'll try to set up a running case according to your suggestions.

Hello laconick,
I think there is no way around auto-adding of the SEG2 elements.
I attached a small python script which does this task when run in salome.

Best regards,
Richard

Attachments:

Richard Szoeke-Schuller
Product Management
www.simscale.com
We are hiring! https://www.simscale.com/jobs/

Offline

#8 2014-01-14 10:51:38

laconick
Member
From: Italy
Registered: 2010-10-28
Posts: 59
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

Thanks Richard, interesting script. However, I wonder whether it is worthwhile to use spiders. The method proposed by Lagrange to make the connection seems good, however you do not get reliable indications on the stress on the hole. So why not use LIASON_SOLIDE, instead of spiders?

Offline

#9 2014-01-14 11:37:19

RichardS
Member
From: Munich, Germany
Registered: 2010-09-28
Posts: 559
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

laconick wrote:

So why not use LIASON_SOLIDE, instead of spiders?

This is because LIAISON_SOLIDE writes linear relations between nodes which do NOT allow large rotations, no matter if the stresses near the hole are right,  see for example  R3.03.02.

Best regards,
Richard

Richard Szoeke-Schuller
Product Management
www.simscale.com
We are hiring! https://www.simscale.com/jobs/

Offline

#10 2014-01-14 12:25:50

laconick
Member
From: Italy
Registered: 2010-10-28
Posts: 59
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

ops. This makes sense. My mistake, sorry

Offline

#11 2014-02-01 12:19:59

keeswouters
Member
From: kuringen
Registered: 2007-12-01
Posts: 144
Website

Re: [Discussion] How to model a hinge bc allowing large rotations

Hoi Richard

Two remarks:

1)

In my oppinion there would be two valid approaches to solve this:
1) Allow applying DOFs in a cylindrical coordinate system
2) Implement GROT_GDEP for BARRE elements

It would be nice if more elements would have large displacement behaviour in C-Aster.

2)
Does RBE3 support large deformation in C-Aster? I havenot really looked into detail for that part of RBE3, but I guess it does not (recalling that some constant matrix calculation is used). Lately I used and RBE3 to apply a load to a face (torque on axial face of cylinder) but it did not behave really well.

Edit, though a bit off topic:
RBE3 may be used in a linear case to define a hinge behaviour. See:
http://www.caelinux.org/wiki/index.php/ … onstrained (under construction at this moment)

Last edited by keeswouters (2014-02-02 19:28:36)

kind regards - kees
--
I a parallel univers the laws of mechanics may be different.

Offline