Calculix vs Nastran big difference in results for shells

Cálculix in an image. :joy:

1 Like

Love the movie! :slight_smile:

Pano,

The bottom line is that the mesh is of very poor quality and the results are wrong, no matter what solver you use.
Surely you are not still insinuating that the Nastran results are acceptable, when clearly you are getting unsymmetrical displacements from a a symmetric model & BCs ?

I propose that if you really want to compare benchmarks, you first ensure you compare with documented case studies and that mesh convergence is done…

3 Likes

indeed, user expected to get identical result but actually it’s a different implementation and cause of large discrepancy. Maybe some default adjustment of linear and quadratic shell element need to be done internally by the solver. Linear element type S4 & S3 is expanded to C3D8I & C3D6 with 4 layers trough thickness, and quadratic S8/S8R & S6 to be C3D20/C3D20R & C3D15 with 2 layers as minimum for accuracy.

Im not comparing who is less bad, Im comparing 1st order element mesh between Calculix and Nastran. Calculix gives garbage results with 1st order mesh, but 2nd order mesh gives good results. Nastran gave good results with the same 1st order mesh. Thats all…What this shows is that extra knowledge is required when using Calculix…

This is very true…Commercial FEA have the bugs worked out that you can use a bad “ugly” mesh and still give good results…in fact with Patran/Nastran I see it all the time in the industry…bad mesh and good results…what I learned from this is that for sure 2nd order elements and a fine mesh is required for structures…thats all…

Good point…I like Calculix…and PrePoMax…they are good tools…I think Calculix is a great multiphysics solver…but you have to know what you’re doing with it…It doesnt have the huge code base that Ansys or Femap has…with commercial tools you can use 1st order elements and coarse meshes and still get good results…not so with Calculix…extra care must be exercised…

100% agreed with this…Extra care must be taken with Calculix because it doesnt have all the checks that commerical softwares have…If one knows what they are doing, then they can get good results with Calculix as well…

I think that in Calculix 1st order solid elements should be disabled for structural analysis…typically in FEA solid elements are only useful when they are 2nd order…CFD uses 1st order elements, but CFD option is disabled in Calculix…This is seen alot of opensource softwares…like Elmer…they are using 1st order solid elements for structures and this always gives garbage results…They do this mostly because they dont have shell elements…which is the source of the problem…I wander when CFD option will be enabled in Calculix and when it will have proper shell and beam elements?

It’s always good to have a choice and it all depends on a case. For some analyses, especially dynamic, linear elements are sufficient. Contact may not even work properly with second-order elements in some cases and this applies also to commercial software. Linear hex elements can be very useful (in fact, the default element type in Abaqus is linear hex with reduced integration). Linear tetras not so much but they may serve as filler elements in large models.

CalculiX has some CFD capabilities but there’s better software for that. Especially OpenFOAM which can be even coupled with CalculiX. Regarding true shell and beam elements, we only have one at the moment. It would require quite a lot of work to implement more types but it’s a question for the CalculiX forum or GitHub repository. You could even ask Guido himself, he’s a nice guy. But, from what I know, he doesn’t have such plans at the moment. However, he’s preparing a small team to help with CalculiX development and it might actually be one of their main goals. After all, everyone is aware of the current major drawbacks of CalculiX. Still, I would say that you can’t find a better free and open-source structural mechanics solver as versatile and user-friendly as CalculiX. I use Abaqus on a daily basis and I’m really glad there’s such a powerful free equivalent.

1 Like

Yes, for explicit analysis…1st order elements are used there, and some other analysis types you mentioned…Kudos to you for knowing this…but vast majority of engineers and virtually everybody else has no clue about this…they just start using the software with the “default” 1st order element…and then they get garbage results…this was what I wanted to illustrate…in the very least, there should be a small warning that if you use 1st order solid element for static structural analysis you’re going to get garbage result…If a friendly warning like this was present, then this would prompt the user to do a little more “thinking” and less “pushing buttons”

Actually, PrePoMax takes care of this and the default setting is 2nd order so you have to explicitly change it if you want 1st order. Other preprocessors typically use the same approach and it’s good. First-order tetras would be terrible defaults and developers know that. With other types of elements, it’s not that obvious.

Apart from the element order, reduced integration can be very important. For example, you may get absurd results with full-integration beam elements in CalculiX if plasticity is used.

in case of simple linear elastic and small deformation, element type S4 still can give acceptable results in bending. Not the case of S3 element, it’s poor in performance and seems locking occurs.

1 Like

each side of a contact surface has a normal, it should point inward toward the other contact surface…sometimes the contact might not work if the normals are reversed. For this problem the main thing is to use 2nd order elements…some people say that in Calculix contact might not work propertly with 2nd order elements…I dont know about that, you might experiment around with the model and see how normals and element order affect things…

The confusing thing about calculix is that one tends to forget that S3 is turned into a solid element like a Tet3…this is the worst structural element you can use for static analysis since it becomes a CST …or a constant strain triangle…which are notoriously bad for stress analysis…but supposedly, Calculix has reduced integration…and that tends to mitigate shear locking behaviour

You are right, 2nd order is default…my goal was to show that 1st order elements are not any good…even though in commercial codes like Nastran or Ansys 1st order elements are adequate, they are not in Calculix…thats all…

I’m quite disappointed if this is all you wanted as your goal. As @ANYS said you are:

Nastran base code is open source now, Nasa released it to the public…so yeah, its OK to use Nastran, its not like you’re going against opensource or maybe you didnt know that?

probably, this is specific for thin parts only. Changes the thickness to four times greater given displacement in acceptable results. However, not for the stress related output.

interesting to know the performance of linear wedge or prism element in Abaqus, Nastran or Ansys in case of thin parts as below example.

In Abaqus documentation, it’s advised to avoid those elements for normal usage since they are too stiff and inaccurate like 1st order tetras:

Similarly, the linear version of the wedge element C3D6 should generally be used only when necessary to complete a mesh, and, even then, the element should be far from any areas where accurate results are needed. This element provides accurate results only with very fine meshing.