Shell model preparing

Hello, I am learning how to use PrePoMax with shells. I have a lifting device (modeled in SolidWorks with beams and solids), which I tried to convert with mid-surface in SolidWorks.

However, after finishing all the mid-surfaces and expanding the faces, I noted that some lines were present in the shell, due to how the command works in SolidWorks (for I beam, I select the upper bigger surface and one of the small faces, so the middle line is offset.

Is there any way to fix this? With the current setup I cannot create a compound part in PrePromax.

I am attaching the solid, shell and PMX file with the shell.

Also, how does the feature “Convert Solid to Shell” works in PrePoMax? I tried it, but it seems to transform all the faces to shells.

If someone has any other tips to make shells from solids. I have looked some topics, but it is not clear for example how to do it in FreeCAD. However, I have seen people complaining about how hard to make it work.

Compounding may fail with shells due to small misalignments or no sufficient partitions:

Orthogonal shell mesh model - #6 by FEAnalyst - like here in your case:

It’s usually better to merge stuff in CAD software before export in such cases. I would try the Fuzzy boolean union tool from the Defeaturing add-on workbench in FreeCAD followed by Part → Convert to Solid.

That’s the idea of this tool, it’s not a midsurface extraction. It only removes the volume from solid parts.

Check this page: https://wiki.freecad.org/FEM_Geometry_Preparation_and_Meshing#Choice_of_the_type_of_geometry

Thank you. I will check it.

I am still trying to figure out a good workflow to work with shells in Prepomax. After FEA help, I was able to generate surfaces from solids (or midsurfaces) and export it to step (this workflow is somewhat clear now - I still could not “compound” it in FreeCAD once BooleanFragments-Union does not work for this example).

However, the preprocessing is still a challenge for me. For the attached problem, I have closed the open edges as Matej shell video on YouTube, but I still get 2 compound parts when I try to “Compound” it, and the main one does not work (it has a ! problem) which I could not solve.

The ideia is to make the circles on the top beams as “thicken shell mesh” and apply a rigid body constraint, with the rigid body simulating the lifting point constraint. The load will be applied in the floor beams.

I have opted by shells due to the thin walls of the profiles, with solid type geometry the number of elements would be huge.

Could someone help me with this?

By the way, I have not offset the faces for midsurfaces yet to buy time, to first figure out the workflow first.

Cesto3.zip (309.9 KB)

it seems compound have problem at beam to beam or column intersections, required extra line or edge for partitions. This can be eliminated by modeling and provide offset distance at edge beams end to webs connected. Later using search contact pairs and tie constraint is assigned, this approach can be more accurate since rigid zone intersection being eliminate in modeling also.

Compounding surface parts is tricky - you need perfect alignments and proper partitions: Orthogonal shell mesh model

Especially see this: Contact Generations issue Shell_Solid - #16 by Matej

For example, you may need to split this khaki face here:

It’s usually easier to do the whole thing in CAD software. You could try the Fuzzy boolean union followed by Part → Convert to Solid approach in FreeCAD as mentioned above.

But even if you can’t merge some parts, tie constraints are always an option. However, they can be problematic for shell edges: Tie constraint on the edges of 2D elements - Analysis issues - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX). (then you could try e.g. tied contact).

Also, keep in mind that the Thicken Shell Mesh tool operates on whole parts, so you would need to import the regions where you want to apply it separately. But you only need the solid segments for rigid body constraint if you plan to include Nlgeom or use ccx 2.23.

it seems shell offset distance is not mandatory since CalculiX feature of tie constraint have option position tolerances and adjust. This mean beam and column parts can intersect without any issue by the solver, just provide enough tolerance i.e greater than half of thickness webs or flanges connected. Also, master and slave definition need to set properly since tie constraint is sensitive compared to tied contact type.

or

Tie constraints should account for the shell thickness and offset, but increasing position tolerance often helps anyway. Swapping master/slave may help too: However, the CalculiX forum thread linked above shows that edge-to-edge connections are really tricky and may require tied contact instead of tie constraints.

Thank you, FEA and synt. I have found that spliting the faces in FreeCAD (with boolean operations) prevent it to create a Fuzzy Union in FreeCad itself (I always get a Null Shape error when doing this kind of spliting). The beam-to-beam interaction is ok in FreeCAD, but if fails in Prepomax, which I could not find out why (I tried to split the faces in FreeCAD, but still could not “Coumpund” in Prepomax.

Anyway, I will try to work with constraints and contacts to see if I can have success.

Thanks again.

shown not really problems when i tested using S4 and S8R element, no warning in analysis logs also. Some stress spots exist at outer face of intersections but overal results look right.

It might be also a matter of the ccx version, for instance. Let’s revive that CalculiX forum thread then.

probably, i miss the threads and did not yet to test in previous version and later being fixed.

regarding to this, i replied the problem of edge-to-edge shell element using tie constraint for all shell element type in CalculiX forums use updating solver versions.

Thanks, I’ll have a look at it and reply on the CalculiX forum to avoid going too off-topic here. It seems that quite a few nasty bug have been fixed in ccx 2.23. I must admit that I’ve been avoiding it due to the limitation with rigid body constraints that we discuss in another thread here. I know it has some reasonable workarounds in most cases, though.

1 Like

Hello, I had some spare time and worked in the model again. Yes, I had forgotten some geometries, which now is fine.

After working in the geometry, I was able to make it compound and work in Prepomax. To fast check, I did two simplifications (I have not offset the faces do midsurface yet, I created the shell using the outer faces of the beams), but in the Shell Section I did not offset (I applied the thickness of 4.76mm in the whole geometry). Also, I Fixed one column in all directions and the other three in U2. The force is in U2 (500kg) distributed in the bottom beams.

The Mises stress looks ok (similar to Solidworks).

But displacements are too big.

Note: frequency analysis show that everything is connected. I also checked units from query, it is accordingly.

I probably messed something up. Maybe I need to offset the Shell Sections accordingly, or the BCs in the edges (I tried fixed the upper beam only to check, and the misdisplacements is still there).

Help is appreciated. Thanks.

Cesto_Analisys.pmx (8.7 MB)

Is it steel ? Then the Young’s modulus should be 210 GPa = 210 000 MPa.

1 Like

FEA, you are right, I thought I had changed MPa to GPa. Now the results make sense.

Thank you again.