Also, the load you applied is Normal Shell Edge Load, whose syntax is:
*DLOAD
elset, EDNORx, magnitude
From the ccx manual:
Edge loading is only provided for shell elements. Its units are force per unit length. The label is EDNORx, where x can take a value between one and three for triangular shells and between one and four for quadrilateral shells. This type of loading is locally orthogonal to the edge. Internally, it is replaced by a pressure load, since shell elements in CalculiX are expanded into volumetric elements.
And finally, comparison with solid elements can be beneficial in such cases.
For the future, it’s better if you share the .pmx file instead of .inp because the .inp importer is currently outdated and imports the model only partially in most cases, leaving out some features not yet supported by it.
It’s converted to a pressure load acting on the face of the expanded solid element. You could check it by applying such a pressure load to equivalent solid mesh (it’s even possible to export and use the expanded one directly).
In such cases, you can try making the mesh coarser or using some hosting websites (even WeTransfer) if that’s an option for you to share the file. Of course, .inp file is much better than no file
The mesher may sometimes not be able to respect those limits. For example, the web is 278.6 mm high so it can’t mesh it with only 25 mm square elements. For the webs, it could use 3 elements on each side though. You should also control the elements per edge/curvature settings since those may enforce some constraints too. I would relax the global constraints a bit, try with local refinement and other meshing algorithms. Unfortunately, there’s no way to explicitly specify the number of elements at the moment.
There can be no refinement or mesh tricks. Nobody will have the time to perform so many trials every time. This is intended to be a quick alternative to rapid and inaccurate modeling with bars using a program that isn’t as accurate under complex boundary conditions.
After replacing GMSH with the Refinement option, the mesh is fine.
Apparently, Netgen (mesher used by default if Gmsh is not selected) handles it better. That was the original mesher implemented in PrePoMax, while Gmsh was added much later and still needs some improvements (Gmsh itself has some bugs too, e.g. with the quasi-structured quad algorithm).
Yes, because the input surface geometry gets expanded into a solid mesh and all loads have to be transferred to their faces/nodes taking into account offset as well. There’s also a special handling for concentrated forces described in the CalculiX documentation.
Symmetry is risky in buckling calculations because many modes are asymmetric. Here, I assume you want to cut the beam in half along its length. But simply supported conditions often have to be modeled with one roller support to get good results. Another problem is that symmetry BCs have to be applied carefully when using CalculiX’s shells - you shouldn’t fix the drilling DOF. That should lead to problems only for curved edges though: Inconsistent result with CalculiX on a shell model of a plate in bending · Issue #64 · Dhondtguido/CalculiX · GitHub
So it should be ok if you fix the displacement in the direction normal to the symmetry plane as well as rotations other than the one in the symmetry plane.
Fixing these DOFs is correct, assuming that CalculiX’s drilling DOF limitation is not an issue here (it might be though - check the GitHub report linked above, it mentions some workarounds). Unfortunately, symmetry with shells is really risky in CalculiX as it may easily lead to overconstraint, artificial stress concentrations and non-convergence of nonlinear analyses.
Were subsequent modes symmetric or asymmetric initially ? Now you enforced their symmetry in that plane so further modes may differ.
You can also try reducing the buckling accuracy parameter in the step settings, otherwise CalculiX sometimes even skips initial eigenvalues.
And thus apply moments directly, making it easier to get the critical moment results. That approach includes asymmetric supports to model actual simply-supported conditions (with one roller support).
I avoided applying a load to the RIGID BODY because I wanted to reduce the difficulty in understanding the program’s operation for slabs. I think I was right.
I did as you wrote. Applying a moment to a reference point, which is a support, and coupling the edges using RIGID BODY does not produce the correct result regardless of the load of 1 Nmm or 1 kNm. For both cases, I retain the value of 0.9 and 1.0.
I found this description:
"… In CalculiX, a concentrated moment applied to the RIGID BODY reference point:
does not generate the correct stress state in the slab element,
buckling analysis uses ONLY the geometric stiffness matrix, i.e., the initial stresses from the static analysis.
Result:
The solver “sees” the moment as a kinematic imposition on a rigid body, but does not “see” it as an actual load causing compression/tension of the slab. Buckling is calculated using “empty” stresses → incorrect values and buckling modes.
In plate elements (S4, S8), the moment at a point ≠ the moment distributed along the edge, RIGID BODY transfers motions, does not distribute forces and moments according to plate theory, and CalculiX does not generate the correct σₓₓ / σᵧᵧ field.
In practice, the plate “rotates,” but the critical stress required for buckling does not develop…"
In summary:
In my opinion, it is impossible to achieve more precise symmetry in a simple way. My method only approximated one buckling mode because the central cross-section is too stiff. The entire cross-section cannot move in the Y direction (U2). This is not true for free support. A slight flexure occurs.