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):
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.
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.
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 ?