Crush Mechanics

Firstly, thanks to Mateq for this excellent open source program.

Currently having problems getting *static solution for compression of a tube using S8/S8R shell elements, C3D20 gives solution only up to 30mm displacement, any further displacement in distorted elements (plot shown for each element formulation).

Would ccx *dynamic,explicit be a better approach to handle this? Displacements would applied quasi statically as a starting point. See attached photos

Unlikely - it’s very underdeveloped, slow and has several limitations in CalculiX (it’s usually better to switch to OpenRadioss if you really need explicit dynamics). Dynamic implicit probably won’t help either. Static should be ok once you get the contacts right.

It would be best to use a plane strain (or its 3D solid equivalent) model and utilize symmetry:


(Novel Ring Compression Test Method to Determine the Stress-Strain Relations and Mechanical Properties of Metallic Materials | Chinese Journal of Mechanical Engineering | Springer Nature Link)

Can you share the file (the last one maybe) ?

2 Likes

Thanks for the tips. I struggled with Openradioss both explicit and implicit but I may need to return to it. I have uploaded both the shell and solid approach.

single_tube_compression_v2_shell.inp (201.1 KB)

single_tube_compression_v1.inp (2.0 MB)

Try with this model (just a proposal from my side, feel free to modify it as you wish and e.g. add friction or change the contact stiffness):

Ring crushing 2D.pmx (149.4 KB)

Thanks very much for this.

Presumably reaction forces should be scaled by the length of the tube as the 2d analysis forces are per unit length along the Z axis direction and then by 4 for 2 planes of symmetry?

That’s a very nice paper, I will study it. Thanks!!

Instead of unit thicknesses, I specified the actual thicknesses (30 mm and 20 mm - good to have a difference in contact) for the plane strain model. But you need to scale the forces to account for the symmetry.

It sometimes also helps to extrude such a 2D model into a single layer of 3D elements (CalculiX does it internally anyway) and compare the results. This way you can avoid potential issues with 2D elements in CalculiX, although in this case they don’t seem to be a problem.

good to know. I am curious where this comes from. I dont see it in the GUI
*Node print, Nset=Reference_Point-1_Rot_32262, Global=Yes
RF, U

Also, I am interested to extract the reaction moments at the 2 symmetry lines…I had the idea to create reference points, at the 2 symmetry edges and scope the respective element edges to their reference point… solution fails with severely distorted elements in the first sub step.

This is from the history output request:

Rigid body constraint uses 2 nodes internally - REF NODE handles translations while ROT NODE handles rotations (even though its DOFs are also numbered 1-3).

You could use the section pring feature for that. It’s available in GUI in the dev version of PrePoMax or you can just define it manually using Keyword Editor in the stable version:

*SECTION PRINT, NAME=SP1, SURFACE=SX 
SOF,SOM 
*SECTION PRINT, NAME=SP1, SURFACE=SY 
SOF,SOM

You just need to define two surfaces (on the edges in this 2D model) named SX and SY.

I noticed that the History RF returns 0 on “reference point 1” while History U returns the expected full applied displacement at end of solution. Perhaps a bug on RF?

Also curious how to resolve the balance of forces/moments for this quarter segment as a FBD… maybe I am missing something? I defined SX as shown in picture

It is possible in 2D models, although I’ve only seen it with reaction moments so far: Zero reaction moment when reading from ROT NODE in 2D - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).

Of course, to get non-zero RF, you need either a boundary condition on the proper degree of freedom of the selected node or external force applied there (RF in CalculiX is actually total force = reaction force + applied force).

Since you want to verify all that (and you may have encountered the issue with RF), I would try extruding the model to a 3D solid just in case (you can use the Thicken Shell Mesh tool in PrePoMax for that). Also, keep in mind that section print calculates the forces and moments by integrating the stresses

Not sure why I get the “Nonpositive_Jacobian-1” when I attempt to extrude the 2d mesh with Thicken Shell Mesh Tool. I have attached the .inp file with inserted SOF/SOM and ran from the command line which returned “nonpositive jacobian..”
Ring_crushing_2D_v2.inp (1.7 MB)

You would have to use the 3D Model Space instead (import the geometry as surfaces, mesh with shell elements and thicken). But also, what thickness did you specify ? The elements are hexahedral (C3D20), but appear so flat that I thought they were still 2D.

I simply took your model Ring crushing 2D.pmx and added the Thicken Shell Feature with 1mm length and left the solid section definitions of 20mm and 30mm as is.

You should specify the real thickness (20/30 mm) for the Thicken Shell Mesh tool because it’s used to create an equivalent solid model. Then in the 3D Model Space you need to assign Solid section without thickness - it’s only used in

Not clear to me why the GUI has a thickness defintion for a solid section..a bug?

Isn’t Model Space still set to 2D ? The solid section thickness is relevant and should appear only for 2D (plane stress/strain) models. In 3D, only Shell section has thickness.

1 Like

my mistake, I had not realized there’s a radio button for the different Model space settings unlike other commercial preprocessors. Thanks!!

Sure, here’s your model in 3D:

Ring crushing 3D.pmx (282.8 KB)

1 Like

Thanks, I have added in *contact print to extract contact forces. Numbers are now making sense.

I would like to investigate arc curvature via the S8R elements so I attempted to import a stp file with 2 edges, one for the arc and one for the plate. It seems successfully loaded but there are no items via the geometry tab in GUI nor in the main graphic area. Its not clear to me if we can mesh edges and use editor to insert relevant keywords prior to analysis