I’m working on nonlinear buckling of an axially compressed cylindrical shell with imperfections in form of a scaled first linear buckling mode shape. I had some doubts regarding boundary conditions but I chose the variant in which the bottom edge of the shell has all DOFs fixed and the top edge has only 2 translations (perpendicular to the shell’s axis) fixed via rigid body constraint (so that I can also apply load easily). The analytical solution for linear buckling assumes axial compression from both sides and no constraints on the edges but I get good agreement with it so this approach to BCs should be fine. I’m just not sure what the first mode shape should look like. Anyway, the biggest issues here are with the second analysis - nonlinear buckling. In Abaqus, I can get a nice collapse pattern using Riks solver but in CalculiX it’s not possible. Thus, I have to use *STATIC with NLGEOM and hope that it will converge. In most cases, it doesn’t (at least not fully). And even if it does, I don’t get what I would expect. Here’s the first mode shape from linear buckling with unit load (eigenvalue is in agreement with the analytical solution):

cylindrical shell size: radius = 200 mm, height = 400 mm, thickness = 2 mm

material: aluminum (bilinear plasticity with hardening included in the case shown above)

load: prescribed displacement causing compression (1 mm) - I tried with force too but it’s worse for convergence

imperfection scale factor: 2 (10% of the shell thickness wasn’t very promising so I used 100% instead)

Can you share some tips - how to make it fully converge and how to get the desired collapsed shape ? What is your approach to such analyses taking into account the lack of Riks solver ?

I was even thinking about using load imperfection (pressure acting on a small elliptical patch on the shell’s surface) but I would definitely prefer to stay with the current approach involving a scaled linear buckling mode shape.

i have in memory that there is for buckling
an issue at the boundary, what is called elephant feet,
it looks like your buckling mode.
" I’m just not sure what the first mode shape should look like"
i think it could look like these:

That’s what I would also expect in CalculiX. It seems that the shell formulation (or actually lack thereof) and how rigid body constraint interacts with it is causing the problem and unphysical results (correct eigenvalue but different mode shape) in CalculiX. Now the question is if there’s any workaround.

maybe there is a problem with the boundary and shell elements,
because of the expansion,
Maybe it is better to work with solid model with two elements thickness,
so that you can use the midle nodes for the boundary with cylindrical coordinate system

I would rather avoid using cylindrical coordinates and solid elements - this is supposed to be a tutorial as simple as possible. Perhaps I should try with different boundary conditions but so far none of the tested variants gave good results.

The question is what makes each one of them appear instead of the other.

I would rather avoid solid elements since those would have to be hexahedrons and preparation of such a mesh is not a scope of this tutorial. Also, it’s kind of strange (and normally a bad practice) that solid mesh is used for such a thin-walled structure. Maybe some other workaround may help. If nothing works, I’ll consider changing the geometry or load type (e.g. to pressure) but axially compressed cylindrical shell is an interesting case and nicely shows imperfection sensitivity.

Right but the shape without rigid body constraint is also wrong (posted above) so expansion itself seems to be a reason in this case.

to my understanding the main different is the number of element nodes (equations). solid element may perform well compared to 2D shell at very thick, curved geometry and torsion/twist conditions.

improvement result of shell element use increasing number of integration point trough the thickness were solid element use number of element layer.

maybe not the shell expansions itself, but related to constraint implementation at curved geometry in which required to defines at local axes.

Indeed, I was thinking about using a rectangular shell like in the example above but I want to make a comparison with an analytical solution and I don’t have it for linear buckling of such a structure. I don’t know if it even exists. Perhaps I will have to switch to plates but those are not so sensitive to imperfections.

For steel, I get 1.933288*10^6 N using the formula from Roark’s.

I assume that your geometry is the same as mine and you are you using standard CalculiX’s shell elements. What is the mesh density ? And most importantly, what are the boundary conditions ?

Please share the .inp or Mecway file if it’s not a problem.

@Calc_em looks like you’re using 4-node elements. I would use 8-node or a finer mesh since the wavelength is only a few elements long.

For the nonlinear, at 87% critical load, isn’t that just the elastic deformation shape without buckling?

Maybe you can put soft springs over the entire surface to help keep it stable during the buckling process? Ie. keep the load-deflection curve from going backwards.

Another trick is sometimes to use DIRECT for fixed time step sizes and it seems to somehow skip over the hard parts if you’re lucky.

Looks like 8 node elements are providing a different result.
8 node shells are stiffer and only buckle around 3.1e6 N depending on the BC (Type n=1, n=2 or n=4) but…
they can capture the buckling modes in the hoop direction.
Values are much closer to the DIN results and shape modes have all nice symmetric patterns.

There is some plastic strain in that solution but only around that top edge with incorrect deformation caused by rigid body constraint. Also, the F-u plot seems to show no buckling. However, in Abaqus, I get a nice buckled shape shown above even for such small prescribed displacement of 1 mm.

For now, buckling is not even reached in CalculiX. But I was rather thinking about using a dynamic implicit step (and trying to make it quasi-static if it’s possible in CalculiX) in case of such issues.

Unfortunately not. Maybe you could share the exported .inp file ? So that I can take a look at the keywords used in it and compare your model with mine. Alternatively, a short description of boundary conditions and other differences from my case could suffice.

hi, i took a simple test for similar case quickly without plasticity. defines prescribed displacement applied directly to the edge (nodes) and given restrained lateral translations. the models converged and solved.

Yeah, but it seems to apply only to cases with negative/low eigenvalues. I use a unit compressive load for linear buckling analysis and thus I get large positive eigenvalues.

So the bottom edge was fully fixed (including rotations) and the top edge had two perpendicular translations blocked like in my model ? Are those S3 shell elements ? What was the imperfection scale factor ?