Tested with CGX 2.19 / CCX 2.19
- Test of kinematic coupling
- Modal analysis
- Linear static analysis
- Non-linear static analysis
- Kinematic coupling with cylindrical co-ordinate system and no pin is a convenient and straightforward representation for hinge joints between parts.
- This is restricted to small displacements.
- The radial and axial displacement of the coupling surface follows a rigid body motion
- Define a cylindrical co-ordinate system co-inciding with the axis of the hinge.
- Define a ref node on the axis (the location should be irrelevant, this was not tested)
- Couple the axial and radial motion of the interface surface to the rigid body motion of the ref node.
- You may need to constraint the rotation of the ref node about the axis, although this did not make any difference in the present test.
*orientation, name=pin, system=cylindrical
100, 0, 0, 100, 0, 10
*node, nset=nref
6000 , 100, 0, 0
*coupling, ref node= 6000 ,surface= Ss12 ,constraint name=p11, orientation=pin
*kinematic
1
3
- Segfault with kinematic coupling with pin in nlgeom step
- Segfault destroys already accumulated dat file.
File | Contents |
---|---|
par.pre.fbl | CGX script, pre-processing |
par.pre2.fbl | CGX script, pre-processing, pin-less model |
kin.fbl | CGX script, simulation and post-pro with kinematic coupling |
kin2.fbl | CGX script, simulation and post-pro with kinematic coupling and no pin |
solve.inp | CCX input for model with pin |
solve2.inp | CCX input for model without pin |
frequency.plt | Gnuplot script for frequency chart |
test.py | Python script to run the full simulation |
The model represents a hinged joint between two bars. The pin is modeled by a beam which is coupled to the cylindrical surfaces of the holes. Pin-free alternative modelling is also demonstrated.
Parameter | Value | Description |
---|---|---|
xh | 100 | Distance between hinge and end of the bars in mm |
rh | 5 | Radius of the holes in mm |
angle | -60 | Angular position of bar 2 in degrees |
dz | 10 | axial offset between the bars in mm |
The script generated the elements, the surface, node and element sets and writes the coupling commands for ccx.
> param.py par.pre.fbl
> cgx -b pre.fbl
The model is supported by full constraint of the node set fix
and loaded by a (tensile) pressure to surface load
.
The coupling pin consists of a center region with nominal diameter connecting the two reference nodes and of two extensions with reduced diameter. These extensions are just there to enforce a knot in the beam nodes, because this is not triggered by using them as referece node.
It should be sufficient to just have the center region, but unfortunately, it is not.
After running pre.fbl
you find the ccx input file kpin.inc
, with the commands for kinematic coupling.
The simulation consists of three steps:
- frequency analysis
- static analysis without explicit
nlgeom
- static analysis with explicit
nlgeom
Coupling commands:
*coupling, ref node= 5351 ,surface= Ss1 ,constraint name=p11
*kinematic
1,3
*coupling, ref node= 5352 ,surface= Ss2 ,constraint name=p12
*kinematic
1,3
The interface surfaces are coupled to separate ref nodes. The ref nodes are connected by the pin with no released degrees of freedom. Thus the structure should behave like a single deformable part. However, here is no coupling of rotations between the two parts and the pin. Movies of the modal shapes can be found in Refs.
> cgx -b kin.fbl
given the missing coupling of rotations, there should be more than 2 zero frequencies
In the linear static step, the pin and the movable part aren't sufficiently constrained. This leads to very large meaningless deformations.
The non-linear static analysis doesn't succeed, it has been de-activated because it crashes with segfault and destroys the DAT file.
Coupling commands:
*orientation, name=pin, system=cylindrical
100, 0, 0, 100, 0, 10
*node, nset=nref
6000 , 100, 0, 0
*coupling, ref node= 6000 ,surface= Ss12 ,constraint name=p11, orientation=pin
*kinematic
1
3
The idea is to couple the interface surfaces of both members to the same reference node and restricting the coupling to the axial and radial motion using a custom co-ordinate system. This will allow relative rotation about the axis.
The axis is defined using two points on the axis of rotation.
Another difference to the models above is the use of kinematic coupling for the support.
Steps:
- frequency analysis
- static analysis with tension in part 2 without explicit
nlgeom
- static analysis with bending in both parts without explicit
nlgeom
- as before with explicit
nlgeom
> param.py par.pre2.fbl
> cgx -b pre2.fbl
> cgx -b kin2.fbl
The frequency analysis and the linear static analysis show the expected behaviour.
The frequency chart shows a single zero rigid body mode (f=0). This is the rotation of part 2 about the hinge.
In the first linear static step, the lower fixed bar shows bending and twisting load. The upper bar has tensile load, the stresses are much smaller there. This is to be expected because regardles of how the upper bar rotates, the pressure load is always axial.
In the second step, a vertical force is applied, which induces bending in both parts.
This step is repeated with explicit nlgeom
. In this case the solution does not converge.