I’ve been fully inspired by a post of thscrader (see https://forum.freecad.org/viewtopic.php?t=92659) and it has been a good opportunity to have fun with and test + dig into the PrePoMax interface for the first time.
In preamble:
my intent was not to test the mesh interface: meshing was done outside PrePoMax (exported first in Gmsh format in which the .inp is created), but most of the sets were created with (nsets, some elsets, local coordinates systems, rigid body and son on)
as well as boundary conditions, material, rigid bodies, inputs solver settings, etc
from the original design, I’ve taken the liberty to make some changes; the main modifications are: the diagonals overlap now the gussets (it allows to play with the offset features), the upper gussets in contact with the cylinder stiffener has been modified (same width as the stiffener); ring stiffeners have also been added (it’s easy to remove them and to rerun the simulation )
I do not know if the CAD surfaces are the middle ones => i decided it’s not the case and I played with upper/lower surfaces depending on the part,
last but not least, I’m not expert in Calculix/Abaqus solver; for sure some inputs/methods can be improved.
Encountered difficulties:
the pressure not only depends on the shell normal, but also on the way of selecting the elements (i know now )
i wanted to extract the axial force applied on the diagonals, but not sure I’m doing it correctly (i tried to define local coordinates systems + sections creation => I’m able to select a surface edge, but not an element edge when it does not coincide with a surface one
furthermore, not sure that *TRANSFORM and *SECTION PRINT are working as expected (Fx is supposed to be the axial force, but ivaues seem too low)
Of course, the results highlight singularities, so additional studies & modifications must be performed (personnaly I would modify the ribs dimensions, especially the ribside width to avoid the stress concentration, however it’s not my field, just my feeling)
First feelings:
Quite intuitive, Gui (immediately) easy to use
Amazing capabilities in pre and post processing
Features not found (maybe missing it) but useful:
not found export figures from the Gui?
Restart (not tested with ccx)
*transform card is missing
*Mass element might be also useful
restart capability not implemented yet (I’ve not tested so far using ccx)
missing operations on elset/nsets (intersection / difference)
Warning:
modal analysis (“generalized” disp) => a dynamic (harmonic) response calculation should do to get the right values (following defined selected direction/axis, acceleration inputs & damping ratios)
effective masses: be carefull on some units (values provided by Calculix); I do not dig into ccx to figure out what the units are, but it cannot be tons in the current model.
Very nice project to go deep in FEA and the software.
I have found an invalid element (distorted quad with five consecutive nodes almost aligned) and nodes with normal in oposite directions. Nodes are listed in the monitor if you run model check analisys. I inverted some shells and problem is solved.
-Loads due to ciment powder are not hidrostatic loads. You can evaluate them according to
EN 1991-4 (2006) (English): Eurocode 1: Actions on structures - Part 4: Silos and tanks
-Wall friction is important.
-You can find also additional guidance on EN 1993-4-1:2007/A1:2017. Design of steel
structures - Part 4-1: Silos.
Thanks for the comments; the last figure is too small even if i guess i figure out what you mean (ribs side width can vary to be max at the bottom of the cylinders i.e. where the load is more important)
Ok for the element (i always check the Jacobian, and here i missed at least one), the easiest is to split it into 2 triangles hopping they’re not in a high stress area.
Regarding the normals, it comes from the gusset-diagonals connection and the offsets definition; in any way, if you zoom to it, you can see that the L shape has not been correctly defined (because of the offsets) => it would be necessary to rework it using rigid body elements (since the 2 parts won’t be directly coincident).
I would have also replaced the hydrostatic pressure by a Mass element (+ rigid body elements) located at the cement centre of gravity.
Weld strength and buckling calculations would be another topic to deal with …
Due to the huge frontal area, cfd simulation are also necessary (in the scope of PrePoMax which can import the Openfoam results ) including the vortex shedding topic … a parametric study would be relevant.
It has been a good introduction to PrePoMax for me
Thanks again for sharing Paul. It’s a really nice work. I love this kind of models where one can push and find the software/hardware limits.
Right.
The shell plate extends below the transition area and becomes the skirt providing a continuous and clean load path. Cone is welded from the inside and reinforced from outside with ribs as needed. Areas inside a silo where product can accumulate must be avoided. Especially when storing foodstuffs that can rot or materials that can end up compacting and forming vaults, such as cement. Some other options are included in standards.
Mesh issues are minor and can be easaly fixed. You are right. Regardig the opsite normals the main issue can be when interpolating results to the nodes. I think oposite normals might end up adding values in oposite directions. I inverted the shells on the gussets and warning disapears. There was no need to separate the trusses
Before going to wind , seismic Ioads,etc…I would introduce all the product loads and would check at points away from hot spots that stresses agree with expected values given in the codes (Hoop and longuitudinal stress in shell and cone).
Regarding the Freecad post, I feel like the post escalated very fast ¿isn’t it?. .
The initial motivation seems was to evaluate how to install some Antennas (additional loads) .
Someone suggested hanging the antennas on the Walkways in between the silos. I think that’s an excellent idea. Maybe even better on the handrails for easier maintenance. You don’t touch the silos and loads can be introduced in the model through discrete points.
Restart is indeed not yet supported in PrePoMax but it’s quite specifically defined (especially in CalculiX where files have to be renamed) and even in the case of Abaqus we prefer to define it with keywords.
*TRANSFORM is already available as local coordinate systems (they have to be selected for BCs/loads to work).
Mass elements are already available as mass sections.
Boolean operations on sets (like in Abaqus) would indeed be nice.
In that FreeCAD forum thread that you linked, I shared some insights from my recent analysis of a silo in Abaqus. For wind load, I used the analytical expression field feature - a way to define the spatial variation of a pressure with an equation using coordinates - it would be nice to have this in PrePoMax at some point too. However, CFD with OpenFOAM in FreeCAD CfdOF followed by pressure import to PrePoMax is a great way to account for more complex phenomena.
i’m wondering if it’s possible to “freeze” a post-processing configuration, i mean if i want to post-process results on only the diagonals + gussets, it would be usefull to reccord the configuration that can be called-back by just a one click