Buckling of composite panels

¿Is it possible to set up the load at 1 and the shift point at 10.000 or is it just a silly test?

I’m not yet open the input files provided, only following every posting replied. Have question, why not to use a composite keyword with orientation when the model has multiplayer. Using single solid element model trough thickness of expanded shell seems not good approach and may lead to some problem and discrepancy.

shift has the purpose of finding eigenvalues around a specific value, dividing the loads by a factor is supposed only to change the magnitude of the eigenvalues by the same factor. More details in this document, is the implementation available (potentially improved with the years) in Abaqus: https://www.researchgate.net/publication/24290905_A_Shifted_Block_Lanczos_Algorithm_for_Solving_Sparse_Symmetric_Generalized_Eigenproblems

If the problem is ill conditioned or singular multiplying by a factor will not improve this condition.

I can’t reproduce your results even with the original linux file supplied in Dhondt’s site… :thinking: :thinking: :thinking:

@JuanP74
The only way I was able to obtain a constant result with the original data set no matter when, where window or linux, 32 bit or 64 bit float and how many times i run the data set , was to compile the ccx without the define -DUSE_MT and use the Spooles solver all other combinations i tested gave random results from time to time.

Currently I’m wondering a little if the offset in the shell section data card could play a role. The offset is a factor which multiplied with the thickness gives the exact location. I count only 0 and 0.5 as offset factor but at least 3 different thickness of shells 39.6 , 77.7 and 89.9 mm so in case the data set have overlapping shells that could make a difference.

Offset is significant in the buckling of shells and beams. In the Nastran solver, it is advised not to use offset in shells since it can lead to errors in the stiffness matrix computation and therefore the linear buckling assumptions are no longer valid.

In this post there is a good explanation for why the use of offsets in Nastran linear buckling analysis is problematic. The latest versions have new parameters that can handle offsets in the shells and beams, but I am not sure if CalculiX has this as well. Maybe it is a source of error in the analysis results (along with all other inconsistencies we are discussing here).

By this simple example I would like to demonstrate that the combination buckling with shell section will need a service check before use.

I defined a simple squared tube 100 x 100 x 1000mm with a thickness of 10mm, fixed it at corner nodes in one end and preloaded it at the corner nodes in the other end.

Now I prepared the data sets with shell section and a single layer with a thickness of 10mm and the other similar data set also with shell section but with a double layer with a thickness of 5mm each.

With 2 physical exact identical subject I should expect to have theoretical similarity result, but it seem this combination needs a service check somewhere in CCX,

Please correct me in case my assumptions are incorrect and please do successive runs to ensure you don’t have random results in case you run the data sets.

Single layer vs. Double layer

Bending → Deflection seems to be identical
Frequency → Effective modal masses seems to vary
Buckling → Factor vary, probably due to different modal mass


Data set can be found here

Linear buckling analysis can not be fully trusted as decision. To my understanding it’s only applicable for long and slender members with global buckling, also in elastic ranges of material. it may lead to large discrepancy for complex member e.g short and thin due to local buckling occurs.

Even the stiffness can be reduced base on compression stress to gain more accurate results, still many code regulation did not consistent to give safety factor from eigenbuckling analysis. It may vary from 2.5 to 10 times. So it’s better to conduct nonlinear buckling analysis since CalculiX is capable also.

Regarding to offset being used, this can lead to some discrepancy since it will add rotational movement and bending moment transfer due to eccentricity. May this cause a model to be more stiff and give buckling factor higher.

It seems the model categories as short to moderate in slenderness ratio, yielding of materials and/or local buckling can play a role depending on width or depth to thickness ratio.

Maybe someone need to increase the mesh division along width and depth of member for better accuracy, at least four in quadratic element and eight in linear element type . Verify with code regulation, and perform nonlinear buckling analysis also interesting to conduct.

From my point of view this problem contains so many elements that can be the source of the error (without considering the possible interactions between them) that there is currently no way to address it.

-Different solutions depending on the solver and operating system.
-Poor kinematic coupling on the edge of a Shell element.
-Reference value not validated.
-Inconsistency of the constants of some materials.
-Complex and compact geometry.
-Elements within the structure that are dispensable or with imprecise properties.
-Impossibility to visualize the orientation of the elements and their properties.

Do the free body modes of vibration coincide with ABAQUS?
Do the constrained body vibration modes match ABAQUS?
These two steps would rule out several sources of error.

It is my opinion that the kinematic coupling is not working and added to a lack of model stiffness is generating multiple local buckling modes that prevent seeing the global buckling mode.

I seen only use one element trough the thickness, so it may problem causes . Another reference use layered solid element and shown good agreement with frequency testing results.

HI Xyont,

Interesting. Is that blade geometry available somewhere?

Regarding the model under consideration, I have another info.
Looking at the large list of *orientations cards there is one thing that can be observed.

The first vector is the same for all the elements and none of the Orientations is rotated (3,0). That means all the main contribution of stiffness E1 is addressed into the same direction (something very close to the Z axis, longitudinal direction of the blade). There is no Stiffness distribution of Glass or Carbon into other angles where it would be more necessary (let’s say (0/±90/±45) like in your reference.

E1,n1
-0.026954 0 0.999637

By other hand , If one is interested in the buckling analysis, I would remove all the layers that do not provide Stiffness to the element. Gelcoat for example or WebDUmmyMat. Those most probably will distort the Buckling load and will generate local and spurious modes.

I’ve done a simple comparison regarding CalculiX buckling capabilities simply regarding differences in element types, solvers settings, and even your layered example. The geometry is a cylinder subjected to torsion and the results are compared to test data (NACA TN Number 1344) and theoretical values from Roark’s book, which can be seen in the next images.

I use the following input data:

image

For the element type analysis, I run the default settings for 5 eigenvalues and PastiX solver, so I get the following results:

image

For the solver settings, I compare Pastix, Pardiso, and Spooles for 5 eigenvalues, 1 eigenvalue, and 1 eigenvalue with increased accuracy:

For the shell layering, I use two, four, and eight layers with Pardiso solver and S8R element type:

image

The results show that linear elements (mainly S4R and S3) show a high discrepancy in the results. The solver used (Pardiso, PastiX, or Spooles) does not show any difference in the eigenvalue extraction, probably because the ARPACK module is doing the same hard work in all of them. Moreover, if one requests only 1 eigenvalue, the solvers fail to find the lower one and probably the first one it finds is the one it outputs (in this case, the 3rd harmonic). However, if you increase the accuracy sufficiently, it finds the lowest eigenvalue with little to no difference in the time spent on calculation. Last of all, the multilayer composite show very good agreement with the single-layer counterpart and the reference values.

I do think it is just a simple validation, and more scenarios are relevant to analyze each parameter’s contribution to the eigenvalue extraction. If you think in some scenarios like this, I would gladly improve this comparison. This way, we can better understand the software and its limitations.

1 Like

I seen from output deformed shapes, there’s inflections point shown. So a bending stress occurs locally. Linear quad shell element with reduced integration (S4R) being expanded to linear solid hexahedral element (C3D8R) in which only one integration at center. Without increasing number of element trough thickness, it’s insufficient and will not captures bending. This is consistent with model analysis results, shown too soften.

In case of using linear triangular shell element were expanded to linear wedge solid element, this element are too stiff due to shear locking. In contrast, a linear quad shell element (S4) still shown acceptable results since it’s expanding to linear hexahedral with incompatible mode (C3D8I) with some treatment for these lacking condition.

Further study the performance can be verify by using solid element explicitly in CalculiX, the model of linear element is improved by number of element trough thickness.

This may be appropriate for the case of linear buckling analysis with isotropic material only. Probably not in composite multi layered material and/or nonlinear buckling analysis due to local bending and plasticity. Using reduced quadratic shell element with composite and at least four layer i s recommended.

@lucas_bueno
First I need to explain that I’m retired, so my engagement inside here is more just for fun, someone could jokingly claim “to do something while waiting to die” :joy:

40 years ago I was for a short period employed in the wind turbine sector and back then it was a common issue with surface cracks on the wind turbine blades, so when I recognized the blade section in this thread I got curiously.

When using the input card “Shell Section Composite”, the nodes of elements aren’t directly connected to each other but as described in the CCX-manual “a different method has been coded to treat composites”, so personal I believe, understanding this “different method” is most important in order trying to understand the limitations. Maybe someone in here have knowledge about where to find documentation for this “different method”.

I also believe you have some interest in buckling of drive shaft so from my former working life I have these pictures of a buckled drive shaft from a Polish Power Plant where a 2 Giga Watt motor with direct start intermediated and reconnected in opposite phase on a 1000rpm running boiler fan. When buckling occur, it will start in an appropriate weak spot and develop in the weakest direction which not always is predictable since material data are statistical based, but that doesn’t justify a lack of calculation.


Really interesting, it’s not clearly shown in documentation. Only notify about expanding independently and doubled integration point. When this is done internally by CalculiX, i’m only guess it using equal constraint for connecting of coincident nodes.

For better understanding, only possible with digest and trace the module code dependency. Hopes the author or someone else with their expertise in Fortran can show and explains.

1 Like

It is indeed a nice explanation for the observed results. Thank you.

Why the expected performance should be different if the shell is already expanded into solids?

I plan to verify further into the buckling of composites and orthotopic materials in a new opportunity, but I am verifying the static response first to build confidence in the CalculiX implementation.

The mind needs to continue growing, and investigating this is such a nice way to keep it up. Very nice example you show there, such a big drive totally distorted by buckling. I understand that it is not an easy phenomenon to track due to the statistical nature of imperfections and manufacturing, but it amazes me how the loss of stability can lead to uncontrolled failure so quickly. I really like to improve my understanding of this field.

Totally agreed.

Unfortunately, linear shell element (S3, S4 & S4R) not yet capable to use composite functions. Duplicated element with offset can be use, even it will generate knot and over stiffening the model. Another reasons is in expanding result element of each layer independently. How it is connection really work inside the code and limitation maybe?

Good point. I tried analyzing 4 layers of linear tetrahedron C3D4, but the astonishing amount of elements (2 million) used completely my 16Gb RAM and turned my computer into a potato. Even though, I investigated as close as I could within the limitations:

image

The 2nd order reached interesting results even with a single element per thickness, but 3 layers of linear elements could not reach close enough to the expected results. Maybe using a Hex mesh or more layers (with a powerful enough machine) could lead to better results.

Hi, i miss to ask the main point from beginning. It seems the shell model is clamped at both edge support, an out of plane rotation being restrained. Did it was assigned properly by transform functions to apply at local coordinate system not in global?