Nonlinear Axial Compression (Buckling) of a Cylinder not Converging

Dear All,

My and my student have been trying to run a nonlinear buckling analysis on a reactor skirt, basically a cylindrical shell with holes, under axial compression in CalculiX 2.23, but I am having convergence problems (running the stock solver).


The workflow based on a previous discussion Nonlinear buckling of a cylindrical shell is as follows:

First, I worked on linear buckling. Created an INP file containing 1 buckling mode, and applied the load as compression with *CLOAD. After solving, opened the FRD file and wrote the following commands to obtain the deformed mesh:

  1. datasets-displacement-entity:4 All
  2. viewing-toggle add displacement
  3. scal d 10000
    1. prnt se
  4. send all abq
  5. send all (nodeset_groups) nam

In the proceeding nonlinear buckling analysis the newly created files are used.

I have tried both load control and displacement control, with and without plasticity defined, but in all cases the analysis failed after a downwards displacement of about 1% of the cylinder height.

The geometry and group sets are in the following link: https://limewire.com/d/GrE9z#FTTW4TZXr9

The nonlinear buckling analysis is run with the below INP file. But it fails to converge at an axial compressive displacement of about 1% of the cylinders height. The culprits in my opinion are

  1. the mesh being too coarse
  2. the stock solver not being able to handle buckling

Any advice, comments by experienced CalculiX Users will be greatly appreciated.

Fethi

*Heading
nonlinear buckling analysis, skirt with openings and holes under load, shell mesh
*INCLUDE, INPUT=all.msh
*INCLUDE, INPUT=base_plate_center_YFIX.nam
*INCLUDE, INPUT=skir_sless_top_LOAD.nam

*BOUNDARY
Nbase_plate_center_YFIX,1,3

*MATERIAL,NAME=STEEL
*ELASTIC
210000,0.3
*DENSITY
7.8E-9

*SHELL SECTION, ELSET=Eall, MATERIAL=STEEL
25
**
****step 1, nonlinear displacement control buckling analysis
*STEP,NLGEOM,INC=1000
*STATIC
0.02,1,1e-4,0.1
*BOUNDARY
Nskir_sless_top_LOAD,3,3,100
*NODE FILE, OUTPUT=2D
U
*EL FILE
S
*NODE PRINT, NSET=Nskir_sless_top_LOAD
U
*NODE PRINT, NSET=Nbase_plate_center_YFIX, TOTALS=ONLY
RF
*END STEP

@fethio I’m not sure the Limewire link is working, when I try I get the following error message

Looking at your displacement image, the contours follow the element boundaries. That is suspicious. How can you be sure that this displacement is not an artefact of your mesh?

I would suggest creating a regular mesh using the geometry commands in cgx.

1 Like

@fgr Thanks for pointing out the broken link, I fixed it, should work now.

The displacement contours are from the first buckling mode. I did not understand what you mean by a mesh artefect, it was produced by gmsh from a STEP file (it is not a straight cylinder with holes on it).

I reviewed the model and I agree with the mesh being too coarse. Not sure if I agree with the second point.

I would start with remeshing the model with 1st order quads. Make sure to split the geometry in a way that makes it easier for further refinement if needed. I noticed that the geometry is not fully symmetrical, and it deviates from a cylinder.

I would start first with just a simple cylinder, then add the cutouts. Follow the approach from Dr. Kraska - Non-linear Buckling - CalculiX-Examples - Created by Martin Kraska

Looking at the purple color in the image, it seems to follow the edges of the elements to a degree.

In other words, if you were to do the same calculation with a different mesh, would it result in the same displacement field? If not, the displacement field could be said to be an artefact of the mesh.

1 Like